room 333 Wisenbaker (fishbowl)
Dr. Andreas Voellmy
Abstract: A major recent development in computer networking is the notion of Software-Defined Networking (SDN), which allows a network to customize its behaviors through centralized policies at a conceptually centralized network controller. The SDN architecture replaces closed, vertically-integrated, and fixed-function appliances with general-purpose packet processing devices, programmed through open, vendor-neutral APIs by control software executing on centralized servers. This open design exposes the capabilities of network devices and provides consumers with increased flexibility.
Although several elements of the SDN architecture, notably the OpenFlow standards, have been developed, writing an SDN controller remains highly challenging. In particular, existing programming frameworks require either explicit or restricted declarative specification of flow patterns and provide little support for maintaining consistency between controller and distributed switch state, thereby introducing a major source of complexity in SDN programming.
In this talk, I introduce Maple, which addresses the preceding challenges. Maple allows a programmer to use general-purpose programming languages to design arbitrary, centralized algorithms, called algorithmic policies, that conceptually run afresh on every packet entering a network.
Algorithmic policies simplify SDN programming by eliminating the complex and performance-critical task of generating and maintaining sets of rules on individual distributed switches. To implement algorithmic policies efficiently, Maple introduces a novel tracing runtime system which automatically and dynamically discovers reusable forwarding decisions from a generic control program.
Bio: Andreas Voellmy received his PhD in Computer Science from Yale University. Andreas’ research focuses on simplifying the task of programming Software-Defined Network (SDN) applications and draws on ideas from programming languages, systems, and computer networks. Andreas is a maintainer of several Haskell OpenFlow libraries, as well as the Glasgow Haskell Compiler (GHC) itself and is generally interested in programming languages and their efficient implementation.
Host: Dr. Sprintson