当前位置: X-MOL 学术J. Supercomput. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
High-throughput state-machine replication using software transactional memory
The Journal of Supercomputing ( IF 3.3 ) Pub Date : 2016-05-13 , DOI: 10.1007/s11227-016-1747-2
Wenbing Zhao 1 , William Yang 2 , Honglei Zhang 3 , Jack Yang 4 , Xiong Luo 5 , Yueqin Zhu 6 , Mary Yang 7 , Chaomin Luo 8
Affiliation  

State-machine replication is a common way of constructing general purpose fault tolerance systems. To ensure replica consistency, requests must be executed sequentially according to some total order at all non-faulty replicas. Unfortunately, this could severely limit the system throughput. This issue has been partially addressed by identifying non-conflicting requests based on application semantics and executing these requests concurrently. However, identifying and tracking non-conflicting requests require intimate knowledge of application design and implementation, and a custom fault tolerance solution developed for one application cannot be easily adopted by other applications. Software transactional memory offers a new way of constructing concurrent programs. In this article, we present the mechanisms needed to retrofit existing concurrency control algorithms designed for software transactional memory for state-machine replication. The main benefit for using software transactional memory in state-machine replication is that general purpose concurrency control mechanisms can be designed without deep knowledge of application semantics. As such, new fault tolerance systems based on state-machine replications with excellent throughput can be easily designed and maintained. In this article, we introduce three different concurrency control mechanisms for state-machine replication using software transactional memory, namely, ordered strong strict two-phase locking, conventional timestamp-based multiversion concurrency control, and speculative timestamp-based multiversion concurrency control. Our experiments show that speculative timestamp-based multiversion concurrency control mechanism has the best performance in all types of workload, the conventional timestamp-based multiversion concurrency control offers the worst performance due to high abort rate in the presence of even moderate contention between transactions. The ordered strong strict two-phase locking mechanism offers the simplest solution with excellent performance in low contention workload, and fairly good performance in high contention workload.

中文翻译:

使用软件事务内存的高吞吐量状态机复制

状态机复制是构建通用容错系统的常用方法。为了确保副本的一致性,请求必须在所有非故障副本上按照某个总顺序依次执行。不幸的是,这会严重限制系统吞吐量。通过基于应用程序语义识别非冲突请求并同时执行这些请求,此问题已得到部分解决。但是,识别和跟踪非冲突请求需要对应用程序设计和实现有深入了解,并且为一个应用程序开发的自定义容错解决方案不容易被其他应用程序采用。软件事务内存提供了一种构建并发程序的新方法。在本文中,我们提出了改进现有并发控制算法所需的机制,这些算法专为状态机复制的软件事务内存而设计。在状态机复制中使用软件事务内存的主要好处是可以设计通用并发控制机制,而无需深入了解应用程序语义。因此,可以轻松设计和维护基于具有出色吞吐量的状态机复制的新容错系统。在本文中,我们介绍了使用软件事务内存进行状态机复制的三种不同的并发控制机制,即有序强严格两阶段锁定、传统的基于时间戳的多版本并发控制和基于推测时间戳的多版本并发控制。我们的实验表明,基于推测性时间戳的多版本并发控制机制在所有类型的工作负载中都具有最佳性能,传统的基于时间戳的多版本并发控制由于高中止率而提供最差的性能,即使事务之间存在中等争用。有序的强严格两阶段锁定机制提供了最简单的解决方案,在低争用工作负载下性能优异,在高争用工作负载下性能相当不错。
更新日期:2016-05-13
down
wechat
bug