Networks, and the applications they support, sometimes treat each other as strangers. By shaking things up a bit—expressing networked systems as compositions of small, pure functions and making their dataflow a first-class consideration—we can often achieve friendlier couplings across the stack, to the benefit of performance, robustness, and understandability. This approach has proved helpful in several contexts: networking algorithms learned "in situ," feeding data from deployment back into training; real-time video conferencing, especially for musicians and actors during the pandemic; image compression in a distributed network filesystem; and a serverless computing framework that lets software burst to 10,000 cores that we have used for software compilation and testing, film-scale 3D rendering, video encoding and inference, and other jobs. In ongoing work, we're building a "functional" operating system that enforces a separation between IO (declared to the OS) and computation (reproducible by default). This suggests an end-to-end argument for serverless computing, shifting the service model from “renting CPUs by the second” to “providing the unambiguously correct result of a computation.” Holding infrastructure accountable to these higher-level abstractions could permit agility and innovation on other axes.
Associate Professor of Computer Science and, by courtesy, of Electrical Engineering @Stanford
Keith Winstein is an associate professor of computer science and, by courtesy, of electrical engineering at Stanford University. His research group creates new kinds of networked systems by rethinking abstractions around communication, compression, and computing. Some of his group’s research has found broader use, including the Mosh (mobile shell) tool, the Puffer video-streaming site, the Lepton compression tool, the Mahimahi network emulators, and the gg lambda-computing framework. Winstein previously served as a staff reporter at The Wall Street Journal and worked at Ksplice, a startup company (now part of Oracle) where he was the vice president of product management and business development and also cleaned the bathroom. (https://cs.stanford.edu/~keithw)