arXivDaily arXiv每日学术速递 周一至周五更新
看起来今天可以划水了
arXiv 1908.05940cs.DCcs.PLcs.SE
收藏

Path-Sensitive Atomic Commit:分布式事务的局部协调避免

Path-Sensitive Atomic Commit: Local Coordination Avoidance for Distributed Transactions

Tim Soethout, Tijs van der Storm, Jurgen Vinju

摘要:

内容:具有异步消息传递的并发对象是构造高可用性、高性能、大规模软件系统的一种越来越流行的方法。为了保证数据的一致性和支持对象间的同步,这类系统通常使用分布式事务,使用两阶段锁(2 PL)进行并发控制,使用两阶段提交(2 PC)作为原子提交协议。然而,在高可用性、高吞吐量的系统中,例如大型银行基础设施,当对象高度竞争时,当对象由于锁定而排队大量消息时,2 PL成为瓶颈。方法:在本文中,我们引入路径敏感的原子提交(PSAC)来解决这种情况。我们从消息处理程序(或方法)开始,它用前置和后置条件装饰,描述它们的保护和效果。知识:这允许PSAC锁定机制检查同时传入的两个消息的效果是否独立,并且如果是这种情况则避免锁定。结果,更多的消息被直接接受或拒绝,并获得更高的总吞吐量。基础:我们已经为一个名为Rebel的基于状态机的DSL实现了PSAC,它是在基于Akka actor框架的运行时之上。我们的性能评估表明,PSAC表现出相同的可扩展性和延迟特性的标准2 PL/2 PC,并获得高达1.8倍的平均吞吐量在拥塞的情况下。重要性:我们相信PSAC是使组织能够构建可扩展的分布式应用程序的一个步骤,即使他们的一致性要求并不是非常并行的。

英文摘要:

Context: Concurrent objects with asynchronous messaging are an increasingly popular way to structure highly available, high performance, large-scale software systems. To ensure data-consistency and support synchronization between objects such systems often use distributed transactions with Two-Phase Locking (2PL) for concurrency control and Two-Phase commit (2PC) as atomic commitment protocol. Inquiry In highly available, high-throughput systems, such as large banking infrastructure, however, 2PL becomes a bottleneck when objects are highly contended, when an object is queuing a lot of messages because of locking. Approach: In this paper we introduce Path-Sensitive Atomic Commit (PSAC) to address this situation. We start from message handlers (or methods), which are decorated with pre- and post-conditions, describing their guards and effect. Knowledge: This allows the PSAC lock mechanism to check whether the effect of two incoming messages at the same time are independent, and to avoid locking if this is the case. As a result, more messages are directly accepted or rejected, and higher overall throughput is obtained. Grounding: We have implemented PSAC for a state machine-based DSL called Rebel, on top of a runtime based on the Akka actor framework. Our performance evaluation shows that PSAC exhibits the same scalability and latency characteristics as standard 2PL/2PC, and obtains up to 1.8 times median higher throughput in congested scenarios. Importance: We believe PSAC is a step towards enabling organizations to build scalable distributed applications, even if their consistency requirements are not embarrassingly parallel.

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

↑