• Publications
  • Influence
The P4->NetFPGA Workflow for Line-Rate Packet Processing
TLDR
We developed the P4->NetFPGA workflow, allowing developers to describe how packets are to be processed in the high-level P4 language, then compile their P4 programs to run at line rate on the NetFPGA SUME board. Expand
The Case for a Network Fast Path to the CPU
TLDR
We propose a fast path between the NIC and CPU, called Lightning NIC (L-NIC), which deviates from the established norms of offloading computation onto the NIC. Expand
A Distributed Algorithm to Calculate Max-Min Fair Rates Without Per-Flow State
TLDR
This paper is about an alternative class of congestion control algorithms based on proactive-scheduling: switches and NICs "pro-actively" exchange control messages to run a distributed algorithm to pick "explicit rates" for each flow. Expand
Event-Driven Packet Processing
TLDR
The rise of programmable network devices and the P4 programming language has sparked an interest in developing new applications for packet processing data planes. Expand
A Distributed Algorithm to Calculate Max-Min Fair Rates Without Per-Flow State
TLDR
This paper is about an alternative class of congestion control algorithms based on proactive-scheduling: switches and NICs "pro-actively" exchange control messages to run a \em distributed algorithm to pick "explicit rates for each flow. Expand
Zerializer: towards zero-copy serialization
Achieving zero-copy I/O has long been an important goal in the networking community. However, data serialization obviates the benefits of zero-copy I/O, because it requires the CPU to read,Expand
The nanoPU: Redesigning the CPU-Network Interface to Minimize RPC Tail Latency
TLDR
The nanoPU is a new networking-optimized CPU designed to minimize tail latency for RPCs. Expand
A Distributed Algorithm to Calculate Max-Min Fair Rates Without Per-Flow State
Most congestion control algorithms, like TCP, rely on a reactive control system that detects congestion, then marches carefully towards a desired operating point (e.g. by modifying the window size orExpand