Packet transactions: High-level programming for line-rate switches

Anirudh Sivaraman, Alvin Cheung, Mihai Budiu, Changhoon Kim, Mohammad Alizadeh, Hari Balakrishnan, George Varghese, Nick McKeown, Steve Licking

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

Abstract

Many algorithms for congestion control, scheduling, network measurement, active queue management, and traffic engineering require custom processing of packets in the data plane of a network switch. To run at line rate, these dataplane algorithms must be implemented in hardware. With today's switch hardware, algorithms cannot be changed, nor new algorithms installed, after a switch has been built. This paper shows how to program data-plane algorithms in a high-level language and compile those programs into low-level microcode that can run on emerging programmable line-rate switching chips. The key challenge is that many data-plane algorithms create and modify algorithmic state. To achieve line-rate programmability for stateful algorithms, we introduce the notion of a packet transaction: a sequential packet-processing code block that is atomic and isolated from other such code blocks. We have developed this idea in Domino, a C-like imperative language to express data-plane algorithms. We show with many examples that Domino provides a convenient way to express sophisticated data-plane algorithms, and show that these algorithms can be run at line rate with modest estimated chip-area overhead.

Original languageEnglish (US)
Title of host publicationSIGCOMM 2016 - Proceedings of the 2016 ACM Conference on Special Interest Group on Data Communication
PublisherAssociation for Computing Machinery, Inc
Pages15-28
Number of pages14
ISBN (Electronic)9781450341936
DOIs
StatePublished - Aug 22 2016
Event2016 ACM Conference on Special Interest Group on Data Communication, SIGCOMM 2016 - Florianopolis, Brazil
Duration: Aug 22 2016Aug 26 2016

Publication series

NameSIGCOMM 2016 - Proceedings of the 2016 ACM Conference on Special Interest Group on Data Communication

Other

Other2016 ACM Conference on Special Interest Group on Data Communication, SIGCOMM 2016
CountryBrazil
CityFlorianopolis
Period8/22/168/26/16

Keywords

  • Programmable switches
  • Stateful data-plane algorithms

ASJC Scopus subject areas

  • Electrical and Electronic Engineering
  • Communication
  • Computer Networks and Communications
  • Signal Processing

Fingerprint Dive into the research topics of 'Packet transactions: High-level programming for line-rate switches'. Together they form a unique fingerprint.

Cite this