中国·galaxy银河(有限公司)-官方网站

登录 注册
购物车0
TOP
Imgs 行业资讯

0

什么是DPU 未来的DPU智能⽹卡硬件形态

2021-11-25 14:08:00
1.什么是DPU
 
DPU(Data Processing Unit)是以数据为中心构造的专用处理器,采用软件定义技术路线支撑基础设施层资源虚拟化,支持存储、安全、服务质量管理等 基础设施层服务。2020年NVIDIA公司发布的DPU产品战略中将其定位为数据中心继CPU和GPU之后的“第三颗主力芯片”,掀起了一波行业热潮。DPU的出现是异构计算的一个阶段性标志。与GPU的发展类似,DPU是应用驱动的体系结构设计的又一典型案例;但与GPU不同的是,DPU面向的应用更加底层。DPU要解决的核心问题是基础设施的“降本增效”,即将“CPU处理效率低 下、GPU处理不了”的负载卸载到专用DPU,提升整个计算系统的效率、降低 整体系统的总体拥有成本(TCO)。DPU的出现也许是体系结构朝着专用化路线发展的又一个里程碑。
 
 
关于DPU中“D”的解释
 
DPU中的“D”有三种解释:
 
(1)Data Processing Unit,即数据处理器。这种解释把“数据”放在核心 位置,区别于信号处理器、基带处理器等通信相关的处理器对应的“信号”, 也区别于GPU对应的图形图像类数据,这里的“数据”主要指数字化以后的各 种信息,特别是各种时序化、结构化的数据,比如大型的结构化表格,网络流 中的数据包,海量的文本等等。DPU就是处理这类数据的专用引擎。
 
(2)Datacenter Processing Unit,即数据中心处理器。这种解释把数据中心作为DPU的应用场景,特别是随着WSC(Warehouse-scale Computer)的兴起, 不同规模的数据中心成为了IT核心基础设施。目前来看,DPU确实在数据中心 中使用前景非常广阔。但是计算中心的三大部分:计算、网络、存储,计算部分是CPU占主导,GPU辅助;网络部分是路由器和交换机,存储部分是高密度 磁盘构成的的RAID系统和SSD为代表非易失性存储系统。在计算和网络中扮演 数据处理的芯片都可以称之为Datacenter Processing Unit,所以这种说法相对比 较片面。
 
(3)Data-centric Processing Unit,即以数据为中心的处理器。Data-centric,即数据为中心,是处理器设计的一种理念,相对于“Control-centric”即控制为 中心。经典的冯诺依曼体系结构就是典型的控制为中心的结构,在冯诺依曼经 典计算模型中有控制器、计算器、存储器、输入和输出,在指令系统中的表现 是具有一系列非常复杂的条件跳转和寻址指令。而数据为中心的理念与数据流 (Data Flow)计算一脉相承,是一种实现高效计算的方法。同时,现在试图打 破访存墙(Memory Wall)的各种近存(Near-memory)计算、存内(Inmemory)计算、存算一体等技术路线,也符合数据为中心的设计理念。
 
以上三种关于“D”的解释,从不同角度反映DPU的特征,都有一定的可取之处,笔者认为可以作为不同的三个维度来理解DPU的内涵。
 
DPU的作用
 
DPU最直接的作用是作为CPU的卸载引擎,接管网络虚拟化、硬件资源池 化等基础设施层服务,释放CPU的算力到上层应用。以网络协议处理为例,要 线速处理10G的网络需要的大约4个Xeon CPU的核,也就是说,单是做网络数据包处理,就可以占去一个8核高端CPU一半的算力。如果考虑40G、100G的高速网络,性能的开销就更加难以承受了。Amazon把这些开销都称之为 “Datacenter Tax”,即还未运行业务程序,先接入网络数据就要占去的计算资源。AWS Nitro产品家族旨在将数据中心开销(为虚拟机提供远程资源,加密解密,故障跟踪,安全策略等服务程序)全部从CPU卸载到Nitro加速卡上,将给上层应用释放30%的原本用于支付“Tax”的算力!
 
DPU可以成为新的数据网关,将安全隐私提升到一个新的高度。在网络环境下,网络接口是理想的隐私的边界,但是加密、解密算法开销都很大,例如 国密标准的非对称加密算法SM2、哈希算法SM3和对称分组密码算法SM4。如果用CPU来处理,就只能做少部分数据量的加密。在未来,随着区块链承载的业务的逐渐成熟,运行共识算法POW,验签等也会消耗掉大量的CPU算力。而这些都可以通过将其固化在DPU中来实现,甚至DPU将成为一个可信根。
 
DPU也可以成为存储的入口,将分布式的存储和远程访问本地化。随着 SSD性价比逐渐可接受,部分存储迁移到SSD器件上已经成为可能,传统的面向 机械硬盘的SATA协议并不适用于SSD存储,所以,将SSD通过本地PCIe或高速 网络接入系统就成为必选的技术路线。NVMe(Non Volatile Memory Express) 就是用于接入SSD存储的高速接口标准协议,可以通过PCIe作为底层传输协议,将SSD的带宽优势充分发挥出来。同时,在分布式系统中,还可通过NVMe over Fabrics(NVMe-oF)协议扩展到InfiniBand、Ethernet、或Fibre channel节点中,以RDMA的形式实现存储的共享和远程访问。这些新的协议处理都可以集成在DPU中以实现对CPU的透明处理。进而,DPU将可能承接各种互连协议控制器的角色,在灵活性和性能方面达到一个更优的平衡点。
 
DPU将成为算法加速的沙盒,成为最灵活的加速器载体。DPU不完全是一颗固化的ASIC,在CXL、CCIX等标准组织所倡导CPU、GPU与DPU等数据一致性访问协议的铺垫下,将更进一步扫清DPU编程障碍,结合FPGA等可编程器件,可定制硬件将有更大的发挥空间,“软件硬件化”将成为常态,异构计算 的潜能将因各种DPU的普及而彻底发挥出来。在出现“Killer Application”的领域都有可能出现与之相对应的DPU,诸如传统数据库应用如OLAP、OLTP, 5G 边缘计算,智能驾驶V2X等等。
 
2.DPU的发展背景
 
DPU的出现是异构计算的又一个阶段性标志。摩尔定律放缓使得通用CPU 性能增长的边际成本迅速上升,数据表明现在CPU的性能年化增长(面积归一 化之后)仅有3%左右1,但计算需求却是爆发性增长,这几乎是所有专用计算芯片得以发展的重要背景因素。以AI芯片为例,最新的GPT-3等千亿级参数的超大型模型的出现,将算力需求推向了一个新的高度。DPU也不例外。随着2019年我国以信息网络等新型基础设施为代表的“新基建”战略帷幕的拉开,5G、千兆光纤网络建设发展迅速,移动互联网、工业互联网、车联网等领域发展日新月异。云计算、数据中心、智算中心等基础设施快速扩容。网络带宽从主流 10G朝着25G、40G、100G、200G甚至400G发展。网络带宽和连接数的剧增使得数据的通路更宽、更密,直接将处于端、边、云各处的计算节点暴露在了剧增的数据量下,而CPU的性能增长率与数据量增长率出现了显著的“剪刀差”现象。所以,寻求效率更高的计算芯片就成为了业界的共识。DPU芯片就是在这样的趋势下提出的。
带宽增长率(RBP)不平衡
摩尔定律的放缓与全球数据量的爆炸式增长之间的矛盾正在迅速加剧,通常被视为处理器专业化的背景。虽然所谓的硅摩尔定律已经明显放缓,但“数据摩尔定律”已经到来。IDC数据显示,过去10年全球数据量年复合增长率接近50%,进一步预测计算能力需求将每4个月翻一番。因此,有必要寻找能够带来比通用处理器更快的计算能力增长的新计算芯片,DPU应运而生。这个背景虽然在某种程度上是合理的,但还是太模糊,没有回答DPU新的原因是什么,什么“量变”导致“质变”?
从各种制造商公布的DPU架构来看,虽然结构不同,但都强调网络处理能力。从这个角度来看,DPU是一个很强的IO芯片,这也是DPU和CPU最大的区别。CPU的IO性能主要体现在高速的前端总线(FSB,英特尔系统中的前端总线)。CPU通过FSB连接到北桥芯片组,再连接到主存系统和其他高速外设(主要是PCIe设备)。目前更新后的CPU通过集成内存控制器等手段削弱了北桥芯片的功能,但其本质保持不变。CPU处理网络处理的能力体现在网卡访问链路层的数据帧,然后通过操作系统(OS)的内核模式发起DMA中断响应,并调用相应的协议解析器获取网络传输的数据(虽然也有一些技术可以在用户模式下通过轮询直接获取网络数据而不需要内核模式中断,比如英特尔的DPDK、Xilinx的Onload等。但目的是减少中断开销和从内核模式到用户模式的切换开销,这不是根本。可以看出,CPU通过非常间接的手段支持网络IO,CPU的前端总线带宽主要是为了匹配主存(尤其是DDR)的带宽,而不是网络IO的带宽。
相比之下,DPU的IO带宽几乎可以和网络带宽持平。例如,如果网络支持25G,那么DPU必须支持25G。从这个意义上说,DPU继承了网卡芯片的一些特点,但与网卡芯片不同的是,DPU不仅仅是对链路层的数据帧进行分析,更是对数据内容进行直接的处理和复杂的计算。因此,DPU是在支持强IO的基础上,拥有强大计算能力的芯片。简而言之,DPU是一个IO密集型芯片;相比之下,DPU是一个计算密集型芯片。
此外,通过比较网络带宽与一般CPU的增长趋势,我们可以发现一个有趣的现象:带宽与性能增长率之比的不平衡(RBP)。将RBP定义为网络带宽的增长率高于CPU性能的增长率,即RBP=BWGR/perf  . gr如图1-1说明将Mellanox的ConnectX系列网卡的带宽作为网络IO的情况,将英特尔系列产品的性能作为CPU的情况,定义了一个新的指标“带宽性能增长率”来反映趋势变化。
2010年之前,网络带宽的年增长率在30%左右,2015年略微增长到35%,然后近几年达到45%。相应的,CPU的性能增长也从10年前的23%下降到了12%,最近几年更是直接下降到了3%。在这三个时间段,RBP指数从1左右涨到了3,近几年更是突破了10!如果网络带宽增长率几乎等于CPU性能增长率,RGR  ~ 1,IO压力还没有出现,那么当RBP目前达到10倍时,CPU几乎无法直接应对网络带宽增长率。RBP指数近年来的大幅上涨,可能是DPU最终等待机会“诞生”的重要原因之一。
借助异构计算发展趋势
DPU首先充当计算卸载的引擎,直接效果就是“减轻”CPU的负担。DPU的部分功能可以在早期的TOE(TCP/IP卸载引擎)中看到。顾名思义,TOE就是把CPU处理TCP协议的任务“卸载”到网卡上。传统的TCP软件处理方式虽然层次清晰,但逐渐成为网络带宽和时延的瓶颈。软件处理对CPU的占用也会影响CPU处理其他应用的性能。TCP卸载引擎(TOE)技术,通过将TCP和IP协议的处理过程移交给网络接口控制器进行处理,不仅通过硬件加速提高了网络延迟和带宽,还显著降低了CPU处理协议的压力。优化有三个方面:1)隔离网络中断,2)减少内存数据拷贝,3)基于硬件的协议分析。这三个技术点已经逐渐发展成为数据平面计算的三大技术,也是DPU普遍需要支持的技术点。比如NVMe协议用轮询策略代替中断策略,充分发挥高速存储介质的带宽优势;DPDK采用用户模式调用,开发“Kernelbypassing”机制,实现零拷贝(ZEOR-copy);DPU特定应用核心,如复杂校验和计算、数据包格式分析、查找表、IP安全(IPSec)支持等。可以看作是协议处理的硬件支持。所以,TOE基本上可以算是DPU的雏形。
延续TOE的思路,将更多的计算任务卸载到网卡端进行处理,推动了SmartNIC技术的发展。普通智能网卡的基本结构是以高速网卡为基本功能,以高性能FPGA芯片为计算扩展,实现用户自定义的计算逻辑,达到计算加速的目的。然而,这种“网卡FPGA”模式并没有把智能网卡变成绝对主流的计算设备。很多智能网卡产品都作为简单的FPGA加速卡使用,既利用了FPGA的优势,又继承了所有FPGA的局限性。DPU是现有智能网卡的集成,可以看到以前智能网卡的很多影子,但明显高于以前任何一个智能网卡的定位。
可见,DPU其实在业内已经孕育了很长时间。从早期的网络协议处理和卸载到后续的网络、存储和虚拟化卸载,其作用仍然非常显著。然而,在此之前,DPU只是“名义上的”,现在是时候迈出新的一步了。
3.3的发展历史。公用事业局(Department  of  Public  Utilities)
随着云平台虚拟化技术的发展,智能网卡的发展基本可以分为三个阶段(如图如图1-2所示):
6999c1fa-3b8a-11ec-82a9-dac502259ad0.png
图1-2智能卡开发的三个阶段
阶段:基本功能卡
基本网卡(即普通网卡)提供2x10G或2x25G带宽吞吐量,硬件卸载能力较少,主要是Checksum、LRO/LSO、SR-IOV支持,多队列能力有限。云平台虚拟化网络中,基本功能网卡提供虚拟机(VM)网络访问的方式主要有三种:操作系统内核驱动接管网卡,将网络流量分配给VM;OVS-DPDK接管网卡,将网络流量分配给虚拟机(VM);并在高性能场景中通过SR-IOV为虚拟机提供网络访问能力。
阶段:硬件卸载卡
可以认为是第一代智能网卡,具有丰富的硬件卸载能力,典型的有OVS  Fastpath硬件卸载、基于RoCEv1和RoCEv2的RDMA网络硬件卸载、无损网络能力(PFC、ECN、ETS等)的硬件卸载。)在融合网络中,NVMe-oF存储域的硬件卸载,以及安全传输的数据平面卸载等。在此期间,智能网卡主要卸载数据平面。
第三阶段:DPU智能卡
可以认为是第二代智能网卡。在第一代智能网卡上增加CPU可以用来卸载控制平面的任务和数据平面的一些灵活复杂的任务。目前,DPU智能网卡的特点首先是支持PCIe根联合体模式和端点模式。配置为PCIe根联合体模式时,可实现NVMe存储控制器,与NVMe  SSD磁盘一起搭建存储服务器。
此外,由于大规模数据中心网络的需求,对无损网络的要求更加严格,需要解决数据中心网络中流量和大象流带来的网络拥塞和延迟问题。各大云厂商都提出了自己的对策,如阿里巴巴云的高精度拥塞控制(HPCC,高精度共识控制),AWS的可伸缩可靠数据报(SRD)等。
DPU智能网卡将会引入更先进的方法来解决这类问题,比如DPU智能网卡上的全新解决方案——可替换的TrueFabric。此外,业界在Hypervisor中提出了网络、存储、安全全栈卸载的发展方向,以英特尔为代表提出了IPU,将基础设施的所有功能卸载到智能网卡上,可以充分释放之前用于Hypervisor管理的CPU功率。
基于的未来DPU智能卡硬件形式
随着越来越多的功能被添加到智能网卡中,它的功率将很难被限制在75W,这就需要一个独立的供电系统。因此,未来智能网卡可能有三种形式:
(1)对于独立供电的智能网卡,需要考虑网卡状态与计算服务之间的低级信号识别,以及智能网卡在计算系统启动期间或启动后是否已经进入服务状态,这些都需要探索解决。
(2)没有PCIe接口的DPU智能网卡可以组成DPU资源池,负责网络功能,如负载均衡、访问控制、防火墙设备等。管理软件可以通过智能网卡管理接口直接定义相应的网络功能,作为一个没有PCIe接口的虚拟化网络功能集群提供相应的网络能力。
(3)具有多个PCIe接口和多个网络端口的DPU芯片。例如,Fungible  F1芯片支持16个双模PCIe控制器,可以配置为Root  Complex模式或Endpoint模式以及8x100G网络接口。PCIe  Gen3 x8接口可支持8台Dual-Socket计算服务器,网络侧提供8x100G带宽网络端口。
作为一种新型专用处理器,随着需求侧的变化,DPU将成为未来计算系统的重要组成部分,对支撑下一代数据中心将起到至关重要的作用。
4.4之间的关系。DPU和中央处理器和图形处理器
CPU是整个IT生态系统的定义者。无论是服务器端的x86,还是移动端的ARM,都各自构建了稳定的生态系统,既形成了技术生态系统,又形成了封闭的价值链。
GPU是执行规则计算、如图-shaped渲染的主要芯片。随着NVIDIA对通用GPGPU)和CUDA编程框架的推广,GPU已经成为如图图像、深度学习、矩阵运算等数据并行任务中的主计算引擎,也是高性能计算中最重要的辅助计算单元。在2021年6月公布的Top500高性能计算机(超级计算机)前10名中,有6台(第2、3、5、6、8、9)搭载了NVIDIA的GPU。
数据中心不同于超极计算机,其主要面向科学计算,如大型飞机研制、石油勘探、新药研发、天气预报、电磁环境计算等应用,其性能是主要指标,对接入带宽要求不高。但数据中心面临云计算的商业应用,对接入带宽、可靠性、容灾、灵活扩展等有更高的要求。以及虚拟机、容器云、并行编程框架、内容分发网络等技术。与之配套开发的,都是为了更好地支持电子商务、支付、视频流、网盘、办公OA等上层商业应用。然而,这些IaaS和PaaS层的服务成本极高。亚马逊曾宣布AWS的系统成本超过30%。如果需要更好的服务质量,网络、存储和安全等基础设施服务的成本将会更高。
这些基础层的应用类型与CPU架构匹配度低,导致计算效率低。现有的CPU架构有两类:多核架构(几个或几十个内核)和众核架构(几百个或更多内核),每种架构都支持唯一的标准通用指令集之一,如x86、ARM等。以指令集为边界,软硬件分开独立开发,迅速推动了软件产业与微处理器产业的协同发展。然而,随着软件复杂性的增加,软件的生产力越来越受到重视,软件工程学科也更加关注如何高效地构建大规模软件系统,而不是如何用更少的硬件资源获得尽可能高的执行性能。业内有个绰号叫“安迪比尔定律”。它的内容是“安迪给的,比尔拿走的”。安迪指的是英特尔前CEO安迪格罗夫,比尔指的是微软前CEO比尔盖茨,意思是硬件性能的提升很快被软件消耗掉。
就像CPU在图像处理上不够高效一样,还有大量的基础层应用在CPU处理上也是低效的,比如网络协议处理、交换路由计算、加解密、数据压缩等计算密集型任务,以及支持分布式处理的数据一致性协议,比如RAFT等。这些数据或者通过网络IO或者通过板级高速PCIe总线接入系统,然后通过共享主存通过DMA机制提供给CPU或GPU。要处理大量的上层应用,要维护底层软件的基础设施,还要处理各种特殊的IO协议,复杂的计算任务让CPU不堪重负。
5.工业化的机会。公用事业局(Department  of  Public  Utilities)
数据中心作为IT基础设施最重要的组成部分,近十年来成为各大高端芯片厂商关注的焦点。各大厂商用全新的DPU理念重新包装后,将原有的产品和技术投放市场。
与此同时,一些互联网厂商,如海外的谷歌、亚马逊、国内的阿里巴巴等巨头纷纷启动了自研芯片计划,研发重点放在数据处理器的高性能专用处理器芯片上,希望改善云端服务器的成本结构和单位能耗的性能水平。数据预测,DPU在云计算市场的应用需求最大,市场规模将随着云计算数据中心的迭代而增大。到2025年,仅中国的市场容量就将达到40亿美元。

galaxy银河官网,为客户创造价值!

双面板免费加费,四层板加急打样,厚铜电路板打样

Xcm

XML 地图