Mengying (Molly) Pan will present her General Exam "Query-Driven Packet Control in the Data Plane" on Wednesday, May 4, 2022 at 9:00 AM in CS 301and via zoom.

Zoom link: https://princeton.zoom.us/my/mollypan

Committee Members: Jennifer Rexford (advisor), David Walker, Ravi Netravali

Abstract:
As network traffic grows in both volume and diversity, operators are longing for a flexible, real-time control over the packets. For example, operators may want to rate-limit large flows, report heavy downloaders, or drop unsolicited incoming packets—none of which is feasible in traditional fixed-function switches. Fortunately, the last decade has seen the emergence of high-speed programmable switches, which is making all these applications possible by integrating measurement and control entirely in the data plane. This enables operators to define their own packet control programs that can run and adapt at line rate. However, programming control applications on the hardware is hard. The existing data plane languages like P4 are simply too low-level for anyone other than the domain experts to write. Moreover, it requires expertise in network measurement to choose and configure data structures, and careful simulation and testing to confidently deploy such low-level programs.

In this talk, we present CatQL, a high-level programming language for writing query-driven packet control in the data plane. It strikes a balance between expressiveness and restrictiveness. Borrowing concepts from query and functional languages, CatQL is intuitive, expressive and concise, allowing operators to easily specify a wide range of practical packet control intentions within ten lines of code. Meanwhile, by modeling the key hardware constraints, our CatQL compiler takes an input program, searches for the best choices and configurations of data structures, and translates it into a P4 program that fits onto the Intel Tofino target. Finally, we develop our library of P4 data structures in a modular and layered manner to allow a repeatable and efficient formal verification of their correctness properties. Overall, with CatQL, we hope to provide a simple, performant and reliable language for operators to easily write and deploy packet control applications.

Reading List:
https://docs.google.com/document/d/1hXf5VkrVW1OkhQOeY9x8xzRS1WRyKZNYIRQLHroB6cA/edit?usp=sharing

Everyone is invited to attend the talk, and those faculty wishing to remain for the oral exam following are welcome to do so.


Louis Riehl
Graduate Administrator
Computer Science Department, CS213
Princeton University
(609) 258-8014