来源:内容由半导体行业观察(ID:icbank)转载
自公众号
「
歪睿老哥
」,作者:申墨,谢谢。
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亿美金的价格。
平心而论,intel有自己的网卡芯片团队,收购Mellanox只不过是锦上添花,而NVIDIA在网络这个方面毫无积累,所以NVIDIA更迫切,业务协同性更优,也更志在必得。
说到DPU,先讲三个故事,看看DPU都干些什么东西。
很多刚刚入手固态硬盘的朋友,可能会对于固态硬盘容量标识产生疑惑。
以某厂商 1TB固态硬盘为例,按道理来说1TB=1024GB,但是在电脑上只能看到953GB。
简而言之,花了100块钱,只能得到90快钱的东西。
花两碗粉的钱,吃了一碗粉,因为有一个空碗需要承担的开销
以目前的公有云为例,IaaS:Infrastrure-as-Service(基础设施即服务)
但是对IaaS厂商来说,和普通人买SSD面临同一个情况的窘境。
买了一批处理器,内存,硬盘,机房,空调,成立了一个云中心,作为基础设施提供给各位厂家来用。
这些额外20个核的开销部分,叫做数据中心税,datacenter tax。
所以从云厂商来说,就是如何利益最大化。用行业“黑话”,降低TCO(总拥有成本)。
如何取消数据中心税,那就是要让DPU把这些活都干了。
OVS的功能说白了,就是虚拟机VM之间的虚拟交换机,原本用软件来实现的。
说到交换机,那就是三板斧,协议解析,表项查找,动作执行。
从五元组,7元组,到更多元组;从端口号,源MAC,目的MAC,VLAN,源IP,目的IP,源端口号,目的端口号等,这还不算完,还有更多项需要参与转发。
从几十K到几百K的表项。随着从虚拟机到容器这些更细粒度的划分,表项也是直线增加。
从10Gbps小包查找大约需要60ns,到100Gbps小包查找需要6ns查找到。
有一种说法, 如果是CPU软件来实现OVS,25Gbps开销需要大约20%处理器核处理,100Gbps大约需要80%的处理器核来处理,数据中心税高了,留给业务的就更少了。
解决这个问题核心就是,将OVS 卸载(offload)到一个处理单元上来做这个业务。因为本来就是网络的业务,所以卸载到网卡上是最直接的想法。
这些offload,最直接就是降低数据中心税。也有把这些形式叫做IPU,基础设施处理器。
作为云服务厂商,天生有两个用户,个人用户,企业用户。
个人用户登录,是一个虚拟机,虚拟机好处就是一个CPU拆开来卖,分时复用,分区复用,没钱就忍了。
-
-
-
-
和云产品连通,如果需要可以和云主机、云存储、云数据库打通,方便业务使用。
如果把CPU比喻成一个宾馆大楼,每个楼里的房间就是一个CPU core,住客就是虚拟机,hypervisor可以认为这个楼的的管理员,只不过这个管理员也要住在宾馆大楼里面,占用一个到几个房间(CPU core)。
现在VIP来了,整个宾馆大楼直接都给了VIP租下来了。
当然管理员(hypervisor)也不能在大楼住了,但是管理员(hypervisor)还是需要的,就得给管理员(hypervisor)找个家。
阿里云的裸金属云的建设中,提出了一种裸金属bm-hive(bm baremetal 裸金属的缩写),直接把bm-hypervisor 放在了一个网卡形态的设备上,在这种形态下,所有的计算资源都是计算板的一部分,这个可以是X86的E5,core I7,AMD ,甚至可以是ARM。也就是说,在这种结构下,X86的地位只是一个计算节点之一。
裸金属 hypervisor通过DPDK的vswitch和SPDK的云存储,替代了所有的计算板所有的IO需求,
裸金属 Hive支持VGA设备,供用户连接到bm guest的控制台,裸金属-Hive的架构不仅允许它无缝地集成到现有的云基础设施中,而且使计算板的设计高度灵活——唯一的硬要求是它支持virtio接口。
这种方案,但是其核心思想是将计算节点抽象出来,更专用,更灵活的参与到整个服务中;
AmazonEC2的 hypervisor 专用硬件实现。当然是个精简的hypervisor,它基于Linux内核的虚拟机(KVM)技术构建,但不包括通用操作系统组件。
简而言之,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,是一个所有人看到的方向。
例如DPDK。DPDK就是一种kernelbypass的框架。DPDK通过应用层的PMD的程序不断的轮询。不用中断,而是用轮询,这个是DPDK提升性能的关键。
而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进行互联。
除了传统的send receive。最重要的就是 read,write。
一台主机直接直接向另一台机器的虚拟内存的地址上读或者写。
超算的底层互联从来不是以太网,原因无他,以太网的效率太低了,以太网只在超算边缘作为管理网络来使用。
而DPU的设想中,很多资源池化的想法,和HPC有一些异曲同工之妙;
2020年hotchips上初创DPU公司,Fungible就有非常准确的描述。通过DPU将X86计算资源,GPU/AI资源,SSD/HDD等存储资源,作为池化资源的构成一个整体,提供外部使用。
Fungible用的技术叫做TrueFabric。其与RDMA的优劣不是本文要讨论的部分。
但是通过DPU把整个数据中心连接起来,实现高速率,低延迟的效果。
不过在老哥看来,更类似超算和云融合的一种解决方案。
基于目前这个意义上,DPU的data还只是搬移,并没有在严格意义上被处理。
某些安全处理也是为了数据搬移过程的安全特性,比如IPsec over RDMA;也就是端到端的安全特性,这些数据处理是保护数据,而非改变数据本质。
nvme over fabric,nvme over RMDA。
核心目标就是像本地数据一样,访问分布式或者池化的资源。
只不过这种连接可以是RDMA,也可以是其他技术手段,RDMA只是其中之一。
第一个卸载的故事中,DPU是offload CPU的负载,是“长工”。
第二个管理的故事中,DPU是CPU的hypervisor,是“管家”。
第三个数据的故事中,DPU高效的提供CPU 数据,是“奶妈”。
这些手段的目标都是降低TCO,是因为CPU来做这些工作不经济。
在DPU上一堆处理器,来和CPU比赛干活,这个是不是比CPU更有优势?见仁见智。
AWS的Nitro系列,以及阿里的MOC等等。都是特殊定制的DPU。目前国内几大云厂,基本上全部都有自研方案或者自研计划。
每家云厂的解决方案都有所不同,特别是DPU是软件和硬件紧密耦合的产物。
如何把DPU芯片卖给也做这个方面的云厂“竞争对手”?
“上周末的智能网卡研讨会,老哥网上听了下各路专家的演讲,云厂面临的问题多,市场能提供的大规模部署的解决方案很少,头部云厂商(阿里,腾讯)都是带着自研方案而来的,FPGA+CPU倒是成了大部分公司的DPU不约而同的系统方案,xilinx和intel的FPGA成为市场的选择,也看出来DPU芯片前路漫漫,且行且珍惜,祝大家国庆快乐。”
*免责声明:本文由作者原创。文章内容系作者个人观点,半导体行业观察转载仅为了传达一种不同的观点,不代表半导体行业观察对该观点赞同或支持,如果有任何异议,欢迎联系半导体行业观察。
今天是《半导体行业观察》为您分享的第2816内容,欢迎关注。
『
半导体第一垂直媒体
』
实时 专业 原创 深度
识别二维码
,回复下方关键词,阅读更多
晶圆|集成电路|设备
|汽车芯片|存储|台积电|AI|封装
回复
投稿
,看《如何成为“半导体行业观察”的一员 》
回复
搜索
,还能轻松找到其他你感兴趣的文章!