2014 · 116 citations · 20 references
ComputingComputer ScienceComputer SystemsDistributed SystemsEdge ComputingInterconnection NetworksEdge ArchitectureScalability ArchitectureHigh PerformanceNetwork Protocol StacksNetwork StackNetwork Stack ImplementationResource ScalingScalability Trade-offs
Contemporary network stacks are masterpieces of generality, supporting many edge-node and middle-node functions. Generality comes at a high performance cost: current APIs, memory models, and implementations drastically limit the effectiveness of increasingly powerful hardware. Generality has historically been required so that individual systems could perform many functions. However, as providers have scaled services to support millions of users, they have transitioned toward thousands (or millions) of dedicated servers, each performing a few functions. We argue that the overhead of generality is now a key obstacle to effective scaling, making specialization not only viable, but necessary.
20
Dawson Engler, M. Frans Kaashoek, James W. O’Toole · 1995 · 1.1K citations
Mach: A New Kernel Foundation for UNIX Development.
Michael J. Accetta, R. Baron, William J. Bolosky et al. · USENIX Summer · 1986 · 919 citations
Thorsten von Eicken, Anindya Basu, V. Buch et al. · 1995 · 719 citations
Dynamic instrumentation of production systems
Bryan Cantrill, Michael W. Shapiro, Adam Leventhal · 2004 · 436 citations
Anil Madhavapeddy, Richard Mortier, Charalampos Rotsos et al. · 2013 · 402 citations