32

软硬件融合 · 2021年12月27日

软硬件融合:从DPU到超异构计算

编者按

本文是《软硬件融合》幻灯片的文字版,为了方便内容传播,简化并改写成了文字版。大家可以在文章的末尾找到完整版幻灯片的下载地址。

本文相比《软硬件融合》图书,内容更加精炼。并且,随着对“软硬件融合”更加深入的理解,这些深入的理解也更新在了文章中。

DPU是当前一个非常热门的话题。副标题是“从DPU到超异构计算”,本文详细分析了对DPU认识的四个层级:

  • Level 1:DPU是CPU的任务卸载/加速。
  • Level 2:IPU是基础设施,支撑上层应用。
  • Level 3:DPU/IPU是计算的核心,CPU和GPU成为扩展。
  • Level 4:DPU/IPU的本质是超异构计算,需要在极致灵活性的基础上,提供极致的性能。

软硬件融合:从DPU到超异构计算

e8d6d3a93884f58859bcf9a3e0205b79.png

91730eafccd15d12a6eddb4be2689e56.png

1  (背景)云计算复杂计算场景挑战

云计算是由IaaS、PaaS以及SaaS组成的分层服务体系,计算、存储和网络是IaaS层核心的三类服务。

云计算的特点

  • 超大的规模、大量的数据、复杂的网络以及无处不在的安全问题;
  • 虚拟化、多租户;
  • 复杂系统解构以及可扩展性;
  • 繁重的工作负载以及针对特定场景的服务;
  • 可迁移性,和对设备和服务接口一致性的要求。

底层硬件架构挑战:

  • 如何兼顾性能和灵活性;
  • 从业务异构加速、工作任务卸载,到业务和管理分离;
  • 如何实现接口的标准化和弹性,以及硬件加速的虚拟化和个性化;
  • 如何实现硬件加速的弹性和支持软件的长期迭代;
  • 如何硬件高可用;

最大挑战:一个平台应对上述所有挑战。

2  (理论)软硬件融合综述

2.1 软硬件融合的背景

5c418c9c5dda2cc818bec834e1c28d45.png

软件应用层出不穷,并且快速迭代。两年一个新的软件热点,并且,已有热点技术仍在快速演进和迭代。

而硬件越来越复杂,芯片工艺走向5nm以下,甚至即将进入亚纳米,3D堆叠封装,4D的Chiplet互联。这都使得芯片规模越来越大。芯片如此复杂,越来越难以驾驭;同时,芯片的一次性成本及研发风险都变得越来越高。

CPU性能瓶颈,但服务器的工作负载数量和单个负载的算力消耗仍在增加,“摩尔定律”要想持续,必须需要更多更复杂的硬件加速。而ASIC/DSA的灵活性不够,难以满足应用的多样和变化,也使得芯片越来越难以大规模落地。

软硬件之间的鸿沟越拉越大:CPU软件性能低下,定制ASIC难以大规模复制;软件迭代越来越快,硬件迭代却越来越慢。芯片高投入高风险,严重制约着软件的发展。

2.2 软件和硬件的定义

89a2932206a7dbb3920f77a23c114ca0.png
指令是软件和硬件的媒介,指令的复杂度(也即单位计算的密度)决定了系统的软硬件解耦程度。

按照指令的复杂度划分,典型的处理器平台大致分为CPU、协处理器、GPU、FPGA、DSA、ASIC等。从左往右,各个处理器平台的单位指令越来越复杂,性能越来越好,而灵活性却越来越低。

我们把任务在CPU运行,定义为软件运行;把任务在协处理器、GPU、FPGA、DSA或ASIC运行,则定义为硬件加速运行。

2.3 软硬件融合

6297a5b20cfd4c6bf1e6edb7745ff70e.png
把一个Workload映射到处理引擎,有如下特点:

  • 均衡:根据任务特点,映射到CPU、GPU、DSA、ASIC等最合适的处理引擎。
  • 动态:任务最合适的处理引擎,并非一成不变,而是随着系统发展迭代有可能Offload/Onload。

复杂的系统,由分层分块的各个组件有机组成。软硬件融合,不改变系统层次结构和组件交互关系,但打破软硬件的界限,通过系统级的协同,达成整体最优。

传统分层很清晰,下层硬件上层软件;软硬件融合的分层分块,每个任务模块都是不同程度软硬件解耦基础上的软硬件协同。整个系统呈现出:软件中有硬件,硬件中有软件,软硬件融合成一体。

f2774e98e4ddd3bb86add6abc3c4436a.png

《软硬件融合》图书的副标题是“超大规模云计算架构创新之路”,来源是:①复杂分层的系统、②CPU性能瓶颈、③超大规模以及④特定场景服务,这些原因共同使得:软硬件融合当前主要是系统不断卸载。

“无规模,不卸载”。哪些任务适合卸载?

  • 性能敏感,占据较多CPU资源;
  • 广泛部署,运行于众多服务器。

宏观的看,分层的系统,越上层越灵活软件成分越多,越下层越固定硬件成分越多,根据这个特点,软硬件融合卸载可以形成如下趋势:

  • 被动的趋势。庞大的规模以及特定场景服务,使得云计算底层Workload逐渐稳定并且逐步Offload到硬件。
  • 主动的趋势。软硬件融合架构,使得“硬件”更加灵活,功能也更加强大,使得更多的层次功能向“硬件”加速转移。

2.4 软硬件融合的应用领域

7bdea15b37db097ac95bec5b812582bd.png

云计算的规模庞大,算力要求最高,系统也最复杂。所以,云计算最先遇到各种挑战,最需要软硬件融合。

未来,随着其他领域的算力需求和系统复杂度也质的提升,必然也需要软硬件融合相关技术。软硬件融合,面向未来复杂计算场景,超异构混合计算,算力需求再上1-2个数量级。

软硬件融合相关技术,从云计算抽象出来,反过来指引包括云计算在内的各种复杂计算场景的芯片及系统设计。

3 (技术)软硬件融合技术基础

1b9880672bf7bd5a7f180c92125cf5e7.png

软硬件融合相关的技术包括

  • 软硬件接口。聚焦软件和硬件高效的数据交互;
  • 高性能网络。例如RDMA和拥塞控制。
  • 算法加速和任务卸载。算法硬件实现以及任务卸载框架。
  • 虚拟化的硬件加速。虚拟化处理的高性能实现。
  • 异构计算加速平台。独立/集成的GPU/FPGA/DSA异构加速平台。

4 (场景)DPU/IPU,云计算软硬件融合的核心承载

4.1 CPU卸载视角:DPU是集成加速平台

169dec3c111e9db14317adc6ef6fa2a7.png

需要有独立的加速平台,不断的把工作任务从CPU软件卸载到硬件加速。因此,DPU/IPU主要用于底层通用任务加速,而GPU/FPGA/DSA用于应用层的业务加速。

NVIDIA 2020年5月发布DPU,10月份大张旗鼓宣传;作者2020年8月份提出四阶段论;Intel 2021年6月份发布IPU。

4.2 DPU的额外价值:业务管理分离,释放AI强劲动力

76d3d109957ac014aefe8886eeb0f7cf.png

业务和管理分离,有非常多的额外好处,如:

  • CPU资源完全交付;
  • 传统客户方便上云;
  • 主机侧独立安全域;
  • 物理机+虚拟机的优势合并;
  • 统一公有云和私有云运维。

011619b5e918537d3030794b1758ede8.png

CPU性能瓶颈,IO带宽持续增大,IO成为系统瓶颈。DPU/IPU增强了IO的功能,并且逐渐吞噬CPU和GPU的通用工作任务。

4.3 以数据为中心

04b7b86b059f278e4786e90c5915690c.png

大数据、AI等场景呈现“高数据量低计算量”的特点,并且“云原生”等趋势使得云计算复杂系统解构,进一步增强了这一特点。

以计算为中心,指令控制流驱动计算;未来,以数据为中心,数据流驱动计算。

4.4 DPU/IPU典型案例

典型案例:AWS Nitro系统 (偏通用可编程)vs NVIDIA Bluefield DPU (偏定制极致性能)

1e624d12456e0e8186553dcf14faac5b.png

AWS Nitro系统包括:VPC加速卡、EBS加速卡、本地存储加速卡、Nitro控制器、安全芯片以及Lite Hypervisor。

20f5ef391cff3e3e11ae7a58affa78d6.png

NVIDIA DPU-2的优势:硬件网络加速/RDMA网卡/单芯片SOC;劣势:存储软件卸载/非标接口/难以差异化/网络无法数据面编程。

5 (本质)基于软硬件融合的超异构计算

5.1 DPU成为计算的核心

954d4d6da850f91ef1898328af19dff1.png

CPU、GPU和DPU,既相互协作,又相互竞争。互联网法则:得入口者得天下。DPU/IPU成为数据中心算力和服务的核心。

ca1c6c2d11801ca2e058b11fe31cf5c0.png

传统的观点,大家认为DPU是CPU的任务卸载。而从软硬件融合观点,则认为:DPU是包含嵌入式CPU/GPU在内的超异构计算平台,而独立CPU/GPU是DPU的扩展。

5.2 超异构和软硬件融合

当前,大家对DPU的认识还没有形成定论,从DPU到超异构计算,整个认识是逐级增强的:

  • Level 1:DPU是CPU的任务卸载/加速。
  • Level 2:IPU是基础设施,支撑上层应用。
  • Level 3:DPU/IPU是计算的核心,CPU和GPU成为扩展。
  • Level 4:DPU/IPU的本质是超异构计算,需要在极致灵活性的基础上,提供极致的性能。

要实现超异构计算,为什么需要软硬件融合架构(Converged Architecture of Software and Hardware,CASH)?软硬件融合能够做到:

  • 性能。相比GPGPU,性能再提升100+倍;相比DSA,性能再提升10+倍。
  • 灵活性。接近于CPU的灵活性、通用可编程性。
  • 资源效率。跟DSA接近的资源效率,单位晶体管消耗下最极致的性能。
  • 设计规模。软硬件融合,驾驭10+倍更大规模的设计。
  • 架构。基于软硬件融合架构的超异构计算:CPU + GPU + DSA + ASIC + etc.。
  • 生态。开放的平台及生态,开放、标准的编程模型和访问接口,融合主流开源软件。

5.3 第四代算力革命:基于软硬件融合的超异构计算

9accc0d8f7519557d08285e157efb7e8.png

(正文完)


作者:Chaobowx
来源:https://mp.weixin.qq.com/s/10FZlhnjjjKdGKmSXrDH0A
微信公众号:
 title=

相关文章推荐

更多软硬件技术干货请关注软硬件融合专栏。
推荐阅读
关注数
2803
内容数
104
软硬件融合
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息