Why Distributed Systems Are Often Slower Than One Laptop
The 2015 COST paper showed distributed systems often lose to a single thread. A worked case study reveals the real cost of premature scaling.
In 2015, Frank McSherry, Michael Isard and Derek Murray published 'Scalability! But at What COST?', comparing leading distributed graph-processing systems against a single-threaded laptop. The results were stark: finding connected components in Twitter's follower graph took GraphLab 242 seconds on 128 cores, while a single thread using a 1970s union-find algorithm finished in 15. The paper formalized this as the COST metric — the number of cores a distributed system needs before it beats one competent thread. For many systems that number ran into the hundreds; for some it was never reached at all.
A worked example shows what this costs today. A SaaS company processing 2 billion events daily runs a Kafka-and-Flink pipeline costing roughly $1.4 million a year in compute, platform engineering, and coordination-related incidents. Yet the actual workload — about 12 megabytes per second — fits comfortably within a single modern server's capacity. Two redundant machines and a fraction of one engineer's time could handle the same load for about $57,000 a year, and faster, since the overhead of packing and shipping data across a network disappears entirely.
This reflex made sense between 2004 and 2012, when Google's MapReduce era genuinely required spreading jobs across many machines. Hardware has since advanced roughly a hundredfold — single servers now offer 192 cores and terabytes of memory — while most companies' actual data volumes remain under a terabyte. Amazon's Prime Video team cut costs by 90% after consolidating microservices into a single program, and similar simplifications at Segment and Stack Overflow reinforced the pattern.
The core issue is that this comparison is rarely made: distributed systems are benchmarked against other distributed systems, never against a single-machine baseline. For engineers, the lesson is clear — without measuring real workload size first, adopting distributed architecture by default often means paying heavily just to parallelize your own coordination overhead.
This synthesis was produced from its source by AI; there is no human editor or manual review step. How we work