Fast and Flexible Next-Generation Data Centers
Modern and future data centers must be fast and flexible: fast (i.e., high throughput and low latency), to meet users' quality of service expectations; and flexible (i.e., customizing compute and switching behavior with ease), to let operators manage and run their data centers effectively and efficiently. However, recent trends (i.e., the decline of Moore's Law and the rise of Big Data) are forcing us to rethink how we build these data centers. CPUs—hosting systems—must now repurpose resources (like caches and out-of-order execution) needed for general-purpose processing, to logic tailored to a particular application domain (e.g., machine learning). And, switches—running networks—must now take on more responsibilities (e.g., congestion control and packet scheduling) to further offload CPUs; they can no longer be fixed-function, line-rate devices for packet forwarding only. The concern, however, is that such efforts will cause systems to sacrifice flexibility for higher performance, and networks to sacrifice performance for more flexibility.
In this talk, I will address the latter concern and show how exposing the right domain-specific abstractions (Pisces) and hardware primitives (Elmo) for networks can scale datacenter services, like group communication (i.e., multicast), more flexibly with negligible (or zero) loss in performance. With Pisces, we let network operators modify the behavior of end-host software switches using a high-level language (called P4) without compromising performance; we can use it to offload state (e.g., multicast) from hardware switches and efficiently encode it inside packets. With Elmo, we introduce new primitives for hardware switches that can read and act on the encoded state from within packets and forward them in the network. Together, they allow network operators to scale datacenter services, like multicast to millions of groups, with ease while operating at line-rate.
I will conclude by discussing ongoing and future work on abstractions and architectures for serverless systems and self-driving networks, and how such architectures can interoperate to materialize fast and flexible next-generation data centers.
Host: Nick Feamster
Muhammad Shahbaz is a Postdoctoral Research Scholar in the Department of Electrical Engineering at Stanford University. His research focuses on the design and development of domain-specific languages, compilers, and architectures and their applications to emerging workloads (including machine learning). Shahbaz received his Ph.D. and M.A. in Computer Science from Princeton University and B.E. in Computer Engineering from the National University of Sciences and Technology (NUST). Before joining Princeton University, Shahbaz worked as a Research Assistant at the University of Cambridge, Computer Laboratory, and was a Senior Design Engineer at the Center for Advanced Research in Engineering (CARE). In the past, Shahbaz has built open-source systems like PISCES, SDX, and NetFPGA-10G that are widely used in industry and academia. He has earned (and shared) awards, including Internet2 Innovation Award, ACM SOSR Systems Award, Facebook Research Award, APNet Best Paper Award, and Outstanding Graduate Teaching Assistant Award.