TY - GEN
T1 - Balancing CPU and network in the cell distributed b-tree store
AU - Mitchell, Christopher
AU - Montgomery, Kate
AU - Nelson, Lamont
AU - Sen, Siddhartha
AU - Li, Jinyang
PY - 2016/1/1
Y1 - 2016/1/1
N2 - 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. We present Cell, a distributed B-tree store that combines client-side and server-side processing. Cell distributes a global B-tree of "fat" (64MB) nodes across machines for server-side searches. Within each fat node, Cell organizes keys as a local B-tree of RDMA-friendly small nodes for client-side searches. Cell clients dynamically select whether to use client-side or server-side processing in response to available resources and the current workload. Our evaluation on a large RDMA-capable cluster show that Cell scales well and that its dynamic selector effectively responds to resource availability and workload properties.
AB - 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. We present Cell, a distributed B-tree store that combines client-side and server-side processing. Cell distributes a global B-tree of "fat" (64MB) nodes across machines for server-side searches. Within each fat node, Cell organizes keys as a local B-tree of RDMA-friendly small nodes for client-side searches. Cell clients dynamically select whether to use client-side or server-side processing in response to available resources and the current workload. Our evaluation on a large RDMA-capable cluster show that Cell scales well and that its dynamic selector effectively responds to resource availability and workload properties.
UR - http://www.scopus.com/inward/record.url?scp=85019202669&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85019202669&partnerID=8YFLogxK
M3 - Conference contribution
T3 - Proceedings of the 2016 USENIX Annual Technical Conference, USENIX ATC 2016
SP - 451
EP - 464
BT - Proceedings of the 2016 USENIX Annual Technical Conference, USENIX ATC 2016
PB - USENIX Association
T2 - 2016 USENIX Annual Technical Conference, USENIX ATC 2016
Y2 - 22 June 2016 through 24 June 2016
ER -