arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2412.02192cs.DCcs.DBcs.OS
收藏

Thallus:一种基于 RDMA 的列式数据传输协议

Thallus: An RDMA-based Columnar Data Transport Protocol

Jayjeet Chakraborty, Matthieu Dorier, Philip Carns, Robert Ross, Carlos Maltzahn, Heiner Litz

AI总结:

针对 Apache Arrow 列式数据在 TCP/IP 传输中的序列化与内存拷贝开销,本文基于 Thallium 和 RDMA over Infiniband 设计实现零拷贝协议 Thallus,并证明其相较纯 RPC 方案有显著性能提升。

摘要:

当代全球数据中心中生成和存储的数据量正呈指数级增长。这种快速的数据增长需要高效的处理和分析,以提取有价值的业务洞察。在分布式数据处理系统中,数据会在计算服务器之间进行交换;在足够大的集群中,这种交换在总数据处理时长中占据显著比重,因此需要高效的数据传输协议。传统上,JDBC 和 ODBC 等数据传输框架一直采用以太网上的 TCP/IP 作为其底层网络协议。此类框架需要先将数据序列化到单个连续缓冲区中,然后再移交给网卡,这主要是因为 TCP/IP 要求数据连续。在 OLAP 用例中,对于列式数据批次而言,这一序列化过程代价高昂,因为它涉及大量内存复制,会损害数据传输时长和整体数据处理性能。我们在广泛使用的列式数据格式 Apache Arrow 的背景下研究序列化开销,并提出利用 RDMA 通过 Infiniband 以零拷贝方式传输 Arrow 数据。我们基于 Mochi 生态系统中的 Thallium 框架,设计并实现了 Thallus——一种用于 Apache Arrow、基于 RDMA 的列式数据传输协议,将其与纯粹基于 Thallium RPC 的实现进行比较,并表明使用 RDMA 进行列式数据传输可以实现显著的性能提升。

英文摘要:

The volume of data generated and stored in contemporary global data centers is experiencing exponential growth. This rapid data growth necessitates efficient processing and analysis to extract valuable business insights. In distributed data processing systems, data undergoes exchanges between the compute servers that contribute significantly to the total data processing duration in adequately large clusters, necessitating efficient data transport protocols. Traditionally, data transport frameworks such as JDBC and ODBC have used TCP/IP-over-Ethernet as their underlying network protocol. Such frameworks require serializing the data into a single contiguous buffer before handing it off to the network card, primarily due to the requirement of contiguous data in TCP/IP. In OLAP use cases, this serialization process is costly for columnar data batches as it involves numerous memory copies that hurt data transport duration and overall data processing performance. We study the serialization overhead in the context of a widely-used columnar data format, Apache Arrow, and propose leveraging RDMA to transport Arrow data over Infiniband in a zero-copy manner. We design and implement Thallus, an RDMA-based columnar data transport protocol for Apache Arrow based on the Thallium framework from the Mochi ecosystem, compare it with a purely Thallium RPC-based implementation, and show substantial performance improvements can be achieved by using RDMA for columnar data transport.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑