目录

FD.io背后的技术

硬件加速


FD.io背后的技术

FD.io的核心是矢量数据包处理(VPP)。

从2002年开始开发,VPP是当前在运输产品中运行的生产代码。它在x86服务器和嵌入式设备上的x86,ARM和Power架构等多种架构的用户空间中运行。VPP的设计与硬件,内核和部署(裸机,VM,容器)无关。它完全在用户空间中运行。

VPP帮助FD.io突破了性能和规模的极限。独立测试表明,以VPP为基础的FD.io在规模上比当前可用的技术快两个数量级。

VPP从网络IO层读取最大的可用数据包向量。

然后,VPP通过“数据包处理”图处理数据包的向量。

VPP不会处理整个图形中的第一个数据包,然后处理整个图形中的第二个数据包,而是先处理通过一个图形节点的所有数据包向量,然后再移动到下一个图形节点。

由于向量中的第一个数据包会预热指令缓存,因此其余数据包往往会以极高的性能进行处理。处理数据包向量的固定成本在整个向量中摊销。这不仅导致非常高的性能,而且还导致统计上可靠的性能。如果VPP落后一点,则下一个向量包含更多的数据包,因此固定成本将在更大数量的数据包中摊销,从而降低了每个数据包的平均处理成本,从而导致系统追赶。结果,吞吐量和等待时间非常稳定。如果有多个核可用,则图形调度程序可以将(向量,图形节点)对调度到不同的核。

粗略的日常比喻是要考虑一堆木材的问题,其中每一块木材都需要切割,打磨并在上面钻个孔。一次只能拥有一个工具(类似于指令缓存)。如果您先拿起锯子并进行所有切割,然后拿起砂光机并进行所有打磨,然后拿起钻头并进行所有操作,则将更快地完成木材的切割,打磨和钻孔。您的钻探。拿起每个木材的工具要慢得多。

VPP的图形节点体系结构还易于扩展。您可以从单独的源代码库中为VPP构建独立的二进制插件(只需要标头)。插件从插件目录加载。VPP插件可以重新排列数据包图并引入新的图节点。这允许通过插件引入新功能,而无需更改核心基础结构代码。

硬件加速

这种相同的图节点体系结构还允许FD.io在可用时动态地利用硬件加速,从而使供应商能够继续在硬件方面进行创新,而不会违反FD.io软件的“随处运行”的承诺。

从逻辑上讲,您可以将硬件加速视为将某些软件图形节点替换为执行相同功能的硬件,只是速度更快。因为硬件加速器供应商可以通过简单地提供一个充当输入节点的插件来实现此目的,该插件可以移交给要在软件中执行功能的第一个图形节点,或者提供一个输出节点就可以尽快移交该插件。软件处理完成。这样,可以使用加速硬件(如果存在),但是如果功能缺失或资源用尽,则功能可以继续。这种架构为硬件加速器提供了最大的创新空间。

向量封包处理器(VPP)如何运作相关推荐

  1. 向量封包处理器(VPP)特点

    目录 功能详细信息: 基于ACL的转发 安全组的ACL 地址解析协议 邻接 双向转发检测 位索引显式复制 粘接 缓冲区元数据更改跟踪器 对静态http或https服务器的内置URL支持 警察 分类 数 ...

  2. FD.io VPP 20.09版本正式发布:往期VPP文章回顾+下载地址+相关链接

    目录 下载RPM/DEB包 往期文章回顾与推荐 FD.io是一些项目和库的集合,基于DPDK并逐渐演化,支持在通用硬件平台上部署灵活可变的业务.FD.io为软件定义基础设施的开发者提供了一个通用平台, ...

  3. FD.io VPP基本介绍-理解VPP软件架构

    向量封包处理器 1. 什么是VPP 1.1. 介绍 VPP平台是一个可扩展的框架,可提供开箱即用的生产质量交换机/路由器功能.它是思科矢量数据包处理(VPP)技术的开源版本:一种高性能的数据包处理协议 ...

  4. FD.io VPP基本介绍:理解向量包处理(VPP)

    FD.io VPP:用户文档 向量包处理器 RToax 2020年9月 1. 什么是向量包处理器(VPP) FD.io的矢量包处理器(VPP)是一个快速,可扩展的2-4层多平台网络协议栈.它在Linu ...

  5. 基于DPDK+VPP实现高性能防火墙

    0. 数据平面和用户态协议栈 传统基于linux netfilter实现防火墙,虽然方便,但是性能很差.于是pfring/netmap/dpdk等机制,都要bypass掉内核协议栈. 多年来,各大操作 ...

  6. ARM处理器全解析:A8/A9/A15都是什么?

    前不久ARM正式宣布推出新款ARMv8架构的Cortex-A50处理器系列产品,以此来扩大ARM在高性能与低功耗领域的领先地位,进一步抢占移动终端市场份额.Cortex-A50是继Cortex-A15 ...

  7. intel第6代服务器芯片,Intel第六代处理器 Skylake CPU、GPU、主板完全解析

    CPU 篇 时间过的很快,对于老玩家来说,今年已经迎接第六代 Intel 处理器,当然这还不算古早时期的 Intel 产品.第六代处理器架构命名为 Skylake,根据 Intel 的 TIck-To ...

  8. RISC-V架构的开源处理器分析

    摘要:RISC-V架构本身面积小.性能较高,最为关键的是这一架构本身功耗较低且作为全新的开源精简指令集,无论是技术还是产品都得到了迅速的发展,效果突出.基于此,本文深入研究RISC-V架构开源处理器内 ...

  9. ARM最高处理器架构:cortex-a57 哪年能出来?

    前不久ARM正式宣布推出新款ARMv8架构的Cortex-A50处理器系列产品,以此来扩大ARM在高性能与低功耗领域的领先地位,进一步抢占移动终端市场份额.Cortex-A50是继Cortex-A15 ...

最新文章

  1. 目录树结构改变后刷新目录树
  2. Python的零基础超详细讲解(第十二天)-Python函数及使用
  3. js regex var highlight
  4. 2019年第十届蓝桥杯 - 省赛 - C/C++研究生组 - G. 扫地机器人
  5. Spring 注入内部 Beans
  6. [转]打造自己的LINQ Provider(上):Expression Tree揭秘
  7. 推荐系统遇上深度学习(一)--FM模型理论和实践
  8. 二叉树层次遍历c语言_每日一道 LeetCode (23):二叉树的层次遍历 II
  9. 文档化ring3 api列举驱动列表 --- 做了一些重构。(解决内存泄漏问题)
  10. 检测对象是否拥有某一属性
  11. matlab 和 ampl 结合,优化模型与AMPL案例.ppt
  12. vs中生成xml注释
  13. python中文分词的主要方法
  14. ESD(静电释放)下半部分
  15. MATLAB做晶体结构图(固体物理)
  16. 使用Camera X遇到的坑_OnPause时没有释放相机导致回来时黑屏
  17. win 7硬盘安装centos7 亲测可行
  18. 开源mysql web平台_Yearning Mysql–Web端SQL审核平台
  19. 用style标签的background-image属性 改变图片大小
  20. 【电影评价】——可爱的电影适合可爱的你!!!一直更新中

热门文章

  1. idea-导入其他项目模块的包爆红
  2. 【intellij idea 高级用法之:集成JIRA、UML类图插件、集成SSH、集成FTP、Database管理 】
  3. [转载]C# MemoryStream(内存流)
  4. day1 -- Python变量、注释、格式化输出字符串、input、if、while、for
  5. 第二十七篇 导航栏和内容块
  6. 《jquery实战》javascript 必知必会(1)
  7. Android Intent Action 大全
  8. RenderSection
  9. SQL Server存储过程基本语法
  10. 两个git库之间迁移_从一个git仓库迁移代码到另一个git仓库(亲测有效版)(转)...