Currently working on the design of data-driven infrastructures for network security and performance. Part of my work is funded by armasuisse and the Zurich Information Security & Privacy Center (ZISC).
Prior to joining ETH Zürich, I received a Master’s Degree in Telecommunication Engineering (2018) and a Bachelor’s Degree in Science and Telecommunication Technologies Engineering (2016), both from Universitat Politècnica de Catalunya (UPC) in Barcelona, Spain.
From February 2016 to July 2016, I was a visiting researcher at the Broadband Wireless Networking Lab, under the supervision of Prof. Dr. Ian F. Akyildiz, working on Network Virtualization for 5G Software-Defined Cellular Systems. I have also combined my theoretical basis with industry projects for organizations like CERN (2015), Imagine Creativity Center (2016) and IBM (2017).
USENIX NSDI 2020. Santa Clara, California, USA (February 2020).
Push-In First-Out (PIFO) queues are hardware primitives which enable programmable packet scheduling by allowing to perfectly reorder packets at line rate. While promising, implementing PIFO queues in hardware and at scale is not easy: only hardware designs (not implementations) exist and they can only support about 1000 flows.
In this paper, we introduce SP-PIFO, a programmable packet scheduler which closely approximates the behavior of PIFO queues using strict-priority queues—at line rate, at scale, and on existing devices. The key insight behind SP-PIFO is to dynamically adapt the mapping between packet ranks and available queues to minimize the scheduling errors. We present a mathematical formulation of the problem and derive an adaptation technique which closely approximates the optimal queue mapping without any traffic knowledge.
We fully implement SP-PIFO in P4 and evaluate it on real workloads. We show that SP-PIFO: (i) closely matches ideal PIFO performance, with as little as 8 priority queues; (ii) arbitrarily scales to large amount of flows and ranks; and (iii) quickly adapts to traffic variations. We also show that SP-PIFO runs at line rate on existing programmable data planes.