P4QoS: QoS-based Packet Processing with P4

Networks often need to concurrently process millions of flows with varying Quality-of-Service (QoS) requirements. Doing so by deploying flow-specific rules at network nodes would require significant memory and overhead.In this paper, we take a fundamentally different approach, called P4QoS, by embedding QoS requirements in the packets themselves and leveraging P4-programmable network switches to process the traffic based on them. We illustrate and evaluate our approach with latency as our QoS metric, but our concept can be applied to other metrics as well. Our evaluation, both in software (Mininet) and in hardware (Intel Tofino), shows that P4QoS can satisfy application-specific QoS requirements with negligible memory overhead.

[1]  Ralf Steinmetz,et al.  P4-CoDel: Active Queue Management in Programmable Data Planes , 2018, 2018 IEEE Conference on Network Function Virtualization and Software Defined Networks (NFV-SDN).

[2]  Fernando A. Kuipers,et al.  Dynamic Network Slicing for the Tactile Internet , 2020, 2020 ACM/IEEE 11th International Conference on Cyber-Physical Systems (ICCPS).

[3]  George Varghese,et al.  Programming Protocol-Independent Packet Processors , 2013, ArXiv.

[4]  Kajal T. Claypool,et al.  Latency and player actions in online games , 2006, CACM.

[5]  Anirudh Sivaraman,et al.  In-band Network Telemetry via Programmable Dataplanes , 2015 .

[6]  Van Jacobson,et al.  Controlled Delay Active Queue Management , 2018, RFC.

[7]  Fernando A. Kuipers,et al.  Fast network congestion detection and avoidance using P4 , 2018, NEAT@SIGCOMM.

[8]  Arjan Durresi,et al.  Quality of Service (QoS) in Software Defined Networking (SDN): A survey , 2017, J. Netw. Comput. Appl..