Historically, the evolution of network routers was driven primarily by
performance. Recently, owing to the need for better control over
network operations and the constant demand for new features,
programmability of routers has become as important as performance.
However, today's fastest routers, which run at line rate, use
fixed-function hardware, which cannot be modified after deployment. I
will describe two router primitives we have developed to build
programmable routers at line rate. The first is a programmable packet
scheduler. The second is a way to execute stateful packet-processing
algorithms to manage network resources. Together, these primitives
allow us to program several packet-processing functions at line rate,
such as in-network congestion control, active queue management,
data-plane load balancing, network measurement, and packet scheduling.
This talk is based on joint work with collaborators at MIT, Barefoot
Networks, Cisco Systems, Microsoft Research, Stanford University, and
the University of Washington.
Anirudh Sivaraman is a Ph.D. student at MIT, advised by Hari
Balakrishnan and Mohammad Alizadeh. His recent research work has
focused on hardware and software for programmable high-speed routers.
He has also been actively involved in the design and evolution of the
P4 language for programmable network devices. His past research
includes work on congestion control, network emulation, improving Web
performance, and network measurement. He received the MIT EECS
department's Frederick C. Hennie III Teaching Award in 2012 and shared
the Internet Research Task Force's Applied Networking Research Prize