Jump to content

Vector Packet Processing: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Tekbasse (talk | contribs)
added entry to VPP disambiguation page, so making this complementary page
 
Oprs (talk | contribs)
m I'm assuming this is a typo, since "sector" doesn't make sense in that context.
 
(13 intermediate revisions by 10 users not shown)
Line 1: Line 1:
'''Vector Packet Processing''' (VPP) platform is an extensible, open-source framework, which offers the functionality of network switches or routers.<ref>{{Cite web|last=|first=|date=2017-05-27|title=What is VPP?|url=https://wiki.fd.io/view/VPP/What_is_VPP%3F|archive-url=|archive-date=|access-date=2020-08-12|website=FD.io Wiki}}</ref> V''ector 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.<ref>{{Cite web|title=Scalar vs Vector packet processing — The Vector Packet Processor 20.01 documentation|url=https://fd.io/docs/vpp/master/whatisvpp/scalar-vs-vector-packet-processing.html|access-date=2020-08-12|website=fd.io}}</ref><ref>{{Cite web|last=|first=|date=2020-01-03|title=[Guide] Intro to Vector Packet Processing (VPP)|url=https://pantheon.tech/vpp-guide/|archive-url=|archive-date=|access-date=2020-08-12|website=PANTHEON.tech|language=en-US}}</ref>
The [[Linux_Foundation#FD.io|FD.io]] VPP platform is an extensible framework that provides out-of-the-box production quality switch/router functionality. It is an open source version of Cisco's Vector Packet Processing (VPP) technology: a high performance, packet-processing stack that can run on commodity CPUs, and can leverage the Poll Mode Drivers for both NICs and cryptographic acceleration hardware and libraries.<ref name=VPP-fd.io>{{cite web|title=VPP fd.io|url=https://wiki.fd.io/view/VPP/What_is_VPP%3F|website=wiki.fd.io|publisher=[[Linux Foundation]]|accessdate=29 December 2016}}</ref> It is part of the [[Data_Plane_Development_Kit]].

This open-source, [[Linux Foundation|Linux Foundation backed]]<ref name="VPP-fd.io">{{cite web|title=VPP fd.io|url=https://wiki.fd.io/view/VPP/What_is_VPP%3F|accessdate=29 December 2016|website=wiki.fd.io|publisher=[[Linux Foundation]]}}</ref> framework is part of the '''[https://fd.io Fast Data Project]''' (FD.io). [https://fd.io/docs/vpp/master/ 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 vector of packets in the networks [[Input/output|I/O layer]]. Instead of processing each packet individually throughout an entire graph with several [[Node (networking)|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 (computing)|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.<ref>{{Cite web|title=VPP Technology|url=https://fd.io/vppproject/vpptech/|access-date=2020-08-12|website=fd.io}}</ref>

==External links==
* [https://fd.io FD.io Project Pages]
* [https://fd.io/docs/vpp/master/index.html VPP User Documentation]
* [https://wiki.fd.io/view/VPP FD.io Wiki on VPP]

==References==
{{Reflist}}

{{Routing software}}

[[Category:Free routing software]]
[[Category:Networking hardware]]

Latest revision as of 14:20, 24 September 2024

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.