Info: Zenodo’s user support line is staffed on regular business days between Dec 23 and Jan 5. Response times may be slightly longer than normal.

Published September 8, 2023 | Version 1.0
Software Open

Formal Abstractions for Packet Scheduling

  • 1. Cornell University
  • 2. Open University of the Netherlands and ILLC, University of Amsterdam

Description

This is an artifact in support of our paper, Formal Abstractions for Packet Scheduling, which will appear at SPLASH OOPSLA '23. The materials are mostly as submitted to the OOPSLA AEC, with the exception of minor changes after feedback from the AEC. The code is also available on Github: https://github.com/cornell-netlab/pifo-trees-artifact

We include the paper's abstract here:

Early programming models for software-defined networking (SDN) focused on basic features for controlling network-wide forwarding paths, but more recent work has considered richer features, such as packet scheduling and queueing, that affect performance. In particular, PIFO trees, proposed by Sivaraman et al., offer a flexible and efficient primitive for programmable packet scheduling. Prior work has shown that PIFO trees can express a wide range of practical algorithms including strict priority, weighted fair queueing, and hierarchical schemes. However, the semantic properties of PIFO trees are not well understood.

This paper studies PIFO trees from a programming language perspective. We formalize the syntax and semantics of PIFO trees in an operational model that decouples the scheduling policy running on a tree from the topology of the tree.

Building on this formalization, we develop compilation algorithms that allow the behavior of a PIFO tree written against one topology to be realized using a tree with a different topology. Such a compiler could be used to optimize an implementation of PIFO trees, or realize a logical PIFO tree on a target with a fixed topology baked into the hardware. To support experimentation, we develop a software simulator for PIFO trees, and we present case studies illustrating its behavior on standard and custom algorithms.

Files

pifo-trees-zenodo.zip

Files (25.7 MB)

Name Size Download all
md5:33946667b3badf42c21efc73abc15328
25.7 MB Preview Download
md5:e09bcf606fc0c426c591497404bb49f5
14.8 kB Preview Download