找回密码
 注册
关于网站域名变更的通知
查看: 155|回复: 1
打印 上一主题 下一主题

专⽤数据处理器(DPU)技术⽩⽪书2:DPU特征结构

  [复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-6-14 10:00 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
2.1. DPU是以数据为中心IO密集的专用处理器  ?0 ]) D: ^: z: I. C
从应用特征来看,可以把应用分为“IO密集型”和“计算密集型”两类,如图2-1纵轴所示。IO密集型应用,通常体现为较高的输入和输出带宽,数据直 接来自于IO,数据通常具备流式特征,数据局部性不显著,如果处理性能与带宽匹配,片上缓存的作用就可以弱化。例如处理路由转发、数据加密、压缩等。计算密集型应用,体现为较高的计算密度,通常浮点性能突出,数据来自主存,数据局部性显著,复用性高,主存的大小对于问题求解的性能有直接影 响。例如求解线性代数方程组,大规模神经网络训练、推理等。+ o: Z& z1 R2 Y) v

$ @+ ]  T6 R; T一个处理器芯片是“IO密集”还是“计算密集”只部分决定了芯片的结构特征,并不能完全定义芯片的主体架构。无论是IO密集,还是计算密集,即可以以通用CPU为核心构造主体计算架构,也可以以专用加速器为核心构造主体计算架构。前者可称之为以控制为中心(control-centric)的模式,后者称之为以数据为中心的模式(data-centric)的模式。控制为中心的核心是实现“通用”,数据为中心的核心是通过定制化实现“高性能”。以应用特征和架构特征这两个维度粗略划分处理器芯片类型分布,如图2-1所示。 通用CPU是偏向于控制为中心结构,理论上看就是要“图灵完备”,要支 持完备的指令集,通过编程指令序列来定义计算任务,通过执行指令序列来完成计算任务,因此具备极其灵活的编程支持,可以任意定义计算的逻辑实现 “通用”——这也是CPU最大的优势。同时,为了提高编程的开发效率,降低编译器复杂度,缓存管理和细粒度并行度的开发通常都是由硬件来完成。类似的,还有大量的用于各种嵌入式、移动设备的微控制器mcu,并不强调高带 宽,也是以控制为中心的结构。NP,DSP也是便向于基于通用处理器来做专用化扩展,但是非常注重高通量的性能属性。例如,NP要支持数Tbps的转发带 宽,所以大体可以视为控制为中心、但是IO密集的处理器类型。
% x# O% z: n" D- fGPU是以数据为中心的结构,形式上更倾向于专用加速器。GPU的结构称之为数据并行(data-parallel)结构,优化指令并行度并不是提升性能的重点,通过大规模同构核进行细粒度并行来消化大的数据带宽才是重点。例如,最新的NVIDIA TITAN RTX GPU有4608个CUDA核、576个Tensor核,而且单片GPU通常配置数十GB的超大显存。同时缓存管理多采用软件显示管理,降低硬件复杂度。这类超众核结构是以数据为中心、执行计算密集型任务的代表性架构。
) e/ c( P$ {: O6 C) x6 H8 lDPU也偏向于数据为中心的结构,形式上集成了更多类别的专用加速器,让渡一定的指令灵活性以获得更极致的性能。但是与GPU不同,DPU要应对更多的网络IO,既包括外部以太网,也包括内部虚拟IO,所以DPU所面临的数据并行更多可能是数据包并行,而不是图像中的像素、像块级并行。而且DPU也会配置少数通用核(如ARM,MIPS)来处理一定的控制面的任务,运行轻量级 操作系统来管理DPU上的众多的异构核资源,所以体现了一定“通用”性,但性能优势主要不源于这些通用核,而是大量专用计算核。早期的一些网络处理器采用过类似Tile64的通用众核结构,以增加核的数量来应对多路处理的数据,实现并发处理,但单路延迟性能通常都比较差。因此,DPU更偏向于以数据为中心,执行IO密集任务。
& k' k& c9 f4 D5 z' o* }3 r, C/ eDPU是软件定义的技术路线下的重要产物。在软件定义网络中,将数据面与控制面分离是最核心的思想。DPU被定义为强化了数据面性能的专用处理器,配合控制面的CPU,可以实现性能与通用性的更佳的平衡。) b3 f, A' w" U2 [6 O' h
3 M2 q3 o% E: \- B
2.2. 计算平台从“计算为中心”转向“数据为中心”
% w/ r+ w1 X3 D6 h2.2.1.⼤规模云计算⽹络面对的挑战4 O# X. R) ]; J- p' v5 D
(1)网络拥塞和长尾延迟。数据中心网络最真实的性能指标之一是“尾部延迟”,即流量最慢百分位数所经历的延时水平。数据中心网络拥塞的一个典型原因是Incast流量,而Incast流量在数据中心网络中是不可避免的。现在常见的解决拥塞的方法,如基于优先级的流量控制(PFC),显示拥塞通知 (ECN),数据中心量化拥塞通知(DCQCN)和数据中心TCP连接等,这些方案并没有完全解决拥塞问题,如突发流量导致的拥塞,同时也带来一系列新的挑战,如PFC pause帧风暴等。
. G, b0 t4 M- H, _(2)负载不均衡。在数据中心网络中等价多路径(ECMP)路由是一种典型的流量转发负载均衡方式,它能够保证同一数据流跨网络Fabric转发时根据特定元组信息选择的路径相同,不同数据流选择的路径根据哈希的结果选择不同路径,从而实现不同流量之间的负载均衡和更高的带宽利用率。但是,当数据中心主要流量是“大象”流和“老鼠”流时,ECMP负载均衡的数据转发方式就可能存在问题了。如大数据处理和存储数据同步等工作负载需在数据中心网络中创建大量持续的数据流,这些数据流与对时延相对敏感的短期流共存。多个“大象”流的哈希冲突会导致数据中心网络中某些路径上流量出现不均甚至拥 塞,从而导致拥塞路径上的“老鼠”流受影响出现更长延迟和丢包。
- L5 p; @% W; {(3)故障检测和恢复效率。大规模数据中心通常是通过冗余备份来实现网4 m3 {  U2 O$ }6 ^! ^0 |
络高可靠性,即当某一网络路径出现故障时,通过协议或者网络端口状态自动 将故障路径上的业务流量切换到其它正常路径上。在数据中心这种Spine-Leaf的网络架构下,服务器的网卡如何能够快速检测到故障,进而规避流量通过故障路径,决定了数据中心业务的恢复效率。- M5 S7 e4 {6 I+ A6 g& H( F/ W* g* i
(4)不可靠传输。像RoCEv2这样的网络协议是基于网络无损的假设而设计的。然而在数据中心网络中,丢包是不可避免的。目前大部分解决方案都是通过在网络设备上实现复杂的协议或者遥测能力,来加固网络或者识别数据中心的网络状况,进而避免应用程序吞吐量和性能下降。如果数据包重传发生在传输层,这可能会显著提高性能。不幸的是UDP缺乏重传机制,而TCP又过于复杂,头部拥塞和尾部延迟很难预测。" M  L1 X3 @9 S0 r

: A1 H5 ?5 x7 q  ]8 k3 T( g! a2.2.2.数据为中⼼的系统架构特征
7 F' Z5 l, c0 h2 [7 _- O数据中心是云计算时代最重要的基础设施之一,为云提供强大的计算和存
& g; _4 K# e$ n  ^' C) H/ u储能力。近年来业界对数据中心网络性能以及虚拟化能力的需求日益增长,并 伴随着后摩尔时代的到来,传统的以CPU为中心的计算机体系结构,其计算能力已经无法支撑网络带宽的增长速度,会造成网络拥塞,以单节点能力为上限 的资源分配方式无法满足云资源需求,运维成本和影响也日益增加,主要表现在如下几个方面: 8 b& G2 `! O6 L  }6 q
● 以计算为中心的数据中心,所有数据都需要先被送到CPU。CPU的计算包含了应用的计算,通信的计算和存储的计算等,每一类计算都需要独占CPU资源。CPU已然成为数据中心释放算力的瓶颈。# s% A0 {9 I% B
● 以CPU为中心的计算机体系结构,通过内部系统总线的通信方式,单节点服务器上的总线能力和PCIe插槽的数量是固定的,导致单节点上支持的专用算力芯片如GPU和FPGA加速卡等也受限于总线能力和PCIe插槽数量。
9 Y* f% g0 W0 D! S; j● 以CPU为中心的计算机体系结构,单节点的专用算力资源如GPU和FPGA加速卡等无法被其它节点使用,这也导致了专用算力资源无法按需扩展,预 留专用算力资源浪费的问题,使得虚拟化用户层的资源管理异常困难。 4 |* A5 f5 b  h2 N
● 在运维方面,由于单节点上资源是耦合的,故障维修需对节点断电,使 得整个节点对外不可用,业务的高可靠性难以保障,维修流程非常复杂。6 p1 }, t3 [. \, I

( n+ k0 |; U  p" ]数据中⼼⽹络通信延时:9 R8 [9 y7 G* k8 M5 ^4 g, I$ M
% _$ W5 i" F: V$ i
以数据为中心的数据中心架构,至少具备以下几个特点:! Q1 y* }! j" Q7 B/ J- `
(1)分散(Disaggreggaed)的计算架构。计算结构内部资源不是紧耦合。通过DPU智能网卡提供的网络能力,对系统总线数据做转换传输、延伸和分发,使得CPU、GPU、存储和加速器等可以在不同的位置或物理机上,通过数据中心网络对数据分发和调度,使得各资源互相协同工作。% ~* Z0 e! D) H" ?
(2)虚拟化资源池(Resource Pooling)。以降低TCO为目的,对CPU、GPU、存储和加速器等资源按需分配,同时降低资源维护和管理调度的复杂度,集中的资源池化势在必行。同时,通过虚拟化资源池的方式向用户提供各种资源,利用资源伸缩性,使得提供给用户侧的资源上限更大。
6 u$ P  F4 v4 |; Y1 y(3)可伸缩性(Scalability)。资源池化后,资源的维护和管理更容易,整体资源库存情况更清晰,从数据中心运营的角度,库存的扩展也更容易。
/ ~3 S1 i" Q6 R8 s(4)可组合性(Composability)。数据中心的网络能力使得服务资源的接 入更加灵活。对于新加入资源池的资源(如专用FPGA加速器),可以通过对DPU智能网卡做软件定义网络,打通数据中心的数据传输通路,让新加入的资 源加入到云计算资源系统中。6 l: c  y! H+ Q/ u; C
传统云计算基础设施与以数据为中⼼的数据中⼼架构对⽐:  h/ ?' V+ ^; l

( q" r# L5 {# C  D# E1 h- b5 G, X' r" I+ k" K
2.3. 一种DPU参考设计" {5 c7 j% [* o% O3 f4 I
为了满足“数据为中心”的设计理念,本节给出一个通用的DPU参考设计。目前DPU架构的演化比较快,DPU既可以呈现为一个被动设备作为CPU的协处理器,也可以作为一个主动设备,承接HypervISOr的一些功能。尤其是容器技术、虚拟化技术的广泛采用,DPU的角色已经不仅仅是一个协处理器,而是 呈现出更多的HOST的特征,比如运行Hypervisor,做跨节点的资源整合,为裸金属虚拟机提供虚拟网络,数据安全,热迁移等支撑。宏观来看,DPU架构至 少可以分为以下几个核心组成部分:+ {1 e: |$ ?+ Q/ o6 r8 C; Y" |
DPU架构参考设计:( |, o2 u$ c. U2 K7 z: P  _! K: Z$ ?

& W" L  Y* M$ g; g) K
0 h* W, s# E0 h+ t4 j' D# M, A, F2.4. DPU具备的主要功能! q6 z. V$ |, u' ^, G+ \: ^
(1)算力卸载。将存储协议和安全协议的封装与解封装等不适合CPU做的 事物卸载到智能网卡或DPU上,节约更多CPU算力支撑更多的应用业务。' L  r; r9 ^/ W0 e4 T" ^% w& v
(2)虚拟网络控制面隔离。DPU需要独立的网络控制平面,从主机中完全隔离,可以服务于各种资源池能力的组合和伸缩。
% r+ }; W0 |/ S(3)主机侧总线通信的延展。在分散的计算架构中,连接不同资源池的方 式将从原来的系统总线承载,转变成总线——网络——总线的方式,DPU不仅需要提供PCIe Endpoint的能力,还需要提供PCIe root Complex的能力。2 U" ]2 w" a, t4 K5 Z2 `; ]; B
(4)网络侧无损网络传输。网络侧提供针对Incast流量模型和“大象”流影响的拥塞控制机制和增强的负载均衡能力,降低长尾时延,提供更可靠更高效的传输网络。
* a! V2 d, R8 ~2 ?* P(5)精细化的测量和故障检测能力。精细化的流量测量支撑精细化的故障检测能力,让流量数据更透明。( U; N) d" [+ I( e8 x

( \2 v$ E" a2 Y4 a
* }* E8 J) h5 W

DPU-whitepaper-final-x.pdf

10.58 MB, 下载次数: 0, 下载积分: 威望 -5

该用户从未签到

2#
发表于 2022-6-14 11:15 | 只看该作者
好啊,很详细啊。Thanks♪(・ω・)ノ
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-22 23:32 , Processed in 0.125000 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表