Modular Switch Programming Under Resource Constraints

Mary Hogan, Shir Landau-Feibish, Mina Tahmasbi Arashloo, Jennifer Rexford, David Walker

Research output: Chapter in Book/Report/Conference proceedingConference contribution

21 Scopus citations

Abstract

Programmable networks support a wide variety of applications, including access control, routing, monitoring, caching, and synchronization. As demand for applications grows, so does resource contention within the switch data plane. Cramming applications onto a switch is a challenging task that often results in non-modular programming, frustrating “trial and error” compile-debug cycles, and suboptimal use of resources. In this paper, we present P4All, an extension of P4 that allows programmers to define elastic data structures that stretch automatically to make optimal use of available switch resources. These data structures are defined using symbolic primitives (that parameterize the size and shape of the structure) and objective functions (that quantify the value gained or lost as that shape changes). A top-level optimization function specifies how to share resources amongst data structures or applications. We demonstrate the inherent modularity and effectiveness of our design by building a range of reusable elastic data structures including hash tables, Bloom filters, sketches, and key-value stores, and using those structures within larger applications. We show how to implement the P4All compiler using a combination of dependency analysis, loop unrolling, linear and non-linear constraint generation, and constraint solving. We evaluate the compiler's performance, showing that a range of elastic programs can be compiled to P4 in few minutes at most, but usually less.

Original languageEnglish (US)
Title of host publicationProceedings of the 19th USENIX Symposium on Networked Systems Design and Implementation, NSDI 2022
PublisherUSENIX Association
Pages193-207
Number of pages15
ISBN (Electronic)9781939133274
StatePublished - 2022
Event19th USENIX Symposium on Networked Systems Design and Implementation, NSDI 2022 - Renton, United States
Duration: Apr 4 2022Apr 6 2022

Publication series

NameProceedings of the 19th USENIX Symposium on Networked Systems Design and Implementation, NSDI 2022

Conference

Conference19th USENIX Symposium on Networked Systems Design and Implementation, NSDI 2022
Country/TerritoryUnited States
CityRenton
Period4/4/224/6/22

All Science Journal Classification (ASJC) codes

  • Computer Networks and Communications
  • Control and Systems Engineering

Fingerprint

Dive into the research topics of 'Modular Switch Programming Under Resource Constraints'. Together they form a unique fingerprint.

Cite this