EEWorld 电子工程世界

文章数:7420 被阅读:4273845

账号入驻

大话DPU

最新更新时间:2021-10-07
    阅读数:
2019年,NVIDIA 69亿美金收购了一家以色列的公司,Mellanox。

虽然贵,但是很值。

收购Mellanox之后,老黄把其中Mellanox产品线中一个不起眼的可编程的网卡系列bluefield改名为DPU。

后来的事情,就超出了老黄的想象,各种DPU公司风起云涌,甚至压过“AI”一头,成为了VC眼中的“新贵”,成为了风口。

对于网卡芯片行业,大家都在讲smartnic(智能网卡)的故事,智能网卡已经很高大上了,smartnic,智能网卡。

DPU这个故事一来,smartnic这个名字就从“小甜甜成”了“牛夫人”。

此一时,彼一时。

Mellanox成立于1999年,是以Infiniband产品而起家的,Infiniband主要是是一个用于高性能计算的计算机网络通信标准。Infiniband具有极高的吞吐量和极低的延迟,可以理解成串行化的总线。

infinity 无限的。band  带宽;infiniband这个名字直译“无限带宽”,非常霸气。

和普通人用的计算机网络比起来,Infiniband在带宽和时延上有优势。成本比网络高多了。 但是由于要额外部署的Infiniband交换机,其成本限定了只能在超算和存储领域这些商用领域使用。

Infiniband的HCA卡和Infiniband交换机。对应就是普通组网的网卡和网络交换机,因为Infiniband的HCA卡和网卡基本上外观一摸一样,技术也类似。都是一端PCIe,另一端高速的serdes。所以Mellanox轻车熟路的切入了网卡芯片领域。

在网卡芯片领域,这个和Infiniband不同,这个市场要“内卷”的多,intel在10G网卡时代,凭借82599,X710等多个型号,可以说在服务器网卡市场上,呼风唤雨。和intel的CPU一起配合,成为了各个厂商的首选。

而在网络从10G到25G转换节点上,Mellanox异军突起,成为了市场的佼佼者,Microsoft和Mellanox深度合作,让Mellanox在25G成功上位,取代了Intel和Broadcom在高端网卡的江湖地位。同时Mellanox给网卡带来了ROCE,一种基于ethernet的Infiniband的协议,这个是Mellanox的看家本领。数据中心向25G节点转换上,Mellanox成为了最大的赢家。

在2019年时,Mellanox已经称霸服务器网卡市场,是25G/100G解决方案最重要玩家之一。

Mellanox被intel和NVIDIA同时都看上了,intel开出了55亿-60亿美金的“彩礼”,而NVIDIA开出了接近70亿美金的价格。

最终NVIDIA赢了。


平心而论,intel有自己的网卡芯片团队,收购Mellanox只不过是锦上添花,而NVIDIA在网络这个方面毫无积累,所以NVIDIA更迫切,业务协同性更优,也更志在必得。

事实也证明如此!

从智能网卡到DPU,不仅是名字的称呼的改变。

说到DPU,先讲三个故事,看看DPU都干些什么东西。

1:卸载offload


很多刚刚入手固态硬盘的朋友,可能会对于固态硬盘容量标识产生疑惑。以某厂商 1TB固态硬盘为例,按道理来说1TB=1024GB,但是在电脑上只能看到953GB。
 
为什么?
 
因为放了一部分FTL 固件的表项,用于均衡磨损。
 
简而言之,花了100块钱,只能得到90快钱的东西。
 
花两碗粉的钱,吃了一碗粉,因为有一个空碗需要承担的开销
 
问顾客爽不爽。
 
肯定不爽。
 
云服务厂商也不爽。
 
以目前的公有云为例,IaaS:Infrastrure-as-Service(基础设施即服务)
 
但是对IaaS厂商来说,和普通人买SSD面临同一个情况的窘境。
 
买了一批处理器,内存,硬盘,机房,空调,成立了一个云中心,作为基础设施提供给各位厂家来用。
 
买个100核的CPU,只能用80个核.
 
其他20个核去哪里了?
 
跑一堆云上的软件,OVS,安全,存储,管理等等。
 
这些额外20个核的开销部分,叫做数据中心税,datacenter tax。
 
所以从云厂商来说,就是如何利益最大化。用行业“黑话”,降低TCO(总拥有成本)。
 
如何取消数据中心税,那就是要让DPU把这些活都干了。
 
这个故事里面。
 
DPU就是那个干脏活,累活的角色。


在云中心,什么脏活累活最为典型?

那非OVS卸载莫属了!
 
OVS的功能说白了,就是虚拟机VM之间的虚拟交换机,原本用软件来实现的。
 
 
说到交换机,那就是三板斧,协议解析,表项查找,动作执行。
 

二层交换机,解析MAC转发,

三层交换机,解析IP转发。
 
OVS虚拟交换机就是解析流表转发。

OVS的流表有三个特点:

1:表项长。

从五元组,7元组,到更多元组;从端口号,源MAC,目的MAC,VLAN,源IP,目的IP,源端口号,目的端口号等,这还不算完,还有更多项需要参与转发。

2:表项多。

从几十K到几百K的表项。随着从虚拟机到容器这些更细粒度的划分,表项也是直线增加。

3:查找时间短。

从10Gbps小包查找大约需要60ns,到100Gbps小包查找需要6ns查找到。

有一种说法, 如果是CPU软件来实现OVS,25Gbps开销需要大约20%处理器核处理,100Gbps大约需要80%的处理器核来处理,数据中心税高了,留给业务的就更少了。

简而言之,随着网络的发展,处理器的能力跟不上了。


解决这个问题核心就是,将OVS 卸载(offload)到一个处理单元上来做这个业务。因为本来就是网络的业务,所以卸载到网卡上是最直接的想法。
 
 
如图所示,就是软件卸载和硬件卸载的区别。

那么DPU除了除了OVS的卸载,还有哪些卸载?

1:TCP offload;
2:TLS offload;
3:加密offload;
4:压缩的offload;
 
这些offload,最直接就是降低数据中心税。也有把这些形式叫做IPU,基础设施处理器。

但是,单纯offload,是不能称之为DPU的。


2:hypervisor管理



很多人都去过网吧,但是不一定都去过VIP包房。
 
VIP包房和大厅不一样。
 
独立,安全,隐私性好。

VIP身份不会有和普通客户一样的待遇。
 
这样的客户给网吧老板带了非常高的收益。
 
所以要服务好VIP客户。
 
赚钱吗?不磕碜!
 
个人用户赚钱还是企业用户赚钱。
 
大多数是企业用户赚钱。
 
作为云服务厂商,天生有两个用户,个人用户,企业用户。
 
个人用户登录,是一个虚拟机,虚拟机好处就是一个CPU拆开来卖,分时复用,分区复用,没钱就忍了。
 
企业用户和普通用户不一样,肯定是VIP服务。
 
企业用户需要什么VIP云服务?

  • 极强的计算性能,具有和普通物理机一样的计算性能;
  • 安全隔离,物理隔离,资源独占;
  • 快速交付,物理机资源标准化和池化,随取随用;
  • 和云产品连通,如果需要可以和云主机、云存储、云数据库打通,方便业务使用。

什么是云上的VIP服务,那就是裸金属云。

裸金属云就是为企业用户的量身打造的VIP包房;
 
从物理机到虚拟机,容器这些技术是演进的方向。

但是没有想到。重新包装好的物理机又成了香饽饽。
 
还换了一个高大上的名字,裸金属云。 
 
云服务商把全部的CPU资源都给用户去用了。

但是也不能放手不管。
 
怎么管,放在哪里来管。
 
用了一个hypervisor的卡来管理。

如果把CPU比喻成一个宾馆大楼,每个楼里的房间就是一个CPU core,住客就是虚拟机,hypervisor可以认为这个楼的的管理员,只不过这个管理员也要住在宾馆大楼里面,占用一个到几个房间(CPU core)。
 
现在VIP来了,整个宾馆大楼直接都给了VIP租下来了。

当然管理员(hypervisor)也不能在大楼住了,但是管理员(hypervisor)还是需要的,就得给管理员(hypervisor)找个家。
 
CPU里面不能住了,这个家就放在了DPU里面;


阿里云的裸金属云的建设中,提出了一种裸金属bm-hive(bm baremetal 裸金属的缩写),直接把bm-hypervisor 放在了一个网卡形态的设备上,在这种形态下,所有的计算资源都是计算板的一部分,这个可以是X86的E5,core I7,AMD ,甚至可以是ARM。也就是说,在这种结构下,X86的地位只是一个计算节点之一。
 
 
裸金属 hypervisor通过DPDK的vswitch和SPDK的云存储,替代了所有的计算板所有的IO需求,

裸金属 Hive支持VGA设备,供用户连接到bm guest的控制台,裸金属-Hive的架构不仅允许它无缝地集成到现有的云基础设施中,而且使计算板的设计高度灵活——唯一的硬要求是它支持virtio接口。
 
这种方案,但是其核心思想是将计算节点抽象出来,更专用,更灵活的参与到整个服务中;
 

这种思想提出,在AWS的的nitro卡就有了。
 
AmazonEC2的 hypervisor 专用硬件实现。当然是个精简的hypervisor,它基于Linux内核的虚拟机(KVM)技术构建,但不包括通用操作系统组件。

3:从网络到数据


DPU的核心是data。

为什么从网络到数据?

简而言之,TCP/IP的处理效率受到了极大的挑战。

对于10Gbps的网络来说,最大处理约14.88Mpps的包(64byte).
   10 000 000 000/(64byte + 20byte)*8 = 14.88Mpps。

那么对于100G的网络来说,需要处理器包的数目是148.8Mpps(64byte)。
 
而linux的kernel能够处理的能力也就是1M到几MPPS量级左右。

需求和现实,巨大的落差。

要想满足需求,bypass掉kernel,是一个所有人看到的方向。

很多kernel bypass的手段被提出了。

例如DPDK。DPDK就是一种kernelbypass的框架。DPDK通过应用层的PMD的程序不断的轮询。不用中断,而是用轮询,这个是DPDK提升性能的关键。


DPDK还需要CPU一个进程不断轮询。

而RDMA,则是更彻底的kernel bypass,CPU则直接什么也不做,数据直接送给应用层。
 
 
DPU就是承载RDMA的另一个载体。RDMA的协议用的是infiniband(IB)。而为了减低成本,不用部署额外的infiniband(IB)。其底层用了IP来承载,主要有两个分支,用IP/UDP承载IB是ROCEv2。用IP/TCP承载IB

Infiniband(IB)是Mellanox的强项,IB是HPC数据交换的互联协议,高性能计算就是例如超算,全球TOP500里面有60%采用了IB进行互联。

 
说回RDMA,那么RDMA到底干了什么?
 
除了传统的send receive。最重要的就是 read,write。
 
read,write的是什么。

是数据。

一台主机直接直接向另一台机器的虚拟内存的地址上读或者写。

这个意味着,使用外部资源就如同本地资源一样方便。

没有比这个更简单的操作了。

大道至简!
 
read和write的都是data;
 
基于这个意义上,DPU的D才开始有点意思了。
 
有趣的是,RDMA(IB)是在超算中发展起来的。
 
超算的架构都是CPU+GPU的异构。
 
超算的底层互联从来不是以太网,原因无他,以太网的效率太低了,以太网只在超算边缘作为管理网络来使用。
 
而DPU的设想中,很多资源池化的想法,和HPC有一些异曲同工之妙;
 
2020年hotchips上初创DPU公司,Fungible就有非常准确的描述。通过DPU将X86计算资源,GPU/AI资源,SSD/HDD等存储资源,作为池化资源的构成一个整体,提供外部使用。

Fungible用的技术叫做TrueFabric。其与RDMA的优劣不是本文要讨论的部分。

但是通过DPU把整个数据中心连接起来,实现高速率,低延迟的效果。


这个模型下,整个结构更类似一个边缘云中心。

不过在老哥看来,更类似超算和云融合的一种解决方案。

基于目前这个意义上,DPU的data还只是搬移,并没有在严格意义上被处理。

某些安全处理也是为了数据搬移过程的安全特性,比如IPsec over RDMA;也就是端到端的安全特性,这些数据处理是保护数据,而非改变数据本质。

这个数据搬移还包括:

1:存储数据DPU搬移:
     nvme over fabric,nvme over RMDA。

2:AI数据的DPU搬移:
     GPUdriect over RDMA。

低延迟,高带宽,高性能;

核心目标就是像本地数据一样,访问分布式或者池化的资源。

通过DPU实现数据资源池化。

网络是手段,数据才是目的。

只不过这种连接可以是RDMA,也可以是其他技术手段,RDMA只是其中之一。

4:谁来用DPU?


第一个卸载的故事中,DPU是offload CPU的负载,是“长工”。

 
第二个管理的故事中,DPU是CPU的hypervisor,是“管家”。
 
第三个数据的故事中,DPU高效的提供CPU 数据,是“奶妈”。

这些手段的目标都是降低TCO,是因为CPU来做这些工作不经济。

无论如何,DPU都不是替代CPU做计算。

在DPU上一堆处理器,来和CPU比赛干活,这个是不是比CPU更有优势?见仁见智。

DSA只有面向一个领域定制,才能有成本的优势。

所以DPU不需要在通用计算领域来搞事情。

保持数据(data)的本色,才是真谛。
 

最后一个问题,关于DPU,主要场景用在云上。

云厂怎么想?
    
当然是自研!

AWS的Nitro系列,以及阿里的MOC等等。都是特殊定制的DPU。目前国内几大云厂,基本上全部都有自研方案或者自研计划。

每家云厂的解决方案都有所不同,特别是DPU是软件和硬件紧密耦合的产物。

云厂对业务更懂,研发能力也不弱。

目前也有很多初创公司做DPU芯片,市场一片火热。

如何把DPU芯片卖给也做这个方面的云厂“竞争对手”?

这是一个比AI芯片更难的难题。

后记

“上周末的智能网卡研讨会,老哥网上听了下各路专家的演讲,云厂面临的问题多,市场能提供的大规模部署的解决方案很少,头部云厂商(阿里,腾讯)都是带着自研方案而来的,FPGA+CPU倒是成了大部分公司的DPU不约而同的系统方案,xilinx和intel的FPGA成为市场的选择,也看出来DPU芯片前路漫漫,且行且珍惜,祝大家国庆快乐。”


众号内回复您想搜索的任意内容,如问题关键字、技术名词、bug代码等,就能轻松获得与之相关的专业技术内容反馈。快去试试吧!


由于微信公众号近期改变了推送规则,如果您想经常看到我们的文章,可以在每次阅读后,在页面下方点一个「赞」或「在看」,这样每次推送的文章才会第一时间出现在您的订阅列表里。


或将我们的公众号设为星标。进入公众号主页后点击右上角「三个小点」,点击「设为星标」,我们公众号名称旁边就会出现一个黄色的五角星(Android 和 iOS 用户操作相同)。


聚焦行业热点, 了解最新前沿
敬请关注EEWorld电子头条
http://www.eeworld.com.cn/mp/wap
复制此链接至浏览器或长按下方二维码浏览
以下微信公众号均属于
 EEWorld(www.eeworld.com.cn)
欢迎长按二维码关注!
EEWorld订阅号:电子工程世界
EEWorld服务号:电子工程世界福利社

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: TI培训

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2021 EEWORLD.com.cn, Inc. All rights reserved