编者按
《异构融合计算技术白皮书》在9月15日的世界计算大会上,由工信部电子五所的杨院长正式发布。
站在计算机体系结构的历史发展角度,此白皮书的意义重大:
白皮书率先提出“异构融合计算”概念。这对计算机体系结构的创新发展,具有非常重大的意义。
白皮书系统性地梳理异构融合相关技术,起到技术引领和广泛宣传的作用。
异构融合计算需要行业形成共识,最终形成统一的行业生态,需要更多的行业协同。白皮书进行了广泛代表的、正式的、权威的全行业呼吁。
或许,未来5-10年回头看,这次白皮书的发布,会是计算机体系结构和算力芯片行业的一个重要的里程碑事件。
1、《异构融合计算技术白皮书》重磅发布
计算架构从同构走到异构,异构计算已经成为主流。但AI大模型、自动驾驶、元宇宙等超高算力需求的领域仍在快速发展,算力仍需持续快速提升;与此同时,算力成本需要数量级下降。技术发展不会停止:随着异构的计算系统越来越多,计算架构需要进一步从异构计算走向异构融合计算。
当前,是异构融合计算的萌芽阶段:
2019年,Intel提出了超异构的概念,只强调了“多”异构,并没有强调异构的“融合”,并且这些年也没有具体的产品出来。
NVIDIA虽然没有提超异构或异构融合的概念,但NVIDIA的许多产品也在奔着这个方向在发展。例如,在数据中心领域,NVIDIA已经有了GPU+CPU融合芯片,GPU+DPU融合芯片也已经在研发当中,未来GPU+CPU+DPU进一步融合是必然趋势。再例如,在汽车领域,NVIDIA THOR集成了数据中心架构的CPU、GPU和DPU,能够实现和数据中心计算环境的一致性兼容,可以看作是一款具有一定“异构融合计算”特征的大算力芯片。
时间来到2023年9月,在湖南长沙举办的第五届世界计算大会上,工业和信息化部电子第五研究所软件与系统研究院院长杨晓明,正式发布了《异构融合计算技术白皮书》。在工信部电子五所的精心组织下,国内诸多计算领域的高校和企业的众多专家,历经半年多努力,全面而系统地梳理了异构融合计算的方方面面,在行业中凝聚了广泛共识,最终形成了这本白皮书。
《异构融合计算白皮书》的发布,必将在行业里形成广泛影响力,使得更多的行业公司、科研院所以及广大开发者,能够关注并支持异构融合计算的发展。
或许,未来5-10年回头看,这次白皮书的发布,会是计算机体系结构和算力芯片行业的一个重要的里程碑事件。
2、《异构融合计算技术白皮书》内容介绍
(本章节内容均来自《异构融合计算白皮书》2023版)
2.1 参编单位和参编人员
《异构融合计算技术白皮书》编写者
参编单位:
浪潮电子信息产业股份有限公司、上海矩向科技有限公司、中国电信研究院、清华大学、中国科学院软件研究所、国防科技大学、复旦大学、中国长城研究院、中国电子技术标准化研究院、曙光信息产业(北京)有限公司、同方计算机有限公司、上海熠知电子科技有限公司、阿里云技术有限公司、中科院计算所、紫光集团前沿技术研究院
参编人员:
杨晓明、陈平、刘建、熊婧、李冬、黄朝波、廉建芳、颜秉珩、林显成、董刚、王洲、蔡彦、陈小文 、卢晶雨、任翔、刘娜、张政、李宁、崔士伟、徐扬、李璇、刘玉海、尹航、李阳、买强、张磊、张震宁、赵立新、左明敏、周鹏、戴少鹏、杨蔚才、李亚军、伍海龙、陈硕、张阳、刘占民、王佑站、闫沛浩、张淑艳、杨攀飞
2.2 目录
2.3 编者序
近年来,自动驾驶、元宇宙、人工智能等应用不断创新发展,数据规模、算法复杂度以及算力需求爆发式增长。各类加速处理器已成为算力基础设施的重要组件,基于CPU+xPU的异构计算系统逐渐成为各算力场景的主流架构。然而,随着异构计算系统的种类和数量越来越多,xPU性能与灵活性难以兼顾、各xPU间计算孤岛问题难以协同、调试和维护成本增高等问题愈发凸显 ,亟需从异构融合计算方向加强理论研究和实践探索。
以人工智能发展为例,Nature Electronics期刊在 2022年 4月的一篇文章显示:从 2018年开始,随着AI大模型应用的涌现,算力需求平均每2个月翻一倍;摩根士丹利估计2022年谷歌的 3.3万亿次搜索,平均成本约为每个 0.2美分 John Hennessy表示 基于大模型搜索的成本是标准关键词搜索的10倍。需求的变化和成本的约束,再加上NoC(Network on Chip)和 SiP(System in Package)等新芯片技术的赋能 必将推动算力基础架构的变革。计算架构已逐渐从目前各自为政、孤岛式的异构计算,走向异构融合计算。同时,以系统设计为中心,按照应用需求来设计、定义和规划计算架构,推动多层级技术的融合已成为当前的最佳可行方案。
狭义的异构融合计算,指的是多种不同类型、不同架构处理器组成的计算架构。广义的异构融合计算,是指通过将处理器、芯片、硬件设备、操作系统、编程框架、编程语言、网络通信协议、数据中心等不同层次、不同类型的计算技术进行整合优化,以实现多种异构计算资源的高效利用。本白皮书旨在探讨异构融合计算技术的内在机制、应用场景和发展趋势,通过概述计算领域相关概念,回顾计算架构发展历程,分析了异构计算技术的发展现状及面临的主要问题,从硬件层面(芯片级、设备级)、软件层面(操作系统、编程框架)、系统层面分别提出了异构融合计算技术的探索方案及演进方向,引出了异构融合计算技术的发 展趋势,并介绍了异构融合计算领域相关的实践案例。同时,指出了异构融合计算发展面临的挑战:一是,处理器架构的限制,可扩展性和灵活性难以满足,计算孤岛问题凸显;二是,当前的编程框架、编程语言、及其他编译 /调试工具,不足以支撑高效的异构代码编写、优化和管理;三是,系统集成和互操作性技术要求高,难以构建统一的系统视图以支持跨平台的开发和部署。
在此,对参与本白皮书编制的各位专家表示衷心的感谢。我们相信,白皮书将为读者提供一个新的视角和思考方式,希望读者能够结合实际应用场景,对异构融合计算相关技术进行深入探索和研究。白皮书内容,不可避免会存在诸多不足,恳请各界专家批评指正。
2.4 “异构融合计算”定义
Intel于2019年提出“超异构计算”的概念,强调了超异构计算涉及的三个方面:系统架构、工艺和封装,以及统一的异构计算软件。但在最核心的系统架构层次, Intel仅仅只强调了“多”,并没有进一步对超异构计算进行阐述,以及设计实现的进一步细节说明。
“异构融合计算”是一个全新的概念,目前行业还没有形成统一的定义。从概念上讲,“异构融合计算”属于异构计算的范畴,可以定义为异构计算的一种高阶形态。
本白皮书认为,狭义的“异构融合计算”,是一种新的计算架构和方法,通过融合CPU和多种不同类型、不同架构的加速处理器,以实现更大规模、更高性能、更加高效的计算。而 广义的“异构融合计算”,则通过不同层次、不同类型的技术整合,来实现异构融合计算资源的高效利用。
广义的异构融合计算,主要包含以下几方面内容:
超异构:系统中异构处理器的数量为三个或三个以上。“一个称为同构,两个称为异构,三个或三个以上称为超异构”。超异构是异构融合计算的前提。
硬件融合 :强调不同处理器之间的深度协同(指单个工作任务由两个或两个以上处理器协作处理)和深度融合(指某个具体工作任务可以跨 CPU、 GPU和 DSA等不同类型处理器运行,也可以跨同类型中的不同架构处理器运行)。各处理器之间可 以通过高速总线或高性能网络进行通信和数据传输,通过更高层次的系统划分和任务调度实现协同计算。
软件融合:面向异构(硬件)计算环境,将操作系统、应用软件、编程模型、编程语言、通信协议、数据等技术资源进行融合和优化,提供统一的软件运行环境和编译开发工具,旨在降低异构融合计算系统的复杂度,实现计算任务的跨平台运行。
系统融合:通过合理地任务分配和资源调度,异构融合计算系统可以实现更高的计算性能和更好的计算效率。
传统异构计算,特指CPU+xPU的计算架构。异构融合计算与传统异构计算的差异点在于:传统异构计算仅有一 种加速处理器类型,并且仅关注 CPU和加速处理器的协同;而异构融合计算则具有两种或两种以上的加速处理器类型,并且需要重点关注所有处理器之间的协同和融合,以及硬件与软件之间的融合、系统内部及系统之间的融合问题。
2.5 “异构融合计算”案例:通用超异构处理器
矩向科技定义了一款新的处理器芯片类型:通用超异构处理器(GP-HPU, General Purpose Hyper-heterogeneous Processing Unit)。
通用超异构处理器GP-HPU,通过NOC总线,把众多的计算节点连接成一个芯片系统。从功能视角看,GP-HPU和SOC类似;在架构上GP-HPU和SOC的主要区别在于每个加速处理器需要“图灵完备”,成为一个可独立工作的小系统,可直接和其他小系统进行交互且不需要主CPU的参与。每一个处理器作为一个小规模的类SOC的小系统,再通过分布式架构,可构建规模数量级提升的大系统,也非常有利于芯片系统的平行扩展。
系统任务主要分为三类:
(1)不经常变化的任务,归属基础设施层,由DPU覆盖;
(2)业务应用加速部分,归属到弹性应用加速层,由GPU等业务加速芯片覆盖;
(3)业务应用不可加速部分,以及其他没有加速支持的任务,归属到业务应用层,由CPU覆盖。从功能视角,GP-HPU,可以看作是CPU、GPU和DPU功能的集合。
但GP-HPU不是这三个芯片功能的简单集成,通过不同类型处理器的深度合作,才能实现“团队协作,整体最优”,实现性能和灵活性的兼顾。最后,是系统层次。通用能力的构建是大算力芯片成功的关键。如何实现异构融合计算的通用能力,是异构融合计算能否落地的关键。
CPU、GPU和DPU三颗芯片,通常来自于不同的公司,实现三者间的深度协同比较难。在单芯片内部实现异构融合计算,是相对可行的路径。此外,受限于单芯片所能容纳的计算规模上限,目前的单芯片异构融合计算,比较适合边缘等相对轻量的计算场景,不太适合云计算等相对重量的计算场景。
GP-HPU,经过“通用性”能力的强化设计,可以广泛使用在边缘服务器、AI推理服务器、存储服务器、企业云服务器等轻量级场景,还可以使用在智能座舱、MEC接入设备、低速无人车等场景。
3、个人贡献
作为矩向科技的创始人兼CEO,也作为《软硬件融合》图书和公众号的主笔,我深度的参与到白皮书的策划和撰写工作中。
2022年底,跟工信部电子五所杨老师交流关于异构计算的挑战和未来发展趋势,所思所想,同频共振。针对异构算力多样性的挑战,电子五所提出了研究课题“异构计算融合技术发展研究”,最终落地为《异构融合计算技术白皮书》。春节过后,我就开始积极地参与到白皮书的策划和编写工作中。到这次白皮书的定稿发布,前后经历了大半年的时间。白皮书也广泛凝聚共识,得到了国内众多知名高校和企业在技术和案例等方面的大力支持。
个人最主要的贡献是提出“异构融合计算”的概念,并细化和完善其定义和内涵。这一概念得到了与会的各位专家一致赞同。“异构计算融合”是一个现象,一个过程;而“异构融合计算”则是一种创新的理念,也是一种全新的计算架构和计算技术,同时还是落地的解决方案。异构融合计算,通过融合CPU和多种不同类型不同架构的加速处理器,以实现更大规模、更高性能、更加高效的计算。异构融合计算继承自异构计算,并向前继续发展,成为一种新的计算架构。异构融合需要不同层次不同类型的软硬件技术的深度协作,才能最终实现异构融合的广泛落地。
白皮书上述相关内容,欢迎各界专家批评指正。
4、异构融合计算的必然发展趋势
一方面,业务需求驱动。以人工智能为例,随着BERT、GPT等大模型的快速发展,从2018年到2023年,算力需求增长进一步加速,平均每2个月就翻一番。AI算力需求快速增长,算力芯片难以支撑:单GPU芯片逐渐性能极限;必须通过Scale Out的扩大计算集群规模的方式提升算力;随之而来的,AI计算成本越来越难以承受。
另一方面,工艺和封装支撑。工艺进步,单芯片容纳的设计规模越来大;Chiplet封装,使得在单芯片层次,可以构建规模数量级提升的超大系统。
业务需求驱动,以及底层工艺和封装支撑,一定需要系统架构层次的创新。
从同构到异构,从异构(单异构、多异构)到异构融合,系统架构创新,是架构从简单到复杂、继承并不断发展的过程。
5、异构融合计算的广泛应用场景
5.1 复杂计算系统
微观上,复杂计算系统需要实现软件和硬件的解耦。通过虚拟化,实现软硬件解耦,这样,软件就可以无缝地跨平台自由迁移。
微观上,复杂计算系统,需要在一个硬件系统上支持多个软件系统。通过虚拟化,实现计算资源的切分、池化和重组,构建形态各异的各种逻辑计算平台,供VM、容器等软件实体使用。
微观上,硬件计算平台需要支持多种计算资源,并且需要支持这些计算资源的协同和融合。在CPU同构计算时代,通过VT-x/VT-d等技术实现处理器的完全硬件虚拟化非常成熟,但如果增加了各种异构的处理器,并且要考虑这些异构处理器的架构兼容性,以及它们之间的协同和融合,则是非常挑战的事情。
宏观上,复杂计算是①基于一组硬件服务器的、②运行多个宏系统的、③动态的、④交叉混合计算。
总结一下,复杂计算需要:
支持虚拟化、服务化、冷/热迁移,从而实现单设备多系统共存,以及跨设备的多个宏系统的协同/融合。
单个硬件支持多个不同规格系统。
单个硬件计算资源的多样性,要考虑资源的切分、池化和重组,还需要考虑不同资源间的协同和融合。
单个硬件集群支持多个宏系统集群,并且这些宏系统集群交叉混布。
数以万计甚至百万级的计算设备规模,完全动态的、非常频繁的软硬件配置变更。
微观上,不同系统的资源需求千差万别;宏观上,数以百万计的系统,总的资源需求趋向于确定。
硬件需要足够的一致性(尽可能少的型号/规格),在此基础上实现具体系统运行平台的差异性。
云计算几乎是最复杂的计算场景,复杂计算场景从云计算场景提取各种本质的计算特征和挑战,把它融入底层软硬件设计和优化当中,反过来再落地到云计算,以及其他更多的复杂计算场景:
从计算的位置来说,复杂计算包括云计算、边缘计算和自动驾驶等超级终端场景;
从计算位置来说,超算和云计算是相似的,但两者的计算诉求不同:超算更注重性能,云计算更注重成本。目前,两者在不断地侵入对方的“领地”,超算和云计算在不断地融合。
智能计算,跟云计算、超算等不属于同层次的计算。智能计算是业务应用,智能计算可以在云、边、端或超算领域。
5.2 基于异构融合的复杂计算场景
5.2.1 场景一:云计算
目前,对算力的需求越来越高,通过Scale Out扩大集群规模的方式提升性能代价高昂,治标不治本。要想本质地提高性能,还是要回到Scale Up方式。
DPU是目前数据中心的第三颗重要的芯片,通过在服务器设备级实现CPU众多工作任务的卸载和加速,以此来实现整个服务器级别的Scale Up:
从架构角度,CPU、GPU和DPU三芯片方案是多异构计算架构,很难实现不同加速处理器之间的协同计算。
从现实角度,CPU、GPU和DPU三颗芯片,通常来自于不同的公司,实现三者间的高效交互和深度协同比较难。
随着Chiplet的流行和能力增强,通过架构重构和多DIE集成,进一步优化数据交互,并协同不同处理单元的任务分工,实现多个异构资源的高效协作,在单芯片内部实现异构融合计算,是相对可行的路径。
5.2.2 场景二:边缘计算
在不考虑Chiplet多DIE封装的支持下,受限于单DIE单芯片所能容纳的计算规模上限,目前的单芯片异构融合计算,比较适合边缘等相对轻量的计算场景,不太适合云计算等相对重量的计算场景。
传统的服务器以CPU为中心,然后增加高性能网卡、加速处理器和PCIE总线扩展卡等其他组件,成本非常高。并且,受限于多芯片交互,综合性能也会有影响。异构融合处理器,可以实现边缘等轻量计算场景的单芯片解决方案,可以实现最极致的性能的同时,最低的成本。并且在功耗和物理空间方面都有非常大的优势(功耗和物理空间优势,可以实现高密度计算,进一步优化成本,并进一步降低对数据中心基础设施的要求)。
5.2.3 场景三:自动驾驶等超级终端
上图是BOSCH给出的汽车电气架构演进示意图。从模块级的ECU到集中相关功能的域控制器,再到完全集中的车载计算机。
未来的智能汽车,越来越像一台服务器。
汽车越来越像服务器,因此目前汽车技术的发展,本质上是云计算数据中心的各种技术的不断下沉,比如,虚拟化、SOA、软件定义等技术。如上图:在DCU时代,一个DCU支持一个系统;但在CCU时代,通过虚拟化,实现一个芯片支持多个不同类型的系统,实现兼容现有软件的同时,还可以实现更高效的交互。并且,单芯片的综合成本也是最低。
随着AI大模型在自动驾驶算法中逐渐落地,汽车CCU对算力的需求水涨船高。汽车CCU芯片也是异构融合计算非常典型的应用领域。
以NVIDIA THOR为例:THOR设计思路是完全的“终局思维”,相比BOSCH给出的一步步的演进的思路,跨越集中式的车载计算机和云端协同的车载计算机,直接到达云端融合的车载计算机。云端融合的意思是服务可以动态的、自适应的运行在云或端,方便云端的资源动态调节。THOR采用的是跟云端完全一致的计算架构:Grace-next CPU、Ampere-next GPU以及Bluefield DPU,硬件上可以做到云和端的融合。
5.2.4 场景四:超算HPC
基于CPU计算,实现千万亿次(P级超算)超算已经非常困难。从天河1A开始,很多超算逐渐开始采用异构计算架构。而到了百亿亿次(E级超算),异构计算已经是必选项,所有的超算架构均采用异构计算。但是,异构计算也有瓶颈,面向下一代十万亿亿次超算(Z级超算),异构计算已经无法满足要求,大家把目光都投向了异构融合计算。
拭目以待!
5.2.5 场景五:智能计算
智能计算,是业务应用层次的计算。可以承载到云计算、边缘计算、终端计算,或者超算。但考虑到随着大模型的发展,AI算力要求越来越高,有必要针对AI计算,专门构建高效的计算架构和系统。
随着GPU的性能提升放缓,而AI算力需求仍然2个月翻番,所以只能通过扩规模的方式提升整体算力。但受阿姆达尔定律影响,这种方式也会逐渐到底。
并且,传统以CPU为中心的服务器计算架构,存在一些问题:I/O带宽低、路径长;CPU是性能的瓶颈;扩展性差;等等。
要想显著的提升AI计算的性能,需要芯片层次异构融合优化:
Scale Up:最本质的,提升单节点性能。在工艺成本等因素约束下,提升性能只能从系统架构/微架构方面挖潜(异构融合架构)。
Scale Out:扩大集群规模,需要增强集群的内联交互;更高的带宽,更高性能的网络。
通用性:AI算法快速迭代,每家算法差异性巨大。芯片需要足够通用性,适配算法的差异性和快速迭代。
成本优化:GPU性能极限,ChatGPT需要上万张GPU卡,成本高昂。成本降低的手段:通用、集成度、扩展性等。
5.3 综合计算场景
5.3.1 汽车智能网联
清华李克强院士,给出智能网联汽车“中国方案”,其主旨要义是车路云深度协同的一体化。异构融合计算,可以实现云和边缘侧的大算力芯片,还可以实现终端侧的大算力单芯片。同时,需要考虑复杂计算场景的各种要求,从芯片架构层次,原生的支持云、边、端深度协同。
5.3.2 云网边端融合
汽车智能网联是一个具体场景,把场景泛化,还有很多场景,如手机移动终端、元宇宙XR、数字工厂、数字城市、数字生活等,都需要终端和云端、边缘端的深度协同。因此,站在计算的角度,最终云网边端需要深度融合成“一个”超级大系统,来满足几乎“所有”计算需求。
云、网、边、端不同计算的位置,是我们人为划分的,不管在什么位置,它都是一个符合计算机架构的计算设备。因此,我们可以构建一个统一的异构融合计算的架构,来实现云网边端计算和开发软件的一致,来实现计算任务可以随时跨平台运行,来实现云网边端的深度融合。
6 凝聚共识,共谋发展
6.1 构建异构融合开放计算生态
一方面,按照处理器灵活性,从左向右,处理器的类型越多,架构的数量和种类也越多。不同类型、不同领域、不同场景、不同厂家、不同架构的处理器,会导致处理器架构的完全碎片化;另一方面,处理器需要支持数据中心内部的集群计算,还需要支持跨云网边端的融合计算,这对处理器架构一致性提出了很高的要求。两方面的挑战,在异构融合计算时代,构建统一的计算架构变得非常的困难。
需要在行业内广泛凝聚共识,实现统一的系统架构接口,才能实现多样性计算资源的协同,从而实现资源的切分、池化和共享,以及平台的融合。
异构融合计算时代,不存在封闭的计算生态。要想成功,开放标准的架构和生态,是某个具体公司和整个产业成功的必由发展之路。
6.2 抓住技术变革的历史时机
大算力芯片最核心的能力是通用性,而通用计算存在的基础是“二八定律”无处不在:随着系统的扩大,会逐渐沉淀许多共性的计算任务。依据二八定律,对三个阶段进行定性的分析:
在CPU同构计算阶段,100%工作由CPU完成;
在GPU异构阶段,80%工作由GPU完成,CPU只完成剩余的20%的工作;
异构融合计算阶段,80%工作由各类更高效的DSA完成,GPU只完成剩余20%工作的80%,即16%的工作,剩余的4%交给CPU。
CPU是上世纪70年代发明的,国内最早的龙芯CPU是2002年投片成功的,在CPU领域国内至少晚了30年时间。GPGPU是2006年NVIDIA发布的Tesla架构GPU,国内则是近几年才有诸多初创公司开始在此领域发力的,晚了差不多15年时间。
第一代通用计算是CPU同构,成就了Intel的王者地位;第二代通用计算是GPU异构,随着AI大模型的火爆NVIDIA市值超过了10000亿美金,远超Intel、AMD和高通的总和。第一代和第二代通用计算CPU、GPU,我们已经落后,目前国内有众多公司重担在肩,在拼命追赶。
在一个非常成熟的领域,要想追赶先进,非常的困难。但在行业重大技术变革期,就是赶超的绝好时机。
异构融合计算的发展机会,使得在计算机体系结构和算力芯片的架构创新方面,国内首次有了和国际先进水平站在同一个起跑线的机会。历史机遇稍纵即逝,我们需要站在国家战略的高度,快马加鞭,加大投入。
7、白皮书下载
工信部电子五所官方下载:
#白皮书获取方式# 发送“获取《异构融合计算技术白皮书》”至邮箱: saibao2022@163.com
“软硬件融合”公众号下载:
公众号回复“白皮书”下载。