0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于DPU的那些事

h1654155149.6853 来源:歪睿老哥 作者:申墨-歪睿老哥 2021-10-13 17:56 次阅读

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芯片前路漫漫,且行且珍惜,祝大家国庆快乐。”

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    445

    文章

    47476

    浏览量

    407878
  • DPU
    DPU
    +关注

    关注

    0

    文章

    287

    浏览量

    23962

原文标题:大话DPU

文章出处:【微信号:电子工程世界,微信公众号:电子工程世界】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    《数据处理器:DPU编程入门》DPU计算入门书籍测评

    一、DPU计算框架 通过一周多的时间翻阅这本书,基本上这本书是一本比较全面的,面向架构的新手指导数据。它在书中详尽介绍了关于DPU在计算机架构中的应用。 对于DPU来说,是一种平行于
    发表于 12-24 10:54

    《数据处理器:DPU编程入门》读书笔记

    首先感谢电子发烧友论坛提供的试读机会。 第一周先阅读了DPU的技术发展背景,了解到DPU是结合了高性能及软件可编程的多核CPU、高性能网络接口,以及各种灵活和可编程的加速引擎。DPU的主要作用是卸载
    发表于 12-21 10:47

    《数据处理器:DPU编程入门》+初步熟悉这本书的结构和主要内容

    dpu:推出的主要意义是为了减轻CPU的数据处理负担,使得cpu可以更具专注自己的通用计算处理运算。 1、DPU数据处理器,演进的核心驱动力是什么? 计算工作负载的不断增长是DPU演进的核心驱动力
    发表于 12-08 18:03

    关于射频微机电系统开关的那些事儿

    关于射频微机电系统开关的那些事儿
    的头像 发表于 12-06 14:58 212次阅读
    <b class='flag-5'>关于</b>射频微机电系统开关的<b class='flag-5'>那些</b>事儿

    关于MLCC(多层陶瓷电容)替代Film Cap (薄膜电容)的那些

    关于MLCC(多层陶瓷电容)替代Film Cap (薄膜电容)的那些
    的头像 发表于 12-04 17:35 502次阅读
    有<b class='flag-5'>关于</b>MLCC(多层陶瓷电容)替代Film Cap (薄膜电容)的<b class='flag-5'>那些</b>事

    什么是DPU

    什么是DPU? 相信很多人对于CPU(中央处理器)已经非常熟悉了。灵活、响应迅速的CPU多年来一直是大多数计算机中唯一的可编程元件。 近年来,GPU(图形处理单元)逐渐成为了计算的中心。最初GPU
    发表于 11-03 10:55

    解码 DPU 编程,投稿赢取好礼!

    表示对阅读本书的期待。 《数据处理器:DPU 编程入门》阅读分享征集活动邀您一起参与!欢迎分享您在阅读或学习本书的过程中的体验、收获以及感想。 关于《数据处理器:DPU 编程入门》 本书由 NVIDIA
    的头像 发表于 11-01 20:25 211次阅读
    解码 <b class='flag-5'>DPU</b> 编程,投稿赢取好礼!

    【书籍评测活动NO.23】数据处理器:DPU编程入门

    资格! “DPU将是未来计算的三大支柱之一。CPU用于通用计算,GPU用于加速计算,而DPU在数据中心移动数据,进行数据处理。” ——NVIDIA 创始人兼首席执行官黄仁勋于 GTC 2020
    发表于 10-24 15:21

    NVIDIA 知乎精彩问答甄选 | 了解更多关于 NVIDIA BlueField DPU 相关精彩问答

    NVIDIA 带来知乎精彩问答甄选系列,将为您精选知乎上有关 NVIDIA 产品的精彩问答。 本期为问答甄选第十三期 ——  分享 NVIDIA BlueField DPU 相关精彩问答 以下两个
    的头像 发表于 09-20 19:10 216次阅读

    关于DPU技术应用及技术原理

    让我们全面了解一下DPU——它包括外部网络接口,可以通过NVMeoF/TCP和RoCE协议进行通信,还有内部PCIe接口,可以将NVMe通信为根复合体(Root Complex)或终端设备(Endpoint)。
    发表于 09-20 14:41 618次阅读
    <b class='flag-5'>关于</b><b class='flag-5'>DPU</b>技术应用及技术原理

    【KV260视觉入门套件试用体验】部署DPU镜像并开发一个图像识别程序

    一.部署DPU镜像到KV260 DPU镜像有关介绍:DPU(Data Processing Unit)镜像是一个包含特定配置和预安装软件的虚拟化环境,用于运行数据处理任务。它可以帮助工程师快速部署
    发表于 09-18 14:15

    在不同应用场景下DPU不同的性能要求阐述

    DPU本质上是通过DPU卡上资源,解耦计算、控制、存储,利用CPU、GPU、FPGA加速器等异构处理单元,通过以智能卡为接口的网络实现高效的数据分发和调度。市面上流行的DPU产品基本上都实现了3类功能卸载,包括网络功能卸载、存储
    的头像 发表于 08-09 16:40 1491次阅读
    在不同应用场景下<b class='flag-5'>DPU</b>不同的性能要求阐述

    《揭秘 NVIDIA DPU &amp; DOCA》 开讲啦!

    由 NVIDIA 专家主讲的 《揭秘 NVIDIA DPU DOCA》 系列视频在知乎 重磅推出 ! 在总共八期的视频中,专家将带您深度了解 NVIDIA BlueField DPU 及其灵魂伴侣
    的头像 发表于 06-08 20:55 351次阅读
    《揭秘 NVIDIA <b class='flag-5'>DPU</b> &amp; DOCA》 开讲啦!

    DPU,云厂商的节约成本的王牌

    电子发烧友网报道(文/周凯扬)随着AI计算在数据中心逐渐占据主导地位,整个服务器系统架构中的虚拟化、网络交换对硬件提出了更高的需求,为了降低进一步CPU的负载,DPU也就应运而生。通过使用DPU
    的头像 发表于 06-08 09:19 1678次阅读

    DPU能解决什么问题?

    Data Processing Unit,即数据处理器。DPU最直接的作用是作为CPU的卸载引擎,接管网络虚拟化、硬件资源池化等基础设施层服务,释放CPU的算力到上层应用。以网络协议
    的头像 发表于 04-19 15:41 1916次阅读
    <b class='flag-5'>DPU</b>能解决什么问题?