In this paper, we develop RCC, the first unified and comprehensive RDMA-enabled distributed transaction processing framework supporting six serializable concurrency control protocols: not only the classical protocols NOWAIT, WAITDIE, and OCC, but also more advanced MVCC and SUNDIAL, and even CALVIN, the deterministic concurrency control protocol. Our goal is to unbiasedly compare the protocols in a common execution environment with the concurrency control protocol being the only changeable component. We focus on the correct and efficient implementation using key techniques, such as co-routines, outstanding requests, and doorbell batching, with two-sided and one-sided communication primitives. Based on RCC, we get the deep insights that cannot be obtained by any existing systems. Most importantly, we obtain the execution stage latency breakdowns with one-sided and two-sided primitive for each protocol, which are analyzed to develop more efficient hybrid implementations. Our results show that three hybrid designs are indeed better than both one-sided and two-sided implementations by up to 17.8%. We believe that RCC is a significant advance over the state-of-the-art; it can both provide performance insights and be used as the common infrastructure for fast prototyping new implementations.
翻译:在本文中,我们开发了RCC,这是第一个统一和综合的RDMA驱动的分布式交易处理框架,它支持六个可连带的货币控制协议:不仅是传统的NOWAIT、SIAPDIE和OCC,而且更先进的MVCC和SUNDIAL,甚至确定性货币控制协议CALVIN。我们的目标是将共同执行环境中的议定书与货币控制协议之间的共同执行环境中的议定书进行无偏见的、无偏颇的比较,而货币控制协议是唯一可以改变的部分。我们侧重于正确和高效的实施,使用关键技术,如共程、未决请求和门铃组合,配有双面和片面的通信原始。根据RCC,我们得到了任何现有系统都无法获得的深刻洞察力。最重要的是,我们获得了执行阶段的极限,每个协议都是片面的和两面的原始的。我们的结果显示,三种混合设计确实比单面和双面执行都好,最多达到17.8%。我们认为RC是快速执行基础设施的显著进步,可以提供快速执行。