Virtualization of the programmable data plane allows multiple virtual pipelines to be placed on the same physical programmable device, enabling more flexible network function composition, debugging, etc. Existing proposals like HyPer4 and HyperVDP realize virtualization with a hypervisor-like program to emulate customers' programs, which becomes the mainstream of the current methods. Despite the progress achieved, their designs still have problems from inefficient structure to waste of resources. At the same time, they do not consider how to reasonably place the pipeline of different customers on the hypervisor which may cause unnecessary recirculations. So, in this paper, we present HyperSwitch, an efficient data plane hypervisor with several new techniques to optimize its structure design and reduce the resource consumption. We also model the multiple pipeline placement problem into an integer linear programming problem so that it can have the optimal solution. Compared to existing work, HyperSwitch acquires a decreasing delay by 26.3\% on average and avoids almost all happenings of recirculation.
[1]
George Varghese,et al.
Compiling Packet Programs to Reconfigurable Switches
,
2015,
NSDI.
[2]
Chengchen Hu,et al.
P4Visor: lightweight virtualization and composition primitives for building and testing modular programs
,
2018,
CoNEXT.
[3]
Jianping Wu,et al.
HyperVDP: High-Performance Virtualization of the Programmable Data Plane
,
2019,
IEEE Journal on Selected Areas in Communications.
[4]
George Varghese,et al.
Forwarding metamorphosis: fast programmable match-action processing in hardware for SDN
,
2013,
SIGCOMM.
[5]
Walid Dabbous,et al.
P4Bricks: Enabling multiprocessing using Linker-based network data plane architecture
,
2017
.