Frenetic: A Network Programming Language

Modern enterprise and datacenter networks must provide a variety of interrelated services including routing, traffic monitoring, load balancing, and access control. In order to facilitate implementation of these network services, the Open Networking Foundation, a group that includes Microsoft, Facebook, Google, Cisco, IBM and others, have settled on a new set of protocols, based on the OpenFlow platform, for monitoring and controlling network devices. OpenFlow simplifies and improves network programming by making it possible to implement new network functionality from the vantage-point of a general-purpose, centralized controller program.

Unfortunately, while OpenFlow now makes it possible to program new network functionality, it does not necessarily make it easy. To remedy this situation, we present our on-going research on Frenetic, a high-level language for programming networks, built on top of OpenFlow and the network operating system NOX. Frenetic provides a declarative query language for classifying and aggregating network traffic as well as a functional, reactive combinatory library for describing high-level packet-forwarding policies. Unlike prior work in this domain, these constructs are designed to enable correct-by-construction network programming, reliable composition of program modules, and effective code reuse. These important properties are made possible by Frenetic’s novel run-time system which manages all of the details related to installing, uninstalling, and querying low-level packet-processing rules on physical switches.

This is joint research at Cornell and Princeton Universities involving Nate Foster, Mike Freedman, Rob Harrison, Christopher Monsanto, Mark Reitblatt, Jennifer Rexford, and Alec Story.

Speaker Details

David Walker is an Associate Professor of Computer Science at Princeton University, having received tenure in July 2008. At Princeton, he studies programming languages, type systems, program verification and domain-specific languages. He received his Ph.D. in Computer Science from Cornell University in 2001 after receiving his B.Sc. from Queen’s University (Canada) in 1995. From Oct 2000-Oct 2001, he worked at Carnegie Mellon University as a postdoctoral researcher. After arriving at Princeton in February 2002, he won an NSF Career award in 2003 and Alfred Sloan Fellowship in 2004. In 2007, with his students and colleagues at Princeton, he won the PLDI best paper award for the paper entitled “Fault-Tolerant Typed Assembly Language.” In 2008, his paper “From System F to Typed Assembly Language,” co-authored with Greg Morrisett, Karl Crary and Neal Glew, won a 10-year retrospective award for the highest impact POPL 1998 paper. He is currently serving as an associate editor for ACM Transactions on Programming Languages and Systems.

Date:
Speakers:
David Walker
Affiliation:
Princeton University
    • Portrait of Jeff Running

      Jeff Running