Asea Brown Boveri Ltd. (ABB) Award - 2022 - Marios Kogias
Operating System and Network Co-Design for Latency-Critical Datacenter Applications
EPFL thesis n°7108
Thesis director: Prof. E. Bugnion
For his outstanding contribution to the field of datacenter networking and systems, recognised internationally by the ACM Dennis Ritchie Award, awarded annually to the Best PhD thesis in the field of computer systems.
Online services play a major role in our everyday life for communication, entertainment, socializing, e-commerce, etc. The heart of those online services is the datacenter and their performance has vast economical, e.g., tech giants’ revenue stream, and sociological, e.g., online user engagement and e-learning, effects. My thesis work lies at the intersection of operating systems and networking and focuses on building efficient latency-critical datacenter systems. By revisiting existing mechanisms and designing new abstractions specifically for the datacenter environment I work towards a datacenter infrastructure that can provide strong tail-tolerance and fault-tolerance guarantees in the microsecond (μs) scale.
This thesis contributions can be split into three main parts. We, first, design and build tools and methodologies for μs-scale latency measurements and system evaluation. Our approach depends on a robust theoretical background in statistics and queueing theory. We, then, revisit existing operating system and networking mechanisms for TCP-based datacenter applications. We design an OS scheduler for μs-scale tasks, and modify TCP to improve L4 load balancing and provide an SLO-aware flow control mechanism. Finally, after identifying the problems related to TCP-based RPC services, we introduce a new transport protocol for datacenter RPCs and in-network policy enforcement that enables us to push functionality to the network. We showcase how the new protocol improves the performance and simplifies the implementation of in-network RPC load balancing, SLO-aware RPC flow control, and application-agnostic fault-tolerant RPCs.