arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2302.04500cs.DCcs.AIcs.DB
收藏

FLAC:一种健壮的分布式事务失效原子提交协议

FLAC: A Robust Failure-Aware Atomic Commit Protocol for Distributed Transactions

National University of Singapore(新加坡国立大学);Beijing Institute of Technology(北京理工大学);Zhejiang University(浙江大学)

Hexiang Pan, Quang-Trung Ta, Meihui Zhang, Yeow Meng Chee, Gang Chen, Beng Chin Ooi

摘要:

在分布式事务处理中,原子提交协议(ACP)被用来保证数据库的一致性。随着商用计算节点和网络的使用,诸如系统崩溃和网络分区之类的故障是常见的。因此,重要的是ACP动态地适应操作条件以提高效率,同时确保数据库的一致性。现有的ACP通常假设稳定的操作条件,因此,它们要么不可推广到不同的环境,要么在实践中很慢。在本文中,我们提出了一种新颖而实用的ACP,称为故障感知原子提交(FLAC)。本质上,FLAC包括三个协议,它们是专门为三种不同的环境设计的:(i)没有故障发生,(ii)参与节点可能崩溃,但没有延迟连接,或(iii)崩溃的节点和延迟连接都可能发生。它将这些环境建模为无故障、崩溃故障和网络故障鲁棒性级别。在其操作期间,FLAC可以监控是否发生任何故障,并使用鲁棒性级别状态机动态切换以操作最合适的协议,该状态机的参数通过强化学习进行微调。因此,它提高了响应时间和吞吐量,并有效地处理分布在Internet上可能发生崩溃和网络故障的节点。我们在一个基于GooglePercolator的分布式事务键值存储系统中实现了FLAC,并通过实际工作负载的微观基准测试和宏观基准测试对其性能进行了评估。结果表明,与现有的ACP相比,FLAC实现了高达2.22倍的吞吐量提高和2.82倍的延迟加速。

英文摘要:

In distributed transaction processing, atomic commit protocol (ACP) is used to ensure database consistency. With the use of commodity compute nodes and networks, failures such as system crashes and network partitioning are common. It is therefore important for ACP to dynamically adapt to the operating condition for efficiency while ensuring the consistency of the database. Existing ACPs often assume stable operating conditions, hence, they are either non-generalizable to different environments or slow in practice. In this paper, we propose a novel and practical ACP, called Failure-Aware Atomic Commit (FLAC). In essence, FLAC includes three protocols, which are specifically designed for three different environments: (i) no failure occurs, (ii) participant nodes might crash but there is no delayed connection, or (iii) both crashed nodes and delayed connection can occur. It models these environments as the failure-free, crash-failure, and network-failure robustness levels. During its operation, FLAC can monitor if any failure occurs and dynamically switch to operate the most suitable protocol, using a robustness level state machine, whose parameters are fine-tuned by reinforcement learning. Consequently, it improves both the response time and throughput, and effectively handles nodes distributed across the Internet where crash and network failures might occur. We implement FLAC in a distributed transactional key-value storage system based on Google Percolator and evaluate its performance with both a micro benchmark and a macro benchmark of real workload. The results show that FLAC achieves up to 2.22x throughput improvement and 2.82x latency speedup, compared to existing ACPs for high-contention workloads.

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

↑