Theory and Practice of Data Plane Programming

NII Shonan Meeting:

@ Shonan Village Center, February 26 – March 1, 2018


      • Nate Foster, Cornell University and Barefoot Networks, USA
      • Motoyoshi Sekiya, Fujitsu Laboratories, Japan
      • Minlan Yu, Yale University, USA


Networks have traditionally been built out of fixedfunction devices such as routers, switches, and firewalls that provide good performance, but are difficult to customize or extend with new functionality. Recently a number of researchers have started to develop new kinds of devices in which nearly every feature, from the packet parser, to the data processing pipeline, to the traffic manager, is programmable [1]. They have also developed accompanying languages, compilers, and verification tools for programming and reasoning about these devices [2]. These advances have made it possible to customize the structure and functionality of a network to suit specific applications. Already, programmers have started to develop novel applications such innetwork telemetry [3], which provides finegrained visibility into network state, as well as data plane implementations of protocols like Paxos, which can improve performance by orders of magnitude compared to end host implementations [4].

However, despite tremendous progress, a number of important research questions remain:

  • Architecture: What features do programmable data planes require at the hardware level? Are there certain designs that are inevitable and others that fundamentally do not make sense? What primitives, techniques, and optimizations are needed to achieve good performance? What are the fundamental tradeoffs in designs based on traditional switch ASICs, FPGAs, NPUs, programmable NICs, and software switches?
  • Programming Languages: What features should highlevel languages for programmable data planes provide? Are there essential constructs or those that should be left out? What is the role of types, both for catching bugs and enabling compiler analyses and optimizations? What are the right concurrency models for programmable data planes, both on a single device and across multiple devices?
  • Compilers: What are the key optimizations in the domain of data plane programming? Can classic ideas from the compiler community such as speculation, prediction, and stochastic superoptimization be adapted to the networking domain further accelerate data plane programs?
  • Formal Verification: What data plane properties can we check automatically? It is possible to add notions of state to existing data plane verification tools such as VeriFlow, HSA, and NetKAT? How can we extend these frameworks to enable reasoning about quantitative and probabilistic properties?
  • Applications: What are the “killer” applications for programmable data planes? Some early adopters have identified some promising ideas, but it is clear that these have only scratched the surface.

We propose to organize a workshop at Shonan Village to help investigate these questions, and many others. We believe that having a workshop in a retreatstyle setting will make it possible to achieve a fruitful exchange of scientific ideas, even given this diverse mix of researchers. This workshop would be the first Shonan Village meeting on a topic related to networking, so we believe there would be significant interest and value for the Japanese research community. Note that many of the early adopters of softwaredefined networking (SDN) technology are based in Japan. Moreover, we plan to take advantage of Shonan Village’s location in Asia to invite leading researchers from other nearby countries such as China and South Korea.

We plan to organize the technical agenda for the meeting around four distinct kinds of activities. First, to help establish a common background and vocabulary, we plan to start the workshop with longer invited tutorials in each of the categories above from experts. Second, we plan to have shorter presentations of research highlights to give a sense of current research trends and, as a secondary goal, to help promote the careers of junior researchers. Third, we plan to organize interactive working groups, technical panels, and debates, to help encourage crossfertilization and make progress on more openended questions. Fourth, we plan to invite participants to present handson demos. We plan to write a survey article after the workshop and submit it for publication in a venue such as ACM SIGCOMM CCR.

Together, the organizers have several decades of combined experience in networking, programming languages, and systems in both academia and industry. They plan to leverage their expertise and professional contacts to attract a group of worldclass participants to the meeting. Nate Foster is an Associate Professor at Cornell University and a Visiting Researcher at Barefoot Networks. His current research focuses on the design and implementation of highlevel network programming languages. He served as coorganizer a successful meeting on “bidirectional transformations” at Shonan Village in 2008 ( and coauthored a highlycited survey article on the topic [5]. Motoyoshi Sekiya is a Senior Director of Network Systems Laboratory in Fujitsu Laboratories Ltd. His current research focus on network architecture and control system for software programmed optical / packet network. From 20102015 he led optical networking and transmission research at Fujitsu Labs America
( Minlan Yu is an Assistant Professor at Yale University. Her current research focuses on softwaredefined networking and its applications in data centers. She is serving as PC cochair for the ACM SIGCOMM Symposium on SDN Research (SOSR) in 2017.

[1] Pat Bosshart, Glen Gibb, HunSeok Kim, George Varghese, Nick McKeown, Martin Izzard, Fernando Mujica, and Mark Horowitz. 2013. Forwarding metamorphosis: fast programmable matchaction processing in hardware for SDN. In ACM SIGCOMM, Hong Kong, China.
[2] Pat Bosshart, Dan Daly, Glen Gibb, Martin Izzard, Nick McKeown, Jennifer Rexford, Cole Schlesinger,
Dan Talayco, Amin Vahdat, George Varghese, and David Walker. 2014. P4: programming protocolindependent packet processors. SIGCOMM CCR, 44(3): 8795.
[3] Changhoon Kim, Anirudh Sivaraman, Naga Katta, Antonin Bas, Advait Dixit, and Lawrence J Wobker. Inband Network Telemetry via Programmable Dataplanes. 2015. Demo at ACM SIGCOMM.
[4] Huynh Tu Dang, Marco Canini, Fernando Pedone, and Robert Soulé. Paxos Made Switchy. 2016. SIGCOMM CCR, 46(2): 1924.
[5] Krzysztof Czarnecki, J. Nathan Foster, Zhenjiang Hu, Ralf Lämmel, Andy Schürr, and James F. Terwilliger. 2009. Bidirectional Transformations: A CrossDiscipline Perspective. In International Conference on Theory and Practice of Model Transformations (ICMT), Heidelberg, Germany.

Comments are closed.