DPU技术的进步:赋予未来创新力量

随着云计算和虚拟化技术的发展,网卡在功能和硬件结构方面也经历了四个阶段,即网卡、智能网卡、基于FPGA的DPU和DPU SoC网卡。本文将重点介绍这些不同类型的网络适配器和处理器,在硬件、可编程能力、开发和应用方面的特点。

网卡的演进和应用

传统的基本网卡,也被称为NIC或网络适配器,在计算机网络中的作用至关重要。它的主要功能是将数据转换为网络设备之间高效传输所需的格式。随着时间的推移,网卡的功能不断扩展,除了融合额外功能,还具备基本的硬件卸载功能,例如CRC校验、TSO/UF0、LSO/LR0以及VLAN支持等。它还支持SR-IOV以实现虚拟化和QoS以提升网络性能。在网络接口带宽方面,它已经从100M和1000M的速率演进到支持更高速率的10G、25G甚至100G。

网卡

在云计算虚拟化网络中,传统的基本网卡提供了三种主要方法来为虚拟机提供网络访问。

1. 通过操作系统内核协议栈,网卡将传入的流量转发到虚拟机。

2. DPDK用户态驱动程序绕过内核协议栈,直接将数据包复制到虚拟机的内存中,以提高性能。

3. SR-IOV技术将物理网卡虚拟化为多个直接分配给虚拟机的虚拟功能(VF)。

随着VxLAN等隧道协议和虚拟交换技术等网络复杂性的增加,对CPU资源的需求也越来越高。智能网卡通过从CPU中卸载网络处理任务,提升整体网络性能,从而应对这一挑战。

智能网卡的演进和应用

智能网卡不仅提供传统基本网卡中的网络传输功能,还融合数据平面硬件卸载功能,例如使用FPGA或集成处理器与FPGA和处理器核心的OVS/vRouter硬件卸载。这些智能网卡提升云计算网络的转发速率,并减轻主机CPU的计算资源负担。

与传统的网卡不同,智能网卡不包含通用的CPU。相反,它们依赖主机CPU来管理控制平面。智能网卡卸载加速的主要焦点是数据平面,涵盖了诸如0VS/vRouter等虚拟交换机的快速路径卸载、RDMA网络卸载、NVMe-oF存储卸载和IPsec/TLS数据平面安全卸载等任务。

智能网卡

然而,随着云计算应用中网络速度的不断提高,主机CPU仍然需要大量的资源用于流量分类、跟踪和控制。实现主机CPU的“零消耗”已成为云服务提供商的下一个研究方向,旨在尽可能减少主机CPU参与这些任务。

基于FPGA的数据处理单元(DPU)的演进和应用

基于FPGA的数据处理单元(DPU)是一种智能网卡,可以卸载数据并具有平面控制功能。它在控制平面和数据平面上都是部分可编程的。在硬件方面,它包括一个基于FPGA的通用CPU处理器,例如英特尔CPU。

与智能网卡相比,基于FPGA的数据处理单元(DPU)通过整合通用CPU处理单元来增强硬件架构,形成了FPGA+CPU架构。这种配置有助于加速和卸载各种基础设施组件,包括网络、存储、安全和管理。目前,主流形式的DPU是FPGA+CPU配置,基于这种架构的DPU具有出色的软件和硬件可编程性。

基于FPGA的数据处理单元

在DPU的早期开发阶段,它提供了更短的开发时间和快速迭代,便于快速定制功能。这使得DPU制造商能够快速推出产品并抓住市场机遇。然而,随着网络带宽从25G过渡到100G,基于FPGA+CPU的DPU架构由于芯片工艺和FPGA结构的限制遇到挑战。这些限制使得在追求更高吞吐量的同时,有效控制芯片面积和功耗变得困难。因此,这种DPU架构的持续发展受到了阻碍。

DPU SoC网卡的演进和应用

与基于FPGA的架构不同,基于应用专用集成电路(ASIC)的DPU SoC将专用加速器的性能与通用处理器的可编程性相结合,解决了成本、功耗和功能等方面的问题。尤其是针对下一代100G服务器,它们在成本、功耗、高吞吐量和灵活的编程能力方面具有优势,DPU SoC可支持应用管理、虚拟机、容器和裸金属应用。

DPU技术正在不断发展,通用可编程的DPU SoC现在对于云服务提供商的数据中心建设至关重要。它们能够高效地管理计算和网络资源,支持多样化的云计算场景,并优化数据中心资源利用率。芯片巨头和领先的云服务提供商在DPU的研究、开发和利用方面进行了重大投资,通过持续的探索和实际实施取得了显著的成本效益。

DPU SoC网卡

亚马逊云中的DPU

亚马逊网络服务(AWS)是一家以Nitro DPU系统作为关键技术基础的顶级云计算服务提供商。Nitro DPU系统可以高效地将网络、存储、安全和监控功能卸载到专用的硬件和软件上。这使得服务实例可以访问大部分的服务器资源,从而大幅降低成本并增加年收入。Nitro DPU系统由多个组件组成:

1. Nitro卡:用于网络、存储和控制的专用硬件,以提升整体系统性能。

2. Nitro安全芯片:将虚拟化和安全功能转移到专用的硬件和软件上,减小攻击面,确保安全的云平台。

3. Nitro虚拟化管理程序:一种轻量级的虚拟化管理程序,高效地管理内存和CPU分配,提供与裸金属相当的性能。

亚马逊云中的DPU

通过提供关键的网络、安全、服务器和监控功能,Nitro DPU系统可以释放底层服务资源供客户虚拟机使用。它使得AWS可以提供更多的裸金属实例类型,甚至能够为特定实例实现高达100Gbps的网络性能。

英伟达(NVIDIA)DPU

英伟达(NVIDIA)是一家知名的半导体公司,以其在人工智能和高性能计算领域的图形处理单元(GPU)而闻名。该公司于2020年4月以69亿美元收购了网络芯片和设备公司迈络思(Mellanox)。在收购之后,英伟达(NVIDIA)推出了BlueField系列的DPU。

NVIDIA BlueField-3 DPU是专为人工智能和加速计算而设计的,继承了BlueField-2 DPU的先进功能。它提供高达400G的网络连接,并为软件定义的网络、存储、安全和管理功能提供卸载、加速和隔离能力。

英特尔(Intel)IPU

英特尔(Intel)IPU是一种配备了硬化加速器和以太网连接的先进网络设备。它利用紧密耦合的专用可编程核心来加速和管理基础设施功能。IPU实现基础设施卸载,并充当运行基础设施应用程序的主机控制点,提供了额外的安全层。将所有基础设施服务从服务器卸载到IPU中,释放服务器CPU资源,并为云服务提供商提供了一个独立且安全的控制点。

英特尔(Intel)IPU

英特尔的路线图包括Oak Springs Canyon和Mount Evans IPU产品。Oak Springs Canyon是基于FPGA的IPU产品,而Mount Evans IPU是基于ASIC的IPU产品。Oak Springs Canyon采用了英特尔的Agilex FPGA和Xeon-D CPU,而Mount Evans则由英特尔和谷歌共同设计,结合用于数据包处理的ASIC和16个ARM Neoverse N1核心,具备强大的计算能力。

阿里云中的DPU

阿里云是DPU技术探索的前沿。在2022年的阿里云峰会上,他们发布了基于神龙架构开发的云基础架构处理器CIPU。CIPU继承了其前身MoC卡(卡上微服务器)的功能和定位,与DPU的定义相吻合。MoC卡具有独立的I/O、存储和处理单元,并处理网络、存储和设备虚拟化任务。MoC卡经历了四个发展阶段:

  • 第一代和第二代MoC卡解决计算虚拟化的零开销挑战,通过软件实现了网络和存储虚拟化。

  • 第三代MoC卡引入了增强的网络转发功能,显著提高了网络性能。

  • 第四代MoC卡实现了网络和存储操作的完全硬件卸载,并支持RDMA功能。

阿里云的CIPU专为飞天系统设计,对于构建新一代综合软硬件云计算架构系统至关重要。

火山引擎DPU

火山引擎致力于推进自主开发的DPU技术,采用软硬集成的虚拟化方法,提供弹性和可扩展的高性能计算服务。他们的第二代弹性裸金属服务器和第三代云服务器都配备了自主研发DPU。这些DPU经过了广泛的测试,以确保其在各种应用中的功能和适应性。

2022年推出的第二代弹性裸金属实例将物理机的稳定性和安全性与虚拟机的灵活性相结合,代表了高性能云服务器的新一代。

2023年上半年发布的第三代云服务器实例将火山引擎最新的DPU架构与专有的虚拟交换机和虚拟化技术集成在一起,显著提高了网络和存储I/O性能。

通过结合自主开发的DPU、虚拟交换机和虚拟化技术,Volcano Engine旨在提供可扩展和高效的高性能计算解决方案,以满足云计算不断演变的需求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/686492.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第四节笔记:XTuner 大模型单卡低成本微调实战

视频链接:https://www.bilibili.com/video/BV1yK4y1B75J/?spm_id_from333.788&vd_source3bbd0d74033e31cbca9ee35e111ed3d1 课程笔记: 1.Finetune简介 指令微调: 开始的大模型可能不知道问的是问题 这三种角色的划分只有在微调训练阶…

LeetCode、452. 用最少数量的箭引爆气球【中等,贪心,区间问题】

文章目录 前言LeetCode、452. 用最少数量的箭引爆气球【中等,贪心,区间问题】题目链接与分类思路贪心,连续区间数量问题 资料获取 前言 博主介绍:✌目前全网粉丝2W,csdn博客专家、Java领域优质创作者,博客…

Unity 减低GC和优化

文章目录 在Unity中,垃圾收集(Garbage Collection, GC)是一项重要的内存管理机制,但过度的GC活动可能会导致性能瓶颈。优化Unity项目中的GC涉及减少不必要的对象分配和生命周期管理。以下列举了五个实例来详细说明如何降低GC负担并…

数学建模【线性规划】

一、线性规划简介 线性规划通俗讲就是“有限的资源中获取最大的收益”(优化类问题)。而且所有的变量关系式都是线性的,不存在x、指数函数、对数函数、反比例函数、三角函数等。此模型要优化的就是在一组线性约束条件下,求线性目标…

java 课程签到管理系统Myeclipse开发mysql数据库web结构jsp编程servlet计算机网页项目

一、源码特点 java 课程签到管理系统是一套完善的java web信息管理系统 采用serlvetdaobean,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发&#xff0…

飞天使-k8s知识点20-kubernetes实操5-pod更新与暂停-statefulset

文章目录 资源调度 Deployment:扩缩容资源调度 Deployment:更新的暂停与恢复资源调度 StatefulSet:定义一个有状态服务headless service 金丝雀发布 资源调度 Deployment:扩缩容 扩容和缩容,常用的功能 scale[rootkub…

C++11---lambda表达式

lambda表达式 lambda表达式概念lambda表达式语法lambda表达式各部分说明 lambda表达式交换两个数lambda表达式底层原理lambda表达式的底层原理 lambda表达式之间不能相互赋值 lambda表达式概念 lambda表达式是一个匿名函数,恰当使用lambda表达式可以让代码变得简洁…

企业计算机服务器中了faust勒索病毒怎么办?Faust勒索病毒解密数据恢复

网络技术的不断发展与更新,为企业的生产运营提供了极大便利,但也为企业的数据安全埋下隐患。近期,云天数据恢复中心接到很多企业的求助,企业的计算机服务器遭到了faust勒索病毒攻击,给企业的生产运营带来了极大困扰&am…

matlab中mosek安装教程

MOSEK数学优化软件包(Mosek Optimization Tools) 是一款MOSEK优化软件包,是一款用来解决大规模级别数学优化问题的软件。MOSEK提供了特定解决线性编程、混合整数编程以及其它非线性转换优化问题。 mosek安装教程 ①去官网https://www.mosek…

【研究生复试】计算机软件工程人工智能研究生复试——资料整理(速记版)——数据库

1、JAVA 2、计算机网络 3、计算机体系结构 4、数据库 5、计算机租场原理 6、软件工程 7、大数据 8、英文 自我介绍 4. 数据库 1. B树相对于B树的区别及优势 B树中有重复元素,B树没有重复元素B树种每个节点都存储了key和data,B树内节点去掉了其中指向数…

【C++11】:unordered系列关联式容器

朋友们、伙计们,我们又见面了,本期来给大家解读一下有关unordered系列关联式容器的知识点,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成! C 语 言 专 栏:C语言:…

VNCTF 2024 Web方向 WP

Checkin 题目描述:Welcome to VNCTF 2024~ long time no see. 开题,是前端小游戏 源码里面发现一个16进制编码字符串 解码后是flag CutePath 题目描述:源自一次现实渗透 开题 当前页面没啥好看的,先爆破密码登录试试。爆破无果…

鸿蒙应用开发工程师招聘多吗?工资有多少呢?

随着鸿蒙操作系统的快速普及,越来越多的企业开始重视鸿蒙应用开发人才的培养和引进。那么,目前市场上鸿蒙应用开发工程师招聘多吗?工资有多少呢? 首先,我们来了解一下鸿蒙应用开发工程师的招聘情况。随着鸿蒙操作系统…

第三百五十回

文章目录 1. 概要介绍2. 获取方法2.1 获取语言2.2 获取地址 3.示例代码3. 内容总结 我们在上一章回中介绍了"给geolocator插件提交问题"相关的内容,本章回中将介绍如何获取系统语言.闲话休提,让我们一起Talk Flutter吧。 1. 概要介绍 我们在本…

【plt.imshow显示图像】:从入门到精通,只需一篇文章!【Matplotlib】

【plt.imshow显示图像】:从入门到精通,只需一篇文章!【Matplotlib】 🚀 利用Matplotlib进行数据可视化示例 🌵文章目录🌵 📘 1. plt.imshow入门:认识并安装Matplotlib库&#x1f308…

【数据结构】17 二叉树的建立

二叉树的建立 由于树是非线性结构,创建一颗二叉树必须首先确定树中结点的输入顺序,常用方法是先序创建和层序创建。 层序创建所用的节点输入序列是按数的从上至下从左到右的顺序形成的各层的空结点输入数值0。在构造二叉树过程中需要一个队列暂时存储各…

gitlab runner 安装、注册、配置、使用(K8S部署)

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

C++中获取成员函数地址的方法

C中获取成员函数地址的方法 文章目录 C中获取成员函数地址的方法[toc]前言方法1:通过联合体的共享储存机制方法2:通过汇编取成员函数偏移得到地址调用方法和测试案例 前言 ​ 这里我一共总结了两种目前可以说是最高效易用的方法来获取成员函数地址&…

深度学习主流开源框架:Caffe、TensorFlow、Pytorch、Theano、Keras、MXNet、Chainer

2.6 深度学习主流开源框架 表2.1 深度学习主流框架参数对比 框架关键词总结 框架关键词基本数据结构(都是高维数组)Caffe“在工业中应用较为广泛”,“编译安装麻烦一点”BlobTensorFlow“安装简单pip”TensorPytorch“定位:快…

探索设计模式的魅力:揭秘模版方法模式-让你的代码既灵活又可维护

设计模式专栏:http://t.csdnimg.cn/U54zu 目录 一、开篇二、应用场景一坨坨代码实现存在的问题 三、解决方案模式方法结构示意图及说明用模板方法模式重构示例解决的问题 四、工作原理使用模板方法模式重写示例结构图核心结构:抽象类和具体实现 五、总结…