I/O makes or breaks the system, so when it comes to IT infrastructure planning, it is imperative to keep the throughput balance of all the components. The overall system performance will always be approximately equal to the performance of its slowest part. Thus, even one slow component will bring down an uber-fast system composed of high-end hardware. Such a problem is called “bottleneck”, meaning there is a “narrow end”, which slows down the whole process. At the same time, one ultraperforming component will not make a difference in an otherwise mediocre system. That is why balancing throughput of components is the key to cost-efficiency of the setup.
“Data locality” effectively solves the problem of slower interconnect fabrics being the “bottleneck” of the IT infrastructure. It keeps most of the I/O for each process locally within the boundaries on its physical node and ensures much better performance than typical multi-node configurations, where compute and storage resources for one process may be located on different servers. Additionally, “data locality” provides lower latency, because there is no network stack processing overhead, as much less data has to be transferred.