TY - GEN
T1 - Batched packet processing for high-speed software data plane functions
AU - Barach, David
AU - Linguaglossa, Leonardo
AU - Marion, Damjan
AU - Pfister, Pierre
AU - Pontarelli, Salvatore
AU - Rossi, Dario
AU - Tollet, Jerome
N1 - Publisher Copyright:
© 2018 IEEE.
PY - 2018/7/6
Y1 - 2018/7/6
N2 - In the last decade, a number of frameworks started to appear that implement, directly in user-space with kernel-bypass mode, high-speed software data plane functionalities on commodity hardware. Vector Packet Processor (VPP) is one of such frameworks, representing an interesting point in the design space in that it offers: (i) in user-space networking, (ii) the flexibility of a modular router (Click and variants) with (iii) the benefits brought by techniques such as batch processing that have become commonplace in lower-level building blocks of high-speed networking stacks (such as netmap or DPDK). Similarly to Click, VPP lets users arrange functions as a processing graph, providing a full-blown stack of network functions. However, unlike Click where the whole tree is traversed for each packet, in VPP each traversed node processes all packets in the batch before moving to the next node. This design choice enables several code optimizations that greatly improve the achievable processing throughput: the purpose of this demonstration is to introduce the main VPP concepts and architecture, as well as experimentally showing the impact of design choices- and especially of batch packet processing-, on the achievable packet forwarding performance.
AB - In the last decade, a number of frameworks started to appear that implement, directly in user-space with kernel-bypass mode, high-speed software data plane functionalities on commodity hardware. Vector Packet Processor (VPP) is one of such frameworks, representing an interesting point in the design space in that it offers: (i) in user-space networking, (ii) the flexibility of a modular router (Click and variants) with (iii) the benefits brought by techniques such as batch processing that have become commonplace in lower-level building blocks of high-speed networking stacks (such as netmap or DPDK). Similarly to Click, VPP lets users arrange functions as a processing graph, providing a full-blown stack of network functions. However, unlike Click where the whole tree is traversed for each packet, in VPP each traversed node processes all packets in the batch before moving to the next node. This design choice enables several code optimizations that greatly improve the achievable processing throughput: the purpose of this demonstration is to introduce the main VPP concepts and architecture, as well as experimentally showing the impact of design choices- and especially of batch packet processing-, on the achievable packet forwarding performance.
U2 - 10.1109/INFCOMW.2018.8406826
DO - 10.1109/INFCOMW.2018.8406826
M3 - Conference contribution
AN - SCOPUS:85050679603
T3 - INFOCOM 2018 - IEEE Conference on Computer Communications Workshops
SP - 1
EP - 2
BT - INFOCOM 2018 - IEEE Conference on Computer Communications Workshops
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 2018 IEEE Conference on Computer Communications Workshops, INFOCOM 2018
Y2 - 15 April 2018 through 19 April 2018
ER -