Path-Sensitive Atomic Commit: Local Coordination Avoidance for Distributed Transactions (Technical Report)

08/16/2019
by   Tim Soethout, et al.
0

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 an atomic commitment protocol such as Two-Phase commit (2PC). In highly available, high-throughput systems, such as large banking infrastructure, however, 2PC becomes a bottleneck when objects are highly congested (one object queuing a lot of messages at the same time because of locking). 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 postconditions, describing their guards and effect. 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. 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 2PC, but obtains up to 1.8 times median higher throughput in congested scenarios.

READ FULL TEXT
research
02/26/2018

Observable atomic consistency for CvRDTs

The development of distributed systems requires developers to balance th...
research
03/11/2020

Constellation: A High Performance Geo-Distributed Middlebox Framework

Middleboxes are increasingly deployed across geographically distributed ...
research
06/15/2011

A Characterization of the SPARC T3-4 System

This technical report covers a set of experiments on the 64-core SPARC T...
research
10/02/2021

Spindle: Techniques for Optimizing Atomic Multicast on RDMA

Leveraging one-sided RDMA for applications that replicate small data obj...
research
12/05/2018

Ibdxnet: Leveraging InfiniBand in Highly Concurrent Java Applications

In this report, we describe the design and implementation of Ibdxnet, a ...
research
10/04/2021

Weakly Durable High-Performance Transactions

Existing disk-based database systems largely fall into two categories – ...
research
06/03/2022

Nezha: Deployable and High-Performance Consensus Using Synchronized Clocks

This paper presents a high-performance consensus protocol, Nezha, design...

Please sign up or login with your details

Forgot password? Click here to reset