Research Projects

PISCES- A Programmable, Protocol-Independent Software Switch

People: Sean Choi

Papers: SIGCOMM’16

Demos: P4 Workshop’16

Code: github

PERC- Proactive Explicit Rate Control

People: Lavanya Jose, Steve Ibanez, Lisa Yan

Papers: HotNets’15

Demos: P4 Workshop’16, SIGCOMM’16

Code: bitbucket

As datacenter speeds scale to 100 Gb/s and beyond, traditional congestion control algorithms like TCP and RCP converge slowly to steady sending rates, which leads to poorer and less predictable user performance. These reactive algorithms use congestion signals to perform gradient descent to approach ideal sending rates, causing poor convergence times. PERC is a proactive congestion control algorithm, which explicitly computes rates independently of congestion signals in a decentralized fashion. PERC improves convergence times by a factor of 7 compared to reactive explicit rate control protocols such as RCP in some benchmarks. Reconfigurable Switches and P4 make it possible to implement schemes like PERC at line rate.

CS Education

People- Lisa Yan


People- Eyal Cidon, Sean Choi

Compiling Packet Programs to Reconfigurable Switches

People: Lavanya Jose, Lisa Yan

Papers: NSDI’15

Code: bitbucket

Programmable switching chips are becoming more commonplace, along with new packet processing languages to configure the forwarding behavior. This projectr explores the design of a compiler for such switching chips, in particular how to map logical lookup tables to physical tables, while meeting data and control dependencies in the program. We study the interplay between Integer Linear Programming (ILP) and greedy algorithms to generate solutions optimized for latency, pipeline occupancy, or power consumption. ILP is slower but more likely to fit hard cases; further, ILP can be used to suggest the best greedy approach. We compile benchmarks from real production networks to two different programmable switch architectures: RMT and Intel’s FlexPipe to ucompare the two approaches.