Vector Packet Processing

Vector Packet Processing (VPP) platform is an extensible, open-source framework, which offers the functionality of network switches or routers.[1] Vector processing is the process of processing multiple packets at a time, with low latency. Single packet processing and high latency are present in the scalar processing approach, which VPP aims to make obsolete.[2][3]

This open-source, Linux Foundation backed[4] framework is part of the Fast Data Project (FD.io). VPP uses the Data Plane Development Kit device drivers and libraries for many of its layer 1 functions - however, this functionality is separated into an optional plugin-in for VPP.

Technology

edit

In order to push for scalability of networks, VPP reads the largest available vector of packets in the networks I/O layer. Instead of processing each packet individually throughout an entire graph with several nodes, VPP selects the entire vector of packets and pushes them through a graph node, before moving on to the next node. The instruction cache then adapts to the process and the remaining packets are processed even faster, due to the previously learned instructions from the first vector packet.[5]

edit

References

edit
  1. ^ "What is VPP?". FD.io Wiki. 2017-05-27. Retrieved 2020-08-12.
  2. ^ "Scalar vs Vector packet processing — The Vector Packet Processor 20.01 documentation". fd.io. Retrieved 2020-08-12.
  3. ^ "[Guide] Intro to Vector Packet Processing (VPP)". PANTHEON.tech. 2020-01-03. Retrieved 2020-08-12.
  4. ^ "VPP fd.io". wiki.fd.io. Linux Foundation. Retrieved 29 December 2016.
  5. ^ "VPP Technology". fd.io. Retrieved 2020-08-12.