Network Programming Initiative
Seminar Series

Our "Zoom" seminar series highlights recent research results.

DateOctober 24, 2019
Time2:30-3:30pm ET
VideoComing soon.
TitleShoal: A Network Architecture for Disaggregated Racks
Abstract

Disaggregated racks comprise dense pools of compute, memory and storage blades, all interconnected through an internal network. However, their density poses a unique challenge for the rack’s network: it needs to connect an order of magnitude more resource nodes than today’s racks with- out exceeding the rack’s fixed power budget and without compromising on performance. We present Shoal, a power- efficient yet performant intra-rack network fabric built using fast circuit switches. Such switches consume less power as they have no buffers and no packet inspection mechanism, yet can be reconfigured in nanoseconds. Rack nodes transmit according to a static schedule such that there is no in-network contention without requiring a centralized controller. Shoal’s congestion control leverages the physical fabric to achieve fairness and both bounded worst-case network throughput and queuing. We use an FPGA-based prototype, testbed experiments, and simulations to illustrate Shoal’s mechanisms are practical, and can simultaneously achieve high density and high performance: 71% lower power and comparable or higher performance than today’s network designs.

Bio

Vishal Shrivastav is a PhD student in Computer Science at Cornell. He is advised by Hakim Weatherspoon. His research focusses on resolving challenges arising in high-speed datacenter networking by efficiently leveraging custom hardware for networking. Prior to Cornell, Vishal was an undergraduate student at Indian Institute of Technology, Kharagpur.

Vishal Shrivastav

Cornell

DateSeptember 26, 2019
Time2:30-3:30pm ET
Video
TitleEnabling Programmable Transport Protocols in High-Speed NICs
Abstract

Data-center network stacks are moving into hardware to achieve 100 Gbps data rates and beyond at low latency and low CPU utilization. However, hardwiring the network stack in the NIC would stifle the much-needed innovation in transport protocols. In this talk, we discuss how to enable programmable transport protocols in high-speed NICs using Tonic, a flexible hardware architecture for transport logic. Designing such an architecture is challenging: at 100 Gbps, transport protocols must generate a data segment every few nanoseconds using only a few kilobits of per-flow state on the NIC. By exploiting common patterns across transport logic of different transport protocols, Tonic provides an efficient hardware “template” for transport logic that satisfies these constraints while being programmable with a simple API. Experiments with our FPGA-based prototype show that Tonic can support the transport logic of a wide range of protocols and meet timing for 100 Gbps of back-to-back 128-byte packets. That is, every 10 ns, our prototype generates the address of a data segment for one of more than a thousand active flows for a downstream DMA pipeline to fetch and transmit a packet.

Bio

Mina is a postdoctoral researcher at the computer science department of Cornell University, working with Nate Foster and Rachit Agarwal. Her research focuses on software defined networks and programmable data planes. Prior to Cornell, she received her PhD degree at Princeton University advised by Jennifer Rexford, and her B.Sc degree from Sharif University of Technology.

Mina Tahmasbi Arashloo

Cornell

DateMarch 28, 2019
Time3:00-4:00pm ET
Video
TitleHigh-speed network measurement under constrained programming model
Abstract

Network measurement is a vital tool for network operators to diagnose outages, optimize performance, and detect attacks. Recently, the development of programmable switches has enabled us to run measurement algorithms in the network switch directly, and analyze packets up to Tbps in throughput. However, the programming model of programmable switches is extremely constrained, which restricts the types of algorithms we can run in them. To achieve much-needed measurement goals of network operators, we design tailored algorithms to adapt to the programming constraints imposed by practical programmable switches. We first present PRECISON, which attempts to answer the Heavy-Hitter Flow Detection problem (find out which flows sent the largest number of packets). PRECISION can accurately identify the heavy-hitter flows using a small amount of memory, by recirculating a small number of packets probabilistically. Then, we present Snappy, which tries to solve the Heavy Flow in the Queue problem (which flows occupied a large fraction of queuing buffer). Snappy can pinpoint the bursty flows causing ephemeral long queues and potential packet loss, by maintaining multiple traffic snapshots of short time intervals. Our measurement algorithms enable network operators to perform immediate actions against these specific network flows, inhibiting congestion in real-time, while potentially improving service quality for other network flows.

Bio

Xiaoqi is a second year PhD student at Department of Computer Science, Princeton University, advised by Prof. Jennifer Rexford. Before joining Princeton, he received his Bachelor's degree from Institute for Interdisciplinary Information Sciences (Yao class), Tsinghua University. His research is running network measurements in programmable switches. Interests also include data center networking, sketches, and network science.

Xiaoqi (Danny) Chen

Princeton

Date February 15, 2019
Time1:30-2:30pm ET
Video
TitleSMORE: Semi-Oblivious Traffic Engineering
Abstract

Networks are expected to provide reliable performance under a wide range of operating conditions, but existing traffic engineering (TE) solutions optimize for performance or robustness, but not both. A key factor that impacts the quality of a TE system is the set of paths used to carry traffic. Some systems rely on shortest paths, which leads to excessive congestion in topologies with bottleneck links, while others use paths that minimize congestion, which are brittle and prone to failure. This talk presents a system that uses a set of paths computed using Räcke’s oblivious routing algorithm, as well as a centralized controller to dynamically adapt sending rates. Although oblivious routing and centralized TE have been studied previously in isolation, their combination is novel and powerful. We built a software framework to model TE solutions and conducted extensive experiments across a large number of topologies and scenarios, including the production backbone of a large content provider and an ISP. Our results show that semi-oblivious routing provides near-optimal performance and is far more robust than state-of-the-art systems.

Bio

Praveen Kumar is a PhD student in Computer Science at Cornell University advised by Nate Foster. His research focuses on resolving performance and reliability trade-offs in modern networks, and his research topics include traffic engineering, congestion control and network virtualization.

Praveen Kumar

Cornell

DateMay 23, 2017
Time1:30-2:30pm ET
Video
TitlePISCES: A Programmable, Protocol-Independent Software Switch
Abstract

Virtualized data-centers use software hypervisor switches to steer packets to and from virtual machines (VMs). The switch frequently needs upgrading and customization---to support new protocol headers or encapsulations for tunneling or overlays, to improve measurement and debugging features, and even to add middlebox-like functions. Software switches are typically based on a large body of code, including kernel code. Changing the switch is a formidable undertaking requiring domain mastery of network protocol design and developing, testing, and maintaining a large, complex code-base. In this talk, we argue that 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 forwarded in a high-level domain-specific language (DSL) such as P4, then compiled down to run on the underlying software switch. We present PISCES, a software switch that is not hard-wired to specific protocols, which eases adding new features. We also show how the compiler can analyze the high-level specification to optimize forwarding performance. Our evaluation shows that PISCES performs comparably to Open vSwitch, a hardwired hypervisor switch, and that PISCES programs are about 40 times shorter than equivalent Open vSwitch programs.

Bio

Muhammad Shahbaz is a third year Ph.D. student in the Department of Computer Science at Princeton University. His research focuses on the application of software-defined networking (SDN) in campus, enterprise and wide-area networks, network measurement and testing, and language abstractions for programmable data planes. Previously, he worked as a research assistant at the University of Cambridge, Computer Laboratory on the CTSRD and MRC2 projects and was a core member of the NetFPGA-10G project initiated by Stanford University. He received his Bachelor's degree from the Department of Computer Engineering at National University of Sciences and Technology.

Muhammad Shahbaz

Princeton

DateApril 18, 2017
Time1:30-2:30pm ET
Video
TitleNetKAT Tutorial: Programming, Modelling, and Reasoning about Networks
Abstract

NetKAT is a formal system that can be used to program, model, and reason about networks. It comes with a rich formal toolkit including a sounds and complete algebraic axiomatization; an automata theory; a denotational semantics; and an efficient symbolic representation. These theoretic foundations enable powerful tools such as a decision procedure that allows fully automatic verification of important network properties; and a fast compiler that implements powerful programming abstractions. I will give a tutorial on NetKAT, showing how to use it to program networks and reason about their properties.

Bio

Steffen Smolka is a PhD student in Computer Science at Cornell University advised by Nate Foster. Currently his research focuses on languages, tools, and formal foundations for software defined networking. General areas of interest include (probabilistic) semantics, automata theory, and compilers.

Steffen Smolka

Cornell

DateMarch 14, 2017
Time1:30-2:30pm
Video
TitleSNAP: Stateful Network-Wide Abstractions for Packet Processing
Abstract

Early programming languages for software-defined networking (SDN) were built on top of the simple match- action paradigm offered by OpenFlow 1.0. However, emerging hardware and software switches offer much more sophisticated support for persistent state in the data plane, without involving a central controller. Nevertheless, managing stateful, distributed systems efficiently and correctly is known to be one of the most challenging programming problems. To simplify this new SDN problem, we introduce SNAP.

SNAP offers a simpler "centralized" stateful programming model, by allowing programmers to develop programs on top of one big switch rather than many. These programs may contain reads and writes to global, persistent arrays, and as a result, programmers can implement a broad range of applications, from stateful firewalls to fine-grained traffic monitoring. The SNAP compiler relieves programmers of having to worry about how to distribute, place, and optimize access to these stateful arrays by doing it all for them. More specifically, the compiler discovers read/write dependencies between arrays and translates one-big-switch programs into an efficient internal representation based on a novel variant of binary decision diagrams. This internal representation is used to construct a mixed-integer linear program, which jointly optimizes the placement of state and the routing of traffic across the underlying physical topology. We have implemented a prototype compiler and applied it to about 20 SNAP programs over various topologies to demonstrate our techniques’ scalability.

Bio

Mina is a third-year PhD student in Computer Science at Princeton University, advised by Jennifer Rexford. Her research focuses on designing high-level abstractions for network programming and management, specifically in software defined networks (SDNs).

Mina Tahmasbi Arashloo

Princeton