Packet Transactions: High-level Programming for Line-Rate Switches
Anirudh Sivaraman, Mihai Budiu, Alvin Cheung, Changhoon Kim, Steve, Licking, George Varghese, Hari Balakrishnan, Mohammad Alizadeh, Nick McKeown

TL;DR
This paper introduces Domino, a high-level language for programming stateful data-plane algorithms in switches, enabling line-rate execution and post-deployment programmability on emerging hardware.
Contribution
It presents a novel approach using packet transactions and a C-like language to compile complex algorithms into microcode for programmable switches.
Findings
Algorithms can be expressed naturally in Domino.
Line-rate performance is achievable with modest hardware overhead.
Demonstrated multiple data-plane algorithms in Domino.
Abstract
Many algorithms for congestion control, scheduling, network measurement, active queue management, security, and load balancing require custom processing of packets as they traverse the data plane of a network switch. To run at line rate, these data-plane algorithms must be 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 chipsets. The key challenge is that these algorithms create and modify algorithmic state. The key idea to achieve line-rate programmability for stateful algorithms is the notion of a packet transaction : a sequential code block that is atomic and isolated from other such code blocks. We have…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsInterconnection Networks and Systems · Distributed systems and fault tolerance · Software-Defined Networks and 5G
