Whenever possible, the university recommends that events and meetings continue to be held virtually; it is highly recommended that in-person events also allow for virtual participation by attendees who choose not to or are unable to participate in person. Any in-person events must follow campus policy for schools/colleges/divisions, and student organizations.
Enabling State-Intensive Network Functions on Programmable Switches, Daehyeok Kim, CMU/MSR
Programmable switches have been touted as an attractive alternative for deploying network functions (NFs) such as network address translators, load balancers, and firewalls. However, their limited memory capacity has been a major stumbling block that has stymied their adoption for supporting state-intensive NFs such as cloud-scale NATs and load balancers that maintain millions of flow-table entries.
In this talk, I will present our recent work exploring a new approach that leverages DRAM on servers available in typical NFV clusters. Our new system architecture, called TEA (Table Extension Architecture), provides a virtual table abstraction that allows NFs on programmable switches to look up large virtual tables built on external DRAM. TEA enables switch ASICs to access external DRAM purely in the data plane without involving CPUs on servers. We address key design and implementation challenges in realizing this idea. We demonstrate its feasibility and practicality with our implementation on a Tofino-based programmable switch. Our evaluation shows that NFs built with TEA can look up table entries on external DRAM with low and predictable latency (1.8-2.2 μs) and the lookup throughput can be linearly scaled with additional servers (138 million lookups per seconds with 8 servers).
Daehyeok Kim is a PhD candidate in the computer science department at Carnegie Mellon University, co-advised by Professors Vyas Sekar and Srini Seshan. His research interests lie in the intersection of computer systems and networking with a recent focus on making networked systems faster and more efficient with programmable data planes. Most recently, he has been interested in designing new abstractions and runtime systems for programmable switches and NICs to unlock their full potentials. Prior to CMU, he worked at KAIST for three years as a research scientist. He completed his BS and MS in computer science and engineering at POSTECH, South Korea. He is a recipient of the Microsoft Research PhD fellowship.