Vector Packet Processing

Vector Packet Processing (VPP) platform is an extensible, open-source framework, which offers the functionality of network switches or routers. 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.

This open-source, Linux Foundation backed 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
In order to push for scalability of networks, VPP reads the largest available sector 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.