Everything Matters in Programmable Packet Scheduling
Albert Gran Alcoz, Balázs Vass, Pooria Namyar, Behnaz Arzani, Gábor Rétvári, Laurent Vanbever
Abstract
Programmable packet scheduling allows the deployment of scheduling algorithms into existing switches without need for hardware redesign. Scheduling algorithms are programmed by tagging packets with ranks, indicating their desired priority. Programmable schedulers then execute these algorithms by serving packets in the order described in their ranks.
The ideal programmable scheduler is a Push-In First-Out (PIFO) queue, which achieves perfect packet sorting by pushing packets into arbitrary positions in the queue, while only draining packets from the head. Unfortunately, implementing PIFO queues in hardware is challenging due to the need to arbitrarily sort packets at line rate based on their ranks.
In the last years, various techniques have been proposed, approximating PIFO behaviors using the resources of existing data planes. While promising, approaches to date only approximate one of the two characteristic behaviors of a PIFO queue: either its scheduling behavior, or its admission control.
We introduce PACKS, the first programmable scheduler that fully approximates PIFO queues on all their behaviors. PACKS does so by smartly using a set of strict-priority queues. It uses packet-rank information and queue-occupancy levels at enqueue to decide whether to admit packets to the scheduler, and how to map admitted packets to the different queues.
We fully implement PACKS in P4 and evaluate it on real workloads. We show that PACKS better-approximates PIFO than state-of-the-art approaches and scales. We also show that PACKS runs at line rate on existing hardware (Intel Tofino).
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 3b9410b6-1d9f-43f2-9ee1-4010001681f1Cited by top-tier papers3
- BBQ: A Fast and Scalable Integer Priority Queue for Hardware Packet SchedulingNirav Atre, Hugo Sadok, Justine SherryNSDI 2024 · 12 citations
- ClubHeap: A High-Speed and Scalable Priority Queue for Programmable Packet SchedulingZhikang Chen, Haoyu Song, Zhiyu Zhang, Yang Xu et al.NSDI 2025 · 2 citations
- Heuristic Analysis from Source Code via Symbolic-Guided OptimizationPantea Karimi, Siva Kesava Reddy Kakarla, Ryan Beckett, Santiago Segarra et al.NSDI 2026
Builds on7
- SP-PIFO: Approximating Push-In First-Out Behaviors using Strict-Priority QueuesAlbert Gran Alcoz, Alexander Dietmüller, Laurent VanbeverNSDI 2020 · 140 citations
- Programmable Calendar Queues for High-speed Packet SchedulingNaveen Kr. Sharma, Chenxingyu Zhao, Ming Liu, Pravein G. Kannan et al.NSDI 2020 · 119 citations
- Programmable packet scheduling with a single queueZhuolong Yu, Chuheng Hu, Jingfeng Wu, Xiao Sun et al.SIGCOMM 2021 · 100 citations
- Aggregate-based congestion control for pulse-wave DDoS defenseAlbert Gran Alcoz, Martin Strohmeier, Vincent Lenders, Laurent VanbeverSIGCOMM 2022 · 63 citations
- Twenty Years After: Hierarchical Core-Stateless Fair QueueingZhuolong Yu, Jingfeng Wu, Vladimir Braverman, Ion Stoica et al.NSDI 2021 · 45 citations
Related papers
- vPIFO: Virtualized Packet Scheduler for Programmable Hierarchical Scheduling in High-Speed NetworksZhiyu Zhang, Shili Chen, Ruyi Yao, Ruoshi Sun et al.SIGCOMM 2024 · 11 citations
- BMW Tree: Large-scale, High-throughput and Modular PIFO Implementation using Balanced Multi-Way Sorting TreeRuyi Yao, Zhiyu Zhang, Gaojian Fang, Peixuan Gao et al.SIGCOMM 2023 · 14 citations
- Sifter: An Inversion-Free and Large-Capacity Programmable Packet SchedulerPeixuan Gao, Anthony Dalleggio, Jiajin Liu, Chen Peng et al.NSDI 2024 · 8 citations
- Lark: A Buffer-aware Building Block for Programmable Packet Scheduling in DatacentersSong Zhang, Wenxin Li, Yulong Li, Yuan Liu et al.INFOCOM 2025
- Formal Abstractions for Packet SchedulingAnshuman Mohan, Yunhe Liu, Nate Foster, Tobias Kappé et al.OOPSLA 2023 · 7 citations
