目前,业界盛行“摩尔定律终结”的说法。那么,“摩尔定律终结”对 CPU到底意味着什么?大禹智芯首 席科学家、IEEE国际顶会HPCA名人堂成员蒋晓维博士在2022年8月25日于南京举办的首届全国博士后青年科技人才扬子江论坛上做了《数据中心的网络与存储硬件加速》的报告分享,探讨了数据中心在后摩尔定律下的网络性能提升与加速方案等话题,以下为演讲报告观点整理:
摩尔定律趋近极限,网络性能提升“捉襟见肘”
回顾过去CPU的发展历程可以看到,主流CPU的晶体管数量印证了摩尔定律的发展。在CPU发展的初期,芯片频率的增长以及 CPU 的微架构技术创新主导了CPU单线程性能的逐代提升。每18个月翻一番的晶体管在过去30年当中一直被CPU的各种技术所运用,从而提供了CPU持续不断的性能增长。
然而,CPU单位面积上可集成的元器件数量总会达到极限,更高级的工艺制程,则意味着物理和投入产出比的双重挑战。2002 年之后,CPU芯片频率逐代提升的趋势基本截止;2004年之后,单核心很难再有每代大幅度的提升,对CPU性能的评判指标也逐渐从单线程性能向CPU的核数量转变;到2012年后,多核的增长趋势也逐渐放缓;而从2016年开始,摩尔定律终结的各种声音此起彼落,摩尔定律趋近极限,而大型互联网公司应用场景却日趋纷繁复杂,CPU显得不堪重负,专用计算芯片接二连三出现,专用计算芯片与CPU的数据交互越发频繁,数据中心的网络I/O带宽也因此需要不断提高。
事实上,数据中心的网络I/O带宽也确实在近十年里经历着大幅度的增长。目前,大型互联网公司数据中心的内部网络流量已经达到了10kTb/s 的量级;服务器的主机网络接入口速率也在不断增长,从早年的1Gbps到2012年的10Gbps,再到2016年的25Gbps或40Gbps,至目前主流大型互联网公司内部网络接口达100Gbps,并向200Gbps迈进。同时,伴随数据中心网络的增长,数据中心网络自身转发的延时也在不断下降,从原来的毫秒级到如今的微秒级,未来甚至向近纳秒级迈进,这对CPU处理网络数据的时效性提出更高要求。
走向可编程的硬件卸载,DPU呼之欲出
在后摩尔时代,数据中心I/O带宽不断增长,同时多样的应用也对数据中心网络延迟提出越来越严苛的要求,因此需要一套标准进行衡量以保证数据中心的网络质量。
蒋晓维博士认为,衡量数据中心的网络质量有四个维度:高性能、稳定性、可编程性和安全性。随后,他分别阐述了四个维度的衡量标准及可行的技术实现方式。在高性能方面,由于数据中心主机侧所面临的网络处理压力不断增长,延迟方面则是由毫秒级逐渐走向微秒级别,单个报文留给主机软件代码来处理的时间越来越短,这导致主机网络的软件栈从内核态走向内核旁路再走向硬件卸载;稳定性方面,即包含对网络故障的处理、转发的稳定性及本身软硬件的稳定;可编程性方面,指的是在各种硬件加速之后,因硬件芯片无法像软件一样进行全面编程,而数据中心主机网络所需要支持的业务场景多样且多变,核心技术就在于要周全考虑如何让硬件能够很好地去支撑业务所需要的不断迭代;而安全性方面,全面实现东西向流量防护是极为有效的手段。
以CPU为中心的传统云计算体系架构在某些情况下,可能60%以上的CPU 资源都会完全分给网络层面的处理,使得应用层能分配的CPU 资源反而捉襟见肘。为了保证数据中心的网络质量,使网络延迟进一步下降,用来释放CPU资源的更硬核的硬件卸载出现。蒋晓维博士以国内外大型云计算公司为例,阐述了各公司在不同时期采用的不同卸载方式。最后,蒋晓维博士指出,软件定义的、可编程的硬件卸载是真正意义上的卸载,指的是客户基于自身软件业务而实现相对应的硬件卸载方案。DPU不仅能够实现数据面的卸载,同时能够运行控制面程序,对转发面和控制面均有极强的可编程能力,能够实现定制化功能。从这个意义上,蒋晓维博士认为,DPU在实际的部署中已经成为与CPU并列的同等节点。
DPU,从公有云业务而来,向更广泛场景拓展
在谈及一颗完备的DPU芯片定义时,蒋晓维博士介绍,DPU首先包含一个服务器级CPU子系统,能为数据中心的基础软件来提供卸载;同时,DPU也提供与网络存储相关的硬件加速引擎及一些计算业务调度功能,并全面实现网络、存储和计算解耦。目前,DPU的功能已逐渐稳定,其关键功能包括网络、存储、安全、高性能 IO 以及inline 加速等方面。
DPU 的设计实际上是一种典型软硬一体化的设计思路。首先,DPU上承载的各种卸载以及硬件加速,本身就是由现有的数据中心中的底层软件而来,而硬件部分的加速也需要经过软硬一体化的设计来进行拆分;其次,涉及DPU业务的公司除了生产硬件产品外,也重兵投入来打造用以适配上层的软件系统以及底层DPU硬件的一体化的SDK。
作为最 早涉足DPU领域技术钻研和产品打磨的业界先行者,蒋晓维博士对DPU的发展阶段进行了回顾和展望。DPU的发展有三个阶段:第 一个阶段即云厂商对DPU支持功能的探索,并逐渐完成在大型互联网公司的成功部署。第 二个阶段即随着DPU在大型互联网公司的成功部署,DPU的功能逐渐趋向稳定,外部DPU公司根据自身理解对DPU产品进行定制化设计和探索。第三阶段,DPU将全面通过硬件可编程能力来适配数据中心底层软件的迭代,DPU将不再局限于大型互联网公司,而将更多由外部的DPU芯片公司来承担,所承载的用户也会向更多并不具备芯片设计能力的企业级用户扩展,同时将从数据中心走向其他更多应用场景,如边缘计算、5G、网络安全等。
关于蒋晓维博士
目前担任大禹智芯首 席科学家,为IEEE国际顶会HPCA名人堂成员(工业界*入选的华人),曾任Intel首颗超低功耗处理器Quark D1000的首 席架构师及Edison SoC芯片架构师;阿里 x86 CPU研发负责人、智能网卡团队负责人及阿里云倚天710 Arm CPU的IO子系统首 席架构师;Google智能网卡团队技术负责人。