Everything Matters in Programmable Packet Scheduling

by   Albert Gran Alcoz, et al.

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 available resources of existing data planes. While promising, approaches to date only approximate one of the characteristic behaviors of PIFO queues (i.e., its scheduling behavior, or its admission control). We propose 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).


page 1

page 2

page 3

page 4


RIFO: Pushing the Efficiency of Programmable Packet Schedulers

Packet scheduling is a fundamental networking task that recently receive...

Eiffel: Efficient and Flexible Software Packet Scheduling

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

Order P4-66: Characterizing and mitigating surreptitious programmable network device exploitation

Substantial efforts are invested in improving network security, but the ...

Formal Abstractions for Packet Scheduling

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

A Theory of Traffic Regulators for Deterministic Networks with Application to Interleaved Regulators

We define the minimal interleaved regulator, which generalizes the Urgen...

QCluster: Clustering Packets for FlowScheduling

Flow scheduling is crucial in data centers, as it directly influences us...

Implementing packet trimming support in hardware

Packet trimming is a primitive that has been proposed for datacenter net...

Please sign up or login with your details

Forgot password? Click here to reset