The Programmable Data Plane: Reading List

Table of Contents

See the HTML version for a nicely formatted version and the shortened list for the most relevant papers.

This is a reading list for students, practitioners, and researchers interested in the general area of programmable data plane devices. Topics include SmartNICs, programmable middleboxes and software/hardware switches, that is, everything that may underlie a software-defined network, with only a marginal attention to the major application areas like Network Function Virtualization, service chaining, or 5G.

The reading list completes the survey paper:

Roberto Bifulco and Gábor Rétvári: A Survey on the Programmable Data Plane: Abstractions, Architectures, and Open Problems, in IEEE HPSR, 2018.

The reading list is organized into a rough hierarchy based on the major topics of Abstractions, Architecture, Applications, and Miscellanea; note that this hierarchy is more or less arbitrary and the purpose is just to have some organization at all. The individual papers are tagged as "mustread", "important", and "interesting" (available only in the HTML version), with the approximate meaning "read at least these papers to get a good understanding of the area", "papers for getting more familiar with some sub-areas", and "interesting contributions to the field", respectively. Just like the hierarchy, the tags are also pretty much arbitrary and follow the subjective view of the authors; as always, your mileage may vary.

Note: Some of the linked papers are behind paywalls. We double-checked that all listed papers can be accessed freely by a moderate amount of googling; we still provide the paywall links as user-provided PDFs often do not prove overly stable over time.

Abstractions

Languages and Compilers

Low-level APIs

High-level Languages and Compilers

Abstractions for Embedded State

Programmable Parsing and Scheduling

Architecture

Software Switch Architectures

Viability of Software Switching

The Dataflow Graph Abstraction

The Match-action Abstraction

Hardware Switch Architectures

Programmable NICs

Algorithms & HW Realizations

Applications

In-network Computation

Monitoring, Telemetry, and Measurement

Load balancing

Control plane acceleration

Miscellaneous Topics

History

Deployments

Author: Roberto Bifulco, Stefan Schmid, Gábor Rétvári

Created: 2019-09-29 Sun 17:49