Balancing CPU and Network in the Cell Distributed B-Tree Store - Mitchell, Christopher; Montgomery, Kate; Nelson, Lamont; Li, Jinyang; Sen, Siddhartha (USENIX Annual Technical Conference (ATC), 2016)
In traditional client-server designs, all requests are processed at the server storing the state, thereby maintaining strict locality between computation and state. The adoption of RDMA (Remote Direct Memory Access) makes it practical to relax locality by letting clients fetch server state and process requests themselves. Such client-side processing improves performance when the server CPU, instead of the network, is the bottleneck. We observe that combining server-side and client-side processing allows systems to balance and adapt to the available CPU and network resources with minimal configuration, and can free resources for other CPU-intensive work.