Tailwind: Fast and Atomic RDMA-based Replication

Tailwind: Fast and Atomic RDMA-based Replication
复制标题

DOI:
--
复制
发表时间:
2018-07
期刊:
--
影响因子:
--
通讯作者:
Y. Taleb;Ryan Stutsman;Gabriel Antoniu;Toni Cortes
Y. Taleb;Ryan Stutsman;Gabriel Antoniu;Toni Cortes
中科院分区:
其他
文献类型:
--
作者:
Y. Taleb;Ryan Stutsman;Gabriel Antoniu;Toni Cortes

文献摘要

被引文献

相似文献

复制对于容错是必不可少的,但它也是高开销的来源。一些最近的内存中系统使用远程直接内存访问(RDMA)来创建远程内存中数据的冗余副本。RDMA很有吸引力,因为它具有低延迟、高吞吐量,并且在目标端没有CPU开销。但是,即使使用RDMA,现有的复制协议也无法避免冗余数据复制和目标端工作。备份服务器可以通过RDMA接收更新,但它们必须主动将更新合并到副本中以更新备份数据结构,并确保仅应用完全接收的消息。在本文中,我们提出了Tailwind,一个零拷贝恢复日志复制协议的横向扩展内存中的数据库。Tailwind是第一个消除所有CPU驱动的数据复制并完全绕过目标服务器CPU进行数据复制的复制协议。在Tailwind中,所有的数据移动都是通过设备DMA完成的;单侧RDMA直接将位置数据以其最终形式写入远程I/O缓冲区,以实现稳定的存储。与传统的基于RPC的复制相比,Tailwind大大提高了复制吞吐量和响应延迟。在服务器既服务请求又充当副本的对称系统中,Tailwind还通过释放服务器CPU资源用于请求处理来提高正常情况下的吞吐量。我们在RAMCloud上实现并评估了Tailwind,RAMCloud是一种低延迟的内存存储系统。实验表明,Tailwind将RAMCloud的正常情况请求处理吞吐量提高了1.7倍。它还使书写中位数和第99百分位数的乳酸分别降低了2%和3%。
Replication is essential for fault-tolerance, but it is also a source of high overhead. Some recent in-memory systems use remote direct memory accesses (RDMA) to create redundant copies of data in remote memory. RDMA is attractive, since it is low-latency, high-throughput, and has no CPU overhead at the target. However, even with RDMA, no existing replication protocol avoids redundant data copying and target-side work. Backup servers may receive updates via RDMA, but they must actively incorporate the updates into replicas to update backup data structures and to ensure that only fully received messages are applied. In this paper, we present Tailwind, a zero-copy recovery log replication protocol for scale-out in-memory databases. Tailwind is the first replication protocol that eliminates all CPU-driven data copying and fully bypasses target server CPUs for data replication. In Tailwind , all data movement is done via device DMA; one-sided RDMA writes place data directly in remote I/O buffers in its final form for stable storage. Tailwind substantially improves replication throughput and response latency compared with conventional RPC-based replica-tion. In symmetric systems where servers both serve requests and act as replicas, Tailwind also improves normal-case throughput by freeing server CPU resources for request processing. We implemented and evaluated Tailwind on RAMCloud, a low-latency in-memory storage system. Experiments show Tailwind improves RAMCloud's normal-case request processing through-put by 1.7⇥. It also decreases writes median and 99 th percentile latencies by 2⇥ and 3⇥ respectively.