深入浅出DPDK-1.1主流包处理硬件平台

news2024/10/6 6:42:48

DPDK用软件的方式在通用多核处理器上演绎着数据包处理的新篇章,而对于数据包处理,多核处理器显然不是唯一的平台。支撑包处理的主流硬件平台大致可分为三个方向:硬件加速器、网络处理器、多核处理器。

根据处理内容、复杂度、成本、量产规模等因素的不同,这些平台在各自特定的领域都有一定的优势。硬件加速器对于本身规模化的固化功能具有高性能低成本的特点,网络处理器提供了包处理逻辑软件可编程的能力,在获得灵活性的同时兼顾了高性能的硬件包处理,多核处理器在更为复杂多变的高层包处理上拥有优势,随着包处理的开源生态系统逐渐丰富,以及近年来性能的不断提升,其为软件定义的包处理提供了快速迭代的平台。

随着现代处理器的创新与发展(如异构化),开始集成新的加速处理与高速IO单元,它们互相之间不断地融合。在一些多核处理器中,已能看到硬件加速单元的身影。从软件包处理的角度,可以卸载部分功能到那些硬件加速单元进一步提升性能瓶颈;从硬件包处理的流水线来看,多核上运行的软件完成了难以固化的上层多变逻辑的任务;二者相得益彰。

1.1.1 硬件加速器

硬件加速器被广泛应用于包处理领域,ASIC和FPGA是其中最广为采用的器件。

ASIC(Application-Specific Integrated Circuit)是一种应特定用户要求和特定电子系统的需要而设计、制造的集成电路。ASIC的优点是面向特定用户的需求,在批量生产时与通用集成电路相比体积更小、功耗更低、可靠性提高、性能提高、保密性增强、成本降低等。但ASIC的缺点也很明显,它的灵活性和扩展性不够、开发费用高、开发周期长。

为了弥补本身的一些缺点,ASIC越来越多地按照加速引擎的思路来构建,结合通用处理器的特点,融合成片上系统(SoC)提供异构处理能力,使得ASIC带上了智能(Smart)的标签。

FPGA(Field-Programmable Gate Array)即现场可编程门阵列。它作为ASIC领域中的一种半定制电路而出现,与ASIC的区别是用户不需要介入芯片的布局布线和工艺问题,而且可以随时改变其逻辑功能,使用灵活。FPGA以并行运算为主,其开发相对于传统PC、单片机的开发有很大不同,以硬件描述语言(Verilog或VHDL)来实现。相比于PC或单片机(无论是冯·诺依曼结构还是哈佛结构)的顺序操作有很大区别。

全可编程FPGA概念的提出,使FPGA朝着进一步软化的方向持续发展,其并行化整数运算的能力将进一步在通用计算定制化领域得到挖掘,近年来在数据中心中取得了很大进展,比如应用于机器学习场合。我们预计FPGA在包处理的应用场景将会从通信领域(CT)越来越多地走向数据中心和云计算领域。

1.1.2 网络处理器

网络处理器(Network Processer Unit,NPU)是专门为处理数据包而设计的可编程通用处理器,采用多内核并行处理结构,其常被应用于通信领域的各种任务,比如包处理、协议分析、路由查找、声音/数据的汇聚、防火墙、QoS等。其通用性表现在执行逻辑由运行时加载的软件决定,用户使用专用指令集即微码(microcode)进行开发。其硬件体系结构大多采用高速的接口技术和总线规范,具有较高的I/O能力,使得包处理能力得到很大提升。除了这些特点外,NPU一般还包含多种不同性能的存储结构,对数据进行分类存储以适应不同的应用目的。NPU中也越来越多地集成进了一些专用硬件协处理器,可进一步提高片内系统性能。
在这里插入图片描述
图1-1是NP-5处理器架构框图,以EZCHIP公司的NP-5处理器架构为例,TOP部分为可编程部分,根据需要通过编写微码快速实现业务相关的包处理逻辑。NPU拥有高性能和高可编程性等诸多优点,但其成本和特定领域的特性限制了它的市场规模(一般应用于专用通信设备)。而不同厂商不同架构的NPU遵循的微码规范不尽相同,开发人员的成长以及生态系统的构建都比较困难。虽然一些NPU的微码也开始支持由高级语言(例如C)编译生成,但由于结构化语言本身原语并未面向包处理,使得转换后的效率并不理想。

随着SDN对于可编程网络,特别是可编程数据面的要求,网络处理器也可能会迎来新的发展机遇,但依然需要解决好不同架构的底层抽象以及上层业务的语义抽象。

1.1.3 多核处理器

现代CPU性能的扩展主要通过多核的方式进行演进。这样利用通用处理器同样可以在一定程度上并行地处理网络负载。由于多核处理器在逻辑负载复杂的协议及应用层面上的处理优势,以及越来越强劲的数据面的支持能力,它在多种业务领域得到广泛的采用。再加上多年来围绕CPU已经建立起的大量成熟软件生态,多核处理器发展的活力和热度也是其他形态很难比拟的。

图1-2是Intel双路服务器平台框图,描述了一个典型的双路服务器平台的多个模块,CPU、芯片组C612、内存和以太网控制器XL710构成了主要的数据处理通道。基于PCIe总线的I/O接口提供了大量的系统接口,为服务器平台引入了差异化的设计。
在这里插入图片描述
当前的多核处理器也正在走向SoC化,针对网络的SoC往往集成内存控制器、网络控制器,甚至是一些硬件加速处理引擎。

这里列出了一些主流厂商的多核处理器的SoC平台:IA multi-core Xeon、Tilear-TILE-Gx、Cavium Network-OCTEON&OCTEON II、Freescale-QorIQ、NetLogic Microsystem-XLP。

图1-3的Cavium OCTEON处理器框图以Cavium OCTEON多核处理器为例,它集成多个CPU核以及众多加速单元和网络接口,组成了一个片上系统(SoC)。在这些SoC上,对于可固化的处理(例如,流分类,QoS)交由加速单元完成,而对于灵活的业务逻辑则由众多的通用处理器完成,这种方式有效地融合了软硬件各自的优势。随着软件(例如,DPDK)在I/O性能提升上的不断创新,将多核处理器的竞争力提升到一个前所未有的高度,网络负载与虚拟化的融合又催生了NFV的潮流。
在这里插入图片描述

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

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

相关文章

【数据结构】- 链表之单链表(上)

文章目录 前言一、链表1.1链表的概念及结构1.2链表的分类 二、单链表(上)2.1单链表的实现2.2单链表实现的两种结构解析2.3单链表的接口实现2.3.1头插2.3.2温馨提醒 宝子~2.3.3头插完整版代码2.3.4尾插2.3.5温馨提醒 宝子~2.3.6总而言之 总结 前言 “偶尔失意 是为了压住翘起的…

web事件循环

事件循环的应用:计时器 promise ajax node 单线程是异步产生的原因,事件循环时异步的实现方式 1.浏览器进程模型 进程:程序运行需要自己专属的内存空间,可以把这块内存空间简单的理解为进程。 每个应用至少又一个进程&#xff…

头文件stdafx.h的作用(常见错误),以及如何在空项目中添加该头文件

头文件stdafx.h的作用(常见错误),以及如何在空项目中添加该头文件 预编译头文件 stdafx.hfatal error C1083: 无法打开包括文件:“stdafx.h”: No such file or directoryfatal error C1083: 无法打开预编译头文件:“Debug\Win32RegistryClas…

【LeetCode】72. 编辑距离

72. 编辑距离(困难) 思路 状态定义:「dp[i][j] 表示第一个字符串到 i ,第二个字符串到 j,要想使得 word1 word2 ,最少的修改次数」。状态转移方程: 当第 i 位和第 j 位对应的字符相同时&#x…

【youcans 的 OpenCV 学习课】21. Haar 小波变换与 Haar 特征检测(上)

专栏地址:『youcans 的图像处理学习课』 文章目录:『youcans 的图像处理学习课 - 总目录』 【youcans 的 OpenCV 学习课】21. Haar 小波变换与 Haar 特征检测(上) 1. 小波变换1.1 小波变换基本概念例程 17_1:常用小波族…

学会这几个Word技巧,让你办公省时又省力(一)

如果在学习,或者工作上,你经常需要用到Word文档,那下面这几个Word技巧一定要学习收藏,提升工作效率不是一点点。 ​1. 快速定位对象 有时候文档的内容很长,涉及很多表格、图片、图表,想要检查一下所有的图…

linux从入门到精通 第一章centos7里tomcat,jdk,httpd,mysql57,mysql80的安装

配置centos运行环境 一 安装httpd,tomcat,jdk,mysql1 安装httpd2 安装tomcat3 安装jdk 三 MySql的安装1 克隆出来两台虚拟机2 配置虚拟机3 链接xhsell4 链接xftp5 mysql8的安装6 mysql5.7的安装 一 安装httpd,tomcat,jdk,mysql 1 安装httpd 下载httpd yum -y install httpd关…

微信小程序php+vue校园达达互助平台快递代取系统

校园快递互助平台所要实现的功能分析,对于现在网络方便,校园快递互助平台要实现管理员、学生、兼职者可以直接在平台上进行查看自己所需数据信息,这样既能节省管理的时间,不用再像传统的方式,如果用户想要进行交流信息…

精读《利用 GPT 解读 PDF》

hatPDF 最近比较火,上传 PDF 文件后,即可通过问答的方式让他帮你总结内容,比如让它帮你概括核心观点、询问问题,或者做观点判断。 背后用到了几个比较时髦的技术,还好有 ChatGPT for YOUR OWN PDF files with LangCha…

【Java实战篇】Day11.在线教育网课平台--RBAC

文章目录 一、用户授权1、RBAC2、资源服务授权流程3、授权相关的数据模型4、查询用户权限5、细粒度授权 二、找回密码与注册1、找回密码2、注册 三、需求:学生选课1、添加选课需求分析2、数据模型设计2、查询课程信息接口3、添加选课接口4、完善controller 一、用户…

每日一个小技巧:1招教你手机消除笔怎么用

在日常生活中,我们经常需要在手机上进行编辑和涂改,但是由于各种原因,我们可能会做出错误或者不满意的修改。这时候,消除笔就派上用场了。消除笔可以帮助我们在不影响其他内容的前提下,对错误或者不满意的修改进行撤销…

java实现大气无风环境污染物扩散模拟

一、扩散公式整理 二、编写java代码实现 String strJson InterpolationUtils.calGaussPlumePoints0(z,height,q,lon,lat, size,scale,airStable); return strJson.replaceAll("NaN","0").replaceAll("Infinity",String.valueOf(q)); String st…

【机器学习】P23 决策树、熵和信息增益

决策树、熵与信息增益 决策树熵信息增益Python 与 决策树 决策树 决策树(Decision Tree) 是一种基于树形结构的分类算法,它通过一系列的询问(也称为测试或判定条件)来判断一个数据实例属于哪个类别。 以一个案例贯穿…

Go | 一分钟掌握Go | 2 - 集成开发工具

作者:Mars酱 声明:本文章由Mars酱编写,部分内容来源于网络,如有疑问请联系本人。 转载:欢迎转载,转载前先请联系我! 工具介绍 编码是一门传统手艺活,手艺好不好很重要,器…

高精度气象模拟软件WRF实践技术

【原文链接】:高精度气象模拟软件WRF(Weather Research Forecasting)实践技术及案例应用https://mp.weixin.qq.com/s?__bizMzU5NTkyMzcxNw&mid2247538149&idx3&sn3890c3b29f34bcb07678a9dd4b9947b2&chksmfe68938fc91f1a99bbced2113b09cad822711e7f…

开发者必读!常用的二维码生成器 API 推荐

引言 二维码是一种能够存储信息的图形码,它在现代社会中扮演着越来越重要的角色。生成二维码的过程通常需要使用二维码生成器,而现在有很多二维码生成器 API 可以供开发者使用。 在本文中,我们将讨论二维码生成器 API 的工作原理、应用场景…

CHAPTER 6: 《DESIGN A KEY-VALUE STORE》 第6章 《设计一个键值存储》

CHAPTER 6: DESIGN A KEY-VALUE STORE 键值存储(也称为键值数据库)是一种非关系数据库。每一个唯一标识符存储为与其关联值的键。这种数据配对称为“键-值”对。 在一个键-值对中,键必须是唯一的,与该键相关联的值可以是通过密钥访问。键可以是纯文本或…

编译原理个人作业--第五章——基于 编译原理 国防工业出版社 第三版

1 文法 G 1 G_1 G1​为 E → E T ∣ T T → T ∗ F ∣ F F → ( E ) ∣ i E\rightarrow ET|T\\ T\rightarrow T*F|F\\ F\rightarrow(E)|i E→ET∣TT→T∗F∣FF→(E)∣i 请证明 E T ∗ F ET*F ET∗F是他的一个句型(课本写的是ET*T感觉是印错了),指出它的所有短语…

这份最新阿里、腾讯、华为、字节等大厂的薪资和职级对比,你看过没?

互联网大厂新入职员工各职级薪资对应表(技术线)~ 最新阿里、腾讯、华为、字节跳动等大厂的薪资和职级对比 上面的表格不排除有很极端的收入情况,但至少能囊括一部分同职级的收入。这个表是“技术线”新入职员工的职级和薪资情况,非技术线(如产品、运营、…

pbootcms自动配图出图插件

pbootcms文章无图自动出图配图插件的优点 1、提高文章的可读性和吸引力:插入图片可以丰富文章的内容和形式,增强读者的阅读体验和吸引力,提高文章的点击率和转化率。 2、节省时间和精力:手动添加图片需要花费大量时间和精力去寻找…