“Hellerstein uses one of the most common examples to explain bottlenecks—the freeway system. These are pathways that are built for the capacity for many people to go at 70 mph and, in theory, this should be the case. Actually, there are lane changes, car troubles, accidents—and soon enough, there is not enough coordination between vehicles for anyone to move along the lines of true capacity. “The coordination and feedback from that coordination ripples through the system.”
” The question then is, how do we build systems where everything stays in the right lane, where the processors don’t have to talk to each and make sure they’re not stepping on each other’s toes, where the databases don’t have to make sure two people aren’t updating the same record in two different places. This overhead of coordination is what is slowing systems down today.”
“That coordination issue is being dealt with in some interesting ways. With the highway theme in mind, the idea is that every participant in the traffic flow could move at capacity if permitted to keep operating. If all the coordination (changing of lanes, so to speak) could happen in the background and update in sync with the rest of the system, things move along nicely. This sounds simple in theory—but we all know why the highway traffic metaphor is so persistent in computer science. Because it’s still essentially an unsolved problem.”
http://www.nextplatform.com/2015/11/05/for-future-systems-coordination-is-the-next-big-bottleneck/