• VPP(Vector Packet Processing)浅析


    VPP简介

    • VPP(Vector Packet Processing)是思科旗下的一款可拓展的开源框架,提供容易使用的、高质量的交换、路由功能
    • 特点:高性能、运行在普通的cpu上。
    • 优点:高性能、技术成熟、模块化、灵活性,有丰富的特征集。
    • 可以允许任何人插入新的结点无需改动内核代码。

    模块化、灵活性、可延展性

    • VPP构建基于“包处理图”,意味着可以“插入”新的结点,变得容易拓展,可以自定义一些特定的功能。
    • 插件如何运行:运行时,VPP平台从RX rings抓取所有可用包组成一个包向量,构建一个包处理图(包括插件)。并且图结点松耦合,使得新的插件易于使用,容易和现存图结点结合。

    包处理的革新

    • 包处理由逐个处理变为处理一批的包(向量包)

    VPP使用

    • 你可以在VPP source tree上独立地构建一个插件。
    • VPP可以用于构建各种包处理应用,可以基于负载均衡、防火墙等等,比如把负载均衡加到vSwitch上。
    • VPP引擎运行在纯用户空间上,你不需要源代码即可扩展这个引擎的功能。
    • 新的自定义图结点
    • 重组图结点
    • 新的低级别APIs

    传统方法

    • 所谓VPP向量报文处理是与传统的标量报文处理相对而言的。传统报文处理方式,同时也是人类常用的逻辑思维方式,即:报文是按照到达先后顺序来处理,第一个报文处理完,处理第二个,依次类推;A callsB calls C….return return return,函数会频繁嵌套调用,并最终返回。
    • 简而言之,传统报文处理是对到来的包逐个处理,不加分类。
    • 由此可见,传统标量报文处理有如下缺陷:
    1. I-cache 抖动(cache时间局限性和空间局限性特点)

    2. I-cache misses

    3. 除了扩大cache外,没有变更方案。

    VPP方法

    • 简而言之,向量包处理采用了“分类”的思想,将一批报文分为一类,用一个图结点表示。按类处理,如果cache命中,则这一批报文都命中;否则则一批都未命中。未命中时,由传统的n个包未命中n次变为n个包未命中1次。
    • VPP把一批底层硬件队列Rx ring收到的包,组成一个Packet Vector或者是一组包,借助于报文处理图Packet Processing graph来实现处理流程,图节点graph node把整个过程分解为一个个先后连接的服务node。这一组包(packet vector)被第一个graph node节点的任务处理,然后依次被第二个graph node节点的任务处理,依次类推,
    • 由于向量报文中的第一个报文packet-1为I-cache进行了热身,向量报文中剩下报文的处理性能可以直接达到极限,I-cache 缺失的固定开销平摊到了整个向量处理中,使单个报文的处理开销显著降低。
      由此可见,向量报文处理解决了标量处理的主要性能缺陷,并有具有如下优点:
    1. 缓解了I-cache抖动问题
    2. 向量报文进行预取缓解了读时延问题,高性能并且更加稳定
    为什么叫向量包
    • 这种方法解决了堆栈地址上堆栈深度/ D缓存未命中相关的问题。 它改善了“电路时间”。 “电路”是抓取来自设备RX环的所有可用分组的循环,形成由按照RX顺序的分组索引组成的“帧”(矢量),通过有向图节点运行分组,并返回到RX 环。 随着数据包处理的继续,电路时间基于提供的负载达到稳定的平衡。

    丰富的特性

    • VPP可应用于
  • 相关阅读:
    深度学习遥感影像(哨兵2A/B)超分辨率
    基于Google Earth Engine的全国地表温度反演
    蚂蚁森林的树木长得如何了?遥感云计算告诉你!!
    基于单分类器的高分辨率遥感影像道路提取
    基于google earth engine 云计算平台的全国水体变化研究
    超大影像栅格转矢量快速实现
    大规模深度学习多通道遥感图像样本增强
    大规模遥感影像匀光匀色的一些思考
    基于深度学习的珠海一号高光谱影像云检测
    全自动多源遥感影像大气校正方法
  • 原文地址:https://www.cnblogs.com/vancasola/p/8934122.html
Copyright © 2020-2023  润新知