Design and Evaluation of an RDMA-aware Data Shuffling Operator for Parallel Database Systems

Design and Evaluation of an RDMA-aware Data Shuffling Operator for Parallel Database Systems
复制标题

DOI:
10.1145/3360900
复制
发表时间:
2019-12
期刊:
ACM Transactions on Database Systems (TODS)
影响因子:
--
通讯作者:
Feilong Liu;Lingyan Yin;Spyros Blanas
Feilong Liu;Lingyan Yin;Spyros Blanas
中科院分区:
其他
文献类型:
--
作者:
Feilong Liu;Lingyan Yin;Spyros Blanas

文献摘要

被引文献

相似文献

高性能网络的商品化引发了对这种硬件的RDMA能力的研究兴趣。特别是单边RDMA原语,由于能够从应用程序内部直接访问远程内存而不涉及TCP/IP堆栈或远程CPU,因此引起了极大的兴奋。本文考虑如何利用RDMA来提高并行数据库系统的分析性能。为了使用RDMA有效地混洗数据,需要考虑复杂的设计空间,其中包括(1)开放连接的数量,(2)共享网络接口的争用,(3)RDMA传输功能,以及(4)应该保留多少内存来交换查询处理期间节点之间的数据。我们贡献了八个设计,捕捉突出的权衡在这个设计空间,以及一个自适应算法来动态管理RDMA注册内存。我们全面评估了传输层的决策如何影响不同代的InfiniBand数据库系统的查询性能。我们发现,一个洗牌运营商,使用RDMA发送/接收传输功能的不可靠的数据报传输服务可以传输数据高达4倍的速度比一个支持RDMA的MPI实现在16节点集群。TPC-H查询的响应时间提高了2倍。
The commoditization of high-performance networking has sparked research interest in the RDMA capability of this hardware. One-sided RDMA primitives, in particular, have generated substantial excitement due to the ability to directly access remote memory from within an application without involving the TCP/IP stack or the remote CPU. This article considers how to leverage RDMA to improve the analytical performance of parallel database systems. To shuffle data efficiently using RDMA, one needs to consider a complex design space that includes (1) the number of open connections, (2) the contention for the shared network interface, (3) the RDMA transport function, and (4) how much memory should be reserved to exchange data between nodes during query processing. We contribute eight designs that capture salient tradeoffs in this design space as well as an adaptive algorithm to dynamically manage RDMA-registered memory. We comprehensively evaluate how transport-layer decisions impact the query performance of a database system for different generations of InfiniBand. We find that a shuffling operator that uses the RDMA Send/Receive transport function over the Unreliable Datagram transport service can transmit data up to 4× faster than an RDMA-capable MPI implementation in a 16-node cluster. The response time of TPC-H queries improves by as much as 2×.