[talks] Muhammad Shahbaz will present his PRe FPO on Friday, March 2, 2018 at 2pm in CS 302.

Nicki Gotsis ngotsis at CS.Princeton.EDU
Tue Jan 23 11:44:54 EST 2018


Muhammad Shahbaz will present his PRe FPO on Friday, March 2, 2018 at 2pm in CS 302. 

Committee Members: Nick Feamster (advisor), Jen Rexford (reader), Ben Pfaff (VMware), Mike Freedman and Wyatt Lloyd (non-readers) 

Time: Friday, March 2nd from 2 to 4 pm ET 

Title: Programmable Services on Software Switches 

Abstract: Software switches, such as Open vSwitch (OVS), play a critical role in modern data centers: with few exceptions, every packet that passes to or from a virtual machine (VM) passes through a software switch. These switches frequently need upgrading and customization to support new encapsulation headers, improved troubleshooting and debugging features, more sophisticated routing such as source-controlled routing, and virtual-to-physical gateway and middlebox-like functions such as load balancing, address virtualization, and encryption. Today, modifying these switches requires both intimate knowledge of the switch codebase (including kernel code) and extensive expertise in network protocol design, making the bar for customizing these software switches prohibitively high. Changing how a software switch forwards packets should not require intimate knowledge of its implementation. Instead, it should be possible to specify how packets are processed and transmitted in a high-level domain-specific language (DSL), such as P4, and compiling the resulting program to run on a software switch. This decoupling of forwarding behavior from underlying switch code would enable protocol designers to develop proprietary customizations without having to track the evolution of the (larger and more complex) underlying software switch codebase. 

This thesis addresses these challenges by (1) providing a programmable software switch whose behavior is customizable using a high-level DSL, and (2) demonstrating the benefits of such switches by building a new network service. Together these contributions show how programmable switches provide greater flexibility to network administrators and protocol designers, and to allow them to innovate and improve their systems. 

The first part of the dissertation presents the design and implementation of PISCES, a programmable, protocol-independent software switch. PISCES allows a protocol designer to specify a software switch’s custom packet-processing behavior in a high-level, domain-specific language (in our case, P4); a compiler then produces source code for the underlying target software switch (in our case, OVS). Our evaluation shows that PISCES programs are on average about 40 times shorter than equivalent changes to OVS source code and—with appropriate compiler optimizations—incur a forwarding performance (i.e., throughput) overhead of only about 2%. 

The second part demonstrates the benefits of these programmable switches by building a new network service, Baseerat, that requires custom modifications to switch forwarding behavior. Baseerat adds support for native multicast in data center networks using both software (e.g., PISCES) and hardware (e.g., Barefoot’s Tofino) programmable switches. In Baseerat, a PISCES switch encodes multicast routing information inside packets, and intermediate switches act on this information to route packets to recipients. Baseerat obviates the need for maintaining state per switch, allowing it to scale to many multicast groups. Our experiments show that for a data center with more than 25,000 hosts, Baseerat can support one million groups while utilizing a packet header size of 300 bytes and requiring only 1,000 multicast entries in leaf switches, with a traffic overhead of about 1%. 


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cs.princeton.edu/pipermail/talks/attachments/20180123/351cf962/attachment.html>


More information about the talks mailing list