XXX, 您好 登录 注册 登出
首页 / 新闻中心 / 新闻详情

关于“算力网络”底层技术的思考

发布日期:2022-06-10

算力,是数字经济时代的核心生产力

算力网络基础设施的普及是智能时代标志之一。随着5G、IoT、人工智能、工业互联网等技术的逐步成熟,“新基建”成为我们国家下一步基础设施建设的大方向。国家发改委在2020年4月对新基建的含义进行了阐述,特别是对新基建范畴的“信息基础设施”中明确提出了“算力基础设施”的概念。同期,以中国联通、中国移动等电信运营商为代表的企业,先后开始进行“算力网络”的规划与实施,一方面是响应国家在算力基础设施建设的战略规划,另一方面也是谋求运营商转型发展的问题。随着“东数西算”在2022年2月正式启动,进一步加速了全国一体化算力网络国家枢纽节点的建设步伐。在《2021-2022全球计算力指数评估报告》显示,算力指数每提高一个点,数字经济和GDP将分别增长千分之3.3和千分之1.8。算力已经成为了数字经济时代核心生产力。

从算力网络的系统架构角度看,目前的算力网络架构大体可划分成“三横一纵”的架构,其中“三横”代表了三个层次:服务提供层,网络控制层,算力资源层;“一纵”代表了服务与资源编排,贯穿“三横”。但是,目前的算力网络的系统架构规划,大多侧重如何运营,如何打通服务提供方和服务消费者,如何整合现有的网络和云基础设施,将“网云融合”改造升级为“算网一体”等方面的内容。但是对于支撑算力网络需要底层核心技术、芯片架构等讨论不多。作者认为高效的算力资源层就是算力网络这座大厦的根基。根基的牢靠程度将直接影响算力网络愿景是否能实现,特别是在当前低能耗的要求下,算力网络的建设有低碳的约束,间接制约了通过直接扩大规模来换取算力增长的技术路线。软件生态可以逐步完善,运营模式可以调整,各个抽象层次的接口标准可以逐步规范。然而,核心问题是,现有的底层处理芯片,数据传输等物理层的产品和技术是否可以支撑“算力网络”这个构想?算力网络的有效实施的最大挑战除了资源整合、服务创新,可能还有待新核心技术的突破!(本文主要是从算力芯片视角,所涉及的内容可能不能覆盖算力网络底层核心技术的全貌。)

算力网络的定义

中国移动定义的算力网络是“以算为中心、网为根基,网、云、数、智、安、边、端、链等深度融合、提供一体化服务的新型信息基础设施”。中国联通的定义是“指在计算能力不断泛在化发展的基础上,通过网络手段将计算、 存储等基础资源在云-边-端之间进行有效调配的方式,以此提升业务服务质量和用户的服务体验”。前者定义中涉及到从“网”到“链”的多个技术的融合,后者的定义重点是将算力网络作为基础资源在云-边-端的调配方式。实施算力网络的共同目标都是“提升业务服务质量,优化用户体验”,较为具象化的愿景阐述是“使算力成为像水、电一样,可“一点接入,即取即用”的社会级服务”。

以上的定义更多从运营商角度来审视算力网络,这里我们给出另外一种从技术角度的定义:算力网络是与应用需求密切匹配的网络化计算基础设施,使得算力可应需集结,并与网络一样泛在,最终实现“网络即计算”(NaaC,Network as a Computer)。要实现这一目标,当然需要算力计量、数据安全、操作平台、应用商店等等运营措施的配套完善和应用生态的不断丰富,但根基在于底层核心技术的突破——这也是本文关注的焦点。正所谓万丈高楼平地起,基础是关键!好比在20年前功能机的时代,即便人们对移动互联网的需求足够强烈,也不可能构建出目前琳琅满目的应用生态和服务,因为基础设施支撑能力不足;直到智能手机的出现,宽带互联网和3G、4G移动网络的普及,才真正推动了移动互联网的业态成为现实。智能手机、无线宽带网络、云计算这些创新产品和技术才是移动互联网的基础,而随之发展起来的应用生态,线上线下融合,则成为在基础之上发展起来的新应用、新服务和全新的商业模式。

算力与电力的对比

算力的定义

首先面临的一个问题是如何定义算力(Computing Power)?现在不少文献提到算力都会引用诺贝尔经济学奖得主Nordhaus教授给的算力的定义,即“单位时间系统输出的信息量(the amount of information delivered per second by the machine)”,这里的“信息量”是按照香农信息论中的依据状态概率(P)的定义方法,即-log2(P)比特。进一步,Nordhaus教授给出了算力的一个度量方法,称之为单位时间的标准操作数(SOPS,Standardized operations per second),并给出一个计算公式:

SOPS=0.05{[6+log2(memory)+word length]/[(7*addtime+mult time)/8]},其中,0.05是一个缩放因子,目的是为了把最终计算的值调整到与某类计算机的MIPS指标基本一致的的数值,“memory”指系统中存储器的比特数,“word length”是机器字长,“add time”和“mult time”是做一次加法和乘法的时间周期数。

显然,这一算力的定义方法放在“算力网络”的背景下非常不直观,对于度量一台现代计算机的算力缺乏现实的意义,我们也不可能用这个公式来计算“算力网络”的算力指标。但这个定义的核心是信息量,之所以这样的定义的原因是作者希望找一个指标适用于一个大时间跨度(从1900年到2000年)、不同时代的计算设备(从机械计算机,电子管计算器,再到微处理器计算机)所提供的“算力”的对比,除了诉诸于信息论的方法,似乎也没有更好的定义方法了。

在工程实践中,如果一个指标无法度量,则无从优化。所以一个更具现实意义的“算力”应该满足几个条件:

1)容易统计和计算,且相对直观;

2)与用户感知基本一致;

3)能客观反映系统的规模大小;

4)避免长尾偏差。

考虑到算力网络上承载的主要是各种服务,而服务的载体主要是虚拟机、容器或裸金属服务器,因此,在算力网络的场景下,我们把算力定义为整个系统可承载的最大虚拟机/容器/裸金属服务器的数量。直观理解,升级了CPU、网络等设备来提升算力,直接的目的就是为了提高所支持的虚拟机、容器的数量;用户需要的服务,部署的业务,通常也是以虚拟机和容器作为载体;虚拟机、容器的规模也可以客观反映系统容量的大小。

但是这一定以方法存在的局限性是,虚拟机、容器、裸金属服务器的数量可能是动态变化的,比如一台休眠的虚拟机和活跃的虚拟机消耗的物理资源显然是不同的,具体取决于业务部署的需求,这就会导致同即便一个算力网络在不同情况下得出不同的算力值。因此,我们将算力的定义修正为如下表述:系统可承载的最大虚拟机/容器/裸金属服务器的数量。即

其中,a,b,c为三个权重常数,大于等于0,且a+b+c归一化为1,t为采样时间。由此可见,这一算力的度量方式是基于实际系统采样得到的后验值,通过取最大值,消除由于利用率等问题带来的偏差。如果采用了更先进的网络、DPU等技术带来的“扩容”效应,也会直接反映在更大数量的虚拟机、容器、裸金属服务器上。至于三个权重常数如何设定,可以交给系统的运营人员根据上层业务需求来调整。例如,如果虚拟机场景多,可以适当放大权重a,如果裸金属需求多,可以放大权重c。

算力与电力的类比

电力和算力都被视为跨时代的基础设施级的驱动力。电力的广泛采用是19世纪中期发生的第二次工业革命的标志,人类正式进入了“电气时代”。电的“泛在”,只需要铺设好输送网络——电网,即可完成。电力所带来的生产力跃升来源于各种各样的终端电气设备的发明和大规模应用。简言之,电气化=电网+电气设备。电力时代可以认为是电网与电器一体化的产物。

 

如果把“算力”类比为“电力”,电的泛在可以通过铺设电网来实现,那么“算力”的泛在能否通过铺设铺设信息网络(包括无线通信网)来实现呢?达到能联网的地方就能方便、应需地使用算力?答案似乎不是很显然。目前宽带、电信网络也基本上算是无所不在,但“算力网络”愿景显然尚未成为现实,“算力”尚未达到“一点接入”的方便程度,也没有实现“即取即用”的使用弹性,这是为何呢?我们认为其中一个原因还是整合算力资源面临巨大的挑战,整合算力资源的的难度要比整合电力资源的难度要高,池化算力要比“池化”电力更具挑战!

电力的源端是发电站,无论装机容量的大小,发电的方式差异,生产的电力本质是无差别的,可以认为发电资源的“池化”只需要简单的电网并网即可实现。相比而言,算力的源端更加的“异构”,既包括云端的数据中心、超算中心、智算中心等,也包括边缘侧通常规模较小,分布更广泛的的边缘侧数据中心、计算中心、基站等,池化算力的源端资源要比电站并网更加挑战。此外,电的传输对延迟并没有特殊要求(但是对传输的损耗要求较高,所以需要特高压输电技术),而算力的调用通常都对延迟有严格的要求,这也是决定服务质量(QoS)的关键因素之一。

此外,不同于电力这种客观存在的物质,算力不是一种客观存在的物质,而是一种“能力”,是分析、存储、处理数据的能力,“蕴含”在计算设备和软件中。电力的基本操作是开通/断开,如何使用是由终端设备来决定的,并不需要告知源端(发电站)。但是算力的的基本操作除了开通、断开以外,还要定义 “算什么”,甚至还要定义“怎么算”,所以,基本操作要复杂得多。相比电力的“终端”(电器)完全定义了功能, 算力的终端通常并不具备足够的“算力”(否则也就不需要构建算力网了),终端大多数情况只负责“提问”,即发送计算请求,而源端通过大规模计算来负责给出“解答”。从某种意义上说,算力网络在使用方式上与云计算还比较相似,云计算也许可以被视为算力网络雏形。

算力网络的底层基础设施有待新技术突破

直观的理解算力网络包含两个关键部分:一是“算力”,二是“网络”。然而,“算力网络”的效力不应该是二者的简单的加和,而应该是“倍乘”,通过网络来对算力进行价值放大,承载更多的应用。缺乏算力的网络只能作为数据的传输网,而缺乏网络的算力的使用价值也将大大降低。根据著名的梅特卡夫定律,一个网络的价值等于该网络内的节点数的平方。对于算力网络,宏观来看“节点”包括的各种算力中心(如数据中心、超算中心、智算中心、边缘计算节点等等)和服务的终端应用(如PC、智能手机等具有强交互性的设备,也包括摄像头、智能电表等弱交互性设备)。因特网的发展已经显示出了梅特卡夫定律的巨大威力,将人类带入了信息时代。如果算力网络的梅特卡夫定律能继续发挥作用,必将会把人类带入一个新的时代——也许就是智能时代。

然而,新酒还需新瓶来装。现有的计算、网络、存储基础设施,可能还不能完全支撑算力网络的愿景成为现实。研究表明从1940年到2010年间的60年中,我们看到计算能耗效率(单位为每千瓦时的计算量,Computaions per kWh)随时间呈现稳定的指数增长,大约每1.6年这个效率指标就会加倍。本质上得益于摩尔定律和登纳德缩放定律在此期间基本的有效性。计算效率的持续性指数级提升使得通过线性的计算节点的规模和能耗水平的增长,即可获得指数级的算力。籍此,在这个世纪的前十年我们得以将一台PC的算力装在了手机中,直接赋能了移动互联网的快速发展。

相比于算力增速而言,数据量的增速也毫不逊色,甚至已经形成赶超之势。从2005年开始至今,数据量大约每两年翻一番,IDC预测到2025年将达到175泽字节(ZettaBytes)。然而,摩尔定律从2015年开始放缓,单位能耗下的算力增速已经逐渐被数据量增速拉开差距。现有的网络化算力可以部分解决利用率不均衡的问题,但是并不能本质上解决算力增速放缓的局面。

应用层算力与基础层算力

为了便于分析算力相关的核心基础技术,我们把算力划分为两大类:应用层算力(Application-Domain Computing Power)和基础层算力(Infrastructure-Domain Computing Power)。其中应用层算力,顾名思义,指用于执行业务层应用的算力,例如视频解析,数据查询,路径规划,图像渲染等,大体对应到全系统分层架构SaaS和PaaS层。基础层算力指用来做资源池化,数据转发,压缩存储,加密解密,文件系统,网络功能虚拟化等基础层负载的算力,大体对应到IaaS层。预计应用算力的提升主要来自于专用服务器的采用,虽然局部来看,应用层算力一方面得益于更高性能CPU、GPU的采用,另一方面得益于计算从通用走向专用的过程中各种FPGA和ASIC的XPU的引入。虽然引入了大量专用计算单元,但宏观来看,得益于CPU的核心地位,仍然可以维持算力的通用性。

基础层算力主要与网络、存储和安全相关,预计基础算力的提升将主要得益于DPU、5G移动边缘计算技术、超高速光电混合网络技术,NVMe oF等技术的采用。网络和存储都比较依赖各种协议的处理,不同的物理层实现。基础层算力不仅需要帮助提升IO的带宽,降低延迟,还要维持访问方式的一致性、匹配应用的需求。这些复杂的需求非常依赖于更灵活的网络可编程性,更高效的硬件虚拟化技术来支持。例如,对于窄带宽但低延迟的需求,与带宽要求高但延迟不敏感的应用,显然应该适配不同的网络资源;对于突发性高并发,小数据量与稳定性低并发但大数据量的业务也需要网络和IO配给不同的资源。按照前文“算力网络”的定义中“匹配应用需求”的角度来看,软件定义网络、软件定义存储、软件定义加速器等一系列“软件定义”技术路线还有很大提升空间。预计算力网络的基础层将会有如下几方面的技术突破。

技术突破一:通过DSA维继应用算力的指数级提升

简言之,如何增强应用算力。短期来看,专用体系结构的广泛采用有望维持2~3个数量级的算力提升的潜力。这也是领域专用架构(DSA)技术路线得到重视的原因。DSA技术的采用,必然导致算力源端的异构化,如何在现有的体系结构下,即发挥出DSA的能效优势,又对上屏蔽其差异性,是一个不小的挑战。现在提出的一些非-冯诺伊曼架构,例如存内计算,网内计算、类脑计算等,都在尝试用非传统计算架构来提升计算效能。从技术成熟度角度看,通用GPU(GPGPU),面向深度学习模型的训练和推理的通用AI芯片,最有可能在短期内发挥算力增强的作用。报告预测,装备GPGPU和AI芯片的AI服务器预计到2025年将达到算力总支出的25%。

技术突破二:通过DPU释放应用层算力的同时扩容基础算力的管道

基础算力层的核心功能之一是构建算力流通的“管道”,在传统系统架构中,网络与计算是分离,计算的主体是服务器,网络的主体是网卡、路由器和交换机。随着DPU技术的逐渐成熟,我们看到大量原本在服务器上运行的基础层负载可以被卸载到与服务器CPU直连的DPU上,保持网络特性的功能不再由服务器端的CPU来维护。DPU的存在,将本地物理资源虚拟化,也将远层访问本地化。DPU开始承载基础算力的角色,并且是在不改变现有路由器和交换机的前提下。DPU的出现也使得网内计算(In-Network Computing)的成熟度得到进一步提升。

技术突破三:通过数据面代理赋能无服务器(Serverless)服务和云原生应用

随着云原生微服务架构的普及,服务网格(Service Mesh)作为微服务间通信的专用基础设施层,它在微服务架构中实现可靠、快速和安全的服务间调用,同时提供了出色的可观测性、流量控制能力和安全保障。但是,服务网格也存在一定的局限性,主要体现在其增加了网络的复杂性。服务网格能力的发挥依赖于数据面代理,为了保持应用与服务的解耦,采用非侵入性的数据面代理边车(Side-Car)机制,任意两个微服务间的通信都增加了两跳七层应用代理,而基于CPU软件实现的七层应用代理数据处理周期较长,微服务间通信的时延显著增加,限制了云原生应用的大规模部署。针对当前云原生服务网格存在的这一问题,可以通过DPU实现服务网格数据面代理,进而解决了CPU和内存的消耗和微服务间访问延迟的问题。

结语

算力网络是实现“算力”基础设施化的一个重要载体,是一整套从技术到运营的系统性技术综合的成果。如果成功落地,“新瓶装新酒”,必将会有力促进我国数字经济的跨越式发展。目前我们在构建算力网络上有较好的基础,比如基建化程度、网络覆盖率、运营水平、业务整体容量等,光纤到户比率远高于国际平均水平,但是在技术层面也还面临一些关键挑战,特别是核心算力芯片的自主率过低,核心光电器件主要依赖进口。在“东算西数”、构建全国一体化算力基础设施等相关政策的引导下,可以看到巨大的“盘活存量、优化增量”的机遇,早日让“算力”成为普惠大众的生产力。