首页 > 最新资讯 > 什么是DPU?
什么是DPU?

什么是DPU?

2020-06-01 20:01

#人工智能 #深度学习


什么是DPU

相信很多人对于CPU(中央处理器)已经非常熟悉了。灵活、响应迅速的CPU多年来一直是大多数计算机中唯一的可编程元件。

近年来,GPU(图形处理单元)逐渐成为了计算的中心。最初GPU是用来做功能强大的实时图形处理,现在凭借其优秀的并行处理能力,已经成为各种加速计算任务的理想选择。

这使GPU成为了人工智能深度学习大数据分析应用的关键。

过去十年中,计算已经不仅仅局限在个人电脑和服务器内,CPU和GPU已经被广泛地用于各个新型超大规模数据中心

这些数据中心通过功能强大的新型处理器连接在一起,DPU( Data Processing Unit ,数据处理器)已经成为了以数据为中心的加速计算模型的第三个计算单元。NVIDIA首席执行官黄仁勋在本月早些时候的一次演讲中表示:“它将成为未来计算的三大支柱之一。”

“CPU用于通用计算,GPU用于加速计算,而数据中心中传输数据的DPU则进行数据处理。”

什么是DPU?

数据处理器
--- 基于行业标准,高性能及软件可编程的多核CPU
--- 高性能网络接口
--- 灵活、可编程的加速引擎

DPU有什么与众不同之处?

DPU是一种新型可编程处理器,集三个关键要素于一身。DPU是一种SOC(System On Chip),它结合了:

行业标准的、高性能及软件可编程的多核CPU,通常基于已应用广泛的Arm架构,与其的SOC组件密切配合。

高性能网络接口,能以线速或网络中的可用速度解析、处理数据,并高效地将数据传输到GPU和CPU。

各种灵活和可编程的加速引擎,可以卸载AI机器学习、安全、电信和存储等应用,并提升性能。

所有这些DPU功能对于实现安全的、裸性能的、原生云计算的下一代云上大规模计算至关重要。

DPU:集成到SmartNIC

DPU可以用作独立的嵌入式处理器,但通常是被集成到SmartNIC(一种作为下一代服务器中关键组件的网卡)中。

其他号称DPU但却无法完全支持这三项必备的关键功能的设备,也在试图诠释这个问题:什么是DPU?


DPU可以用作独立的嵌入式处理器,但通常被集成到SmartNIC(一种作为下一代服务器中关键组件的网卡)中。

例如某些供应商所使用的专用处理器无法用到广泛的Arm CPU生态系统所提供的丰富的开发和应用环境。

还有些其他声称拥有DPU的厂商错误地将注意力只集中在使用嵌入式CPU来执行数据路径处理。

DPU:专注于数据处理

如果想通过蛮力在性能上击败传统的x86 CPU,结果注定会失败,这样做既没有竞争力,也无法扩展。如果说一个x86 CPU尚且无法以每秒100 Gbit的速度处理数据包,如何能期望一个嵌入式CPU做到?

换个思路,如果网卡足够强大和灵活,可以处理所有网络中的数据,而嵌入式CPU则被用来做控制路径的初始化和异常情况处理,一切就都解决了。

网络数据路径加速引擎至少需要具备下述10项功能:

--- 像OVS(开放式虚拟交换机)一样对数据包进行解析、匹配和处理

--- 基于Zero Touch RoCE的RDMA数据传输加速

--- 通过GPU-Direct加速器绕过CPU,将来自存储和其他GPU的数据通过网络直接传给GPU

--- TCP通信加速,包括RSS、LRO、checksum等操作

--- 网络虚拟化的VXLAN和Geneve Overlay卸载和VTEP卸载

--- 面向多媒体流、CDN(内容分发网络)和新的4K / 8K IP视频(如基于ST 2110规范的RiverMax)的 “Packet Pacing” 流量整形加速

--- 电信Cloud RAN的精准时钟加速器,例如5T for 5G (精准时钟调度5G无线报文传输技术)功能

--- 在线IPSEC和TLS加密加速,但不影响其它正在运行的加速操作

--- 支持SR-IOV、VirtIO 和PV(Para-Virtualization)等虚拟化

--- 安全隔离:如信任根、安全启动、安全固件升级以及基于身份验证的容器和应用的生命周期管理等

以上就是能对“什么是DPU”这个问题回答Yes的至关重要的10个加速和硬件功能。

那么究竟什么是DPU?这就是一个DPU:



许多所谓的DPU仅专注于提供上述功能中的一项或两项。

最糟糕的尝试是卸载数据路径到专有处理器。

虽然能做出原型,但是从数据中心的扩展行、可用性和适用行上来言,这一做法并不不明智。

相关新闻