RIFO: Pushing the Efficiency of Programmable Packet Schedulers

by   Habib Mostafaei, et al.

Packet scheduling is a fundamental networking task that recently received renewed attention in the context of programmable data planes. Programmable packet scheduling systems such as those based on Push-In First-Out (PIFO) abstraction enabled flexible scheduling policies, but are too resource-expensive for large-scale line rate operation. This prompted research into practical programmable schedulers (e.g., SP-PIFO, AIFO) approximating PIFO behavior on regular hardware. Yet, their scalability remains limited due to extensive number of memory operations. To address this, we design an effective yet resource-efficient packet scheduler, Range-In First-Out (RIFO), which uses only three mutable memory cells and one FIFO queue per PIFO queue. RIFO is based on multi-criteria decision-making principles and uses small guaranteed admission buffers. Our large-scale simulations in Netbench demonstrate that despite using fewer resources, RIFO generally achieves competitive flow completion times across all studied workloads, and is especially effective in workloads with a significant share of large flows, reducing flow completion time up to 2.9x in Datamining workloads compared to state-of-the-art solutions. Our prototype implementation using P4 on Tofino switches requires only 650 lines of code, is scalable, and runs at line rate.


Everything Matters in Programmable Packet Scheduling

Programmable packet scheduling allows the deployment of scheduling algor...

Eiffel: Efficient and Flexible Software Packet Scheduling

Packet scheduling determines the ordering of packets in a queuing data s...

P4-CoDel: Experiences on Programmable Data Plane Hardware

Fixed buffer sizing in computer networks, especially the Internet, is a ...

Memory Controller Design Under Cloud Workloads

This work studies the behavior of state-of-the-art memory controller des...

Design Principles for Packet Deparsers on FPGAs

The P4 language has drastically changed the networking field as it allow...

Formal Abstractions for Packet Scheduling

This paper studies PIFO trees from a programming language perspective. P...

New primitives for bounded degradation in network service

Certain new ascendant data center workloads can absorb some degradation ...

Please sign up or login with your details

Forgot password? Click here to reset