A NEaT Design for Reliable and Scalable Network Stacks
Tomas Hruby, Cristiano Giuffrida, Lionel Sambuc, Herbert Bos, Andrew S. Tanenbaum · 2016
Operating systems provide a wide range of services, which are crucial for the increasingly high reliability and scalability demands of modern applications. Providing both reliability and scalability at the same time is hard. Commodity OS architectures simply lack the design abstractions to do so for demanding core OS services such as the network stack. For reliability and scalability guarantees, they rely almost exclusively on ensuring a high-quality implementation, rather than a reliable and scalable design. This results in complex error recovery paths and hard-to-maintain synchronization code.