A Consistency in Non-Transactional Distributed Storage Systems
نویسندگان
چکیده
executions. We model system executions using the concept of abstract execution, following Burckhardt [2014]. An abstract execution is a multi-graphA = (H, vis, ar) built on a given history H, which it complements with two relations on elements of H, i.e., vis and ar. Whereas histories describe the observable outcomes of executions, vis and ar, intuitively, capture the non-determinism of the asynchronous environment (e.g., message delivery order), as well as implementation-specific constraints (e.g., conflictresolution policies). In other words, vis and ar determine the relations between pairs of operations in a history that explain and justify its outcomes. More specifically: — vis (visibility) is an acyclic natural relation that accounts for the propagation of write operations. Intuitively, a be visible to b (i.e., a vis −→ b) means that the effects of a are visible to the process invoking b (e.g., b may read a value written by a). Two write operations are invisible to each other if they are not ordered by vis. — ar (arbitration) is a total order on operations of the history that specifies how the system resolves conflicts due to concurrent and invisible operations. In practice, such total order can be achieved in various ways: through the adoption of a distributed timestamping [Lamport 1978] or consensus protocol [Birman et al. 1991; Hadzilacos and Toueg 1994; Lamport 2001], using a centralized serializer, or using a deterministic conflict resolution policy. Depending on constraints expressed by vis, during an execution processes may observe different orderings of write operations, which we call serializations. We further define the happens-before order (hb) as the transitive closure of the union of so and vis, denoted by:
منابع مشابه
Client Zone 1 Zone 2 Zone 3 Shard A Shard
Application programmers increasingly prefer distributed stor-age systems with strong consistency and distributed transac-tions (e.g., Google’s Spanner) for their strong guarantees andease of use. Unfortunately, existing transactional storage sys-tems are expensive to use – in part because they require costlyreplication protocols, like Paxos, for fault tolerance. In thisp...
متن کاملPartial Replication for Software Transactional Memory Systems
Nowadays, transactional in-memory distributed storage systems are widely used as a mean to increase the performance of applications that need to access frequently large amount of shared data. In this context, data replication has two main advantages: it supports load balancing and fault-tolerance. However, these advantages need to be weighted against the costs of replications: namely memory con...
متن کاملPartial Replication on Transactional Memory Systems
Nowadays, transactional in-memory distributed storage systems are widely used as a mean to increase the performance of applications that need to access frequently large amount of shared data. In this context, data replication has two main advantages: it supports load balancing and fault-tolerance. However, these advantages need to be weighted against the costs of replications: namely memory con...
متن کاملA Robust Fault-Tolerant and Scalable Cluster-wide Deduplication for Shared-Nothing Storage Systems
Deduplication has been largely employed in distributed storage systems to improve space efficiency. Traditional deduplication research ignores the design specifications of shared-nothing distributed storage systems such as no central metadata bottleneck, scalability, and storage rebalancing. Further, deduplication introduces transactional changes, which are prone to errors in the event of a sys...
متن کاملSerializable Snapshot Isolation in Shared-Nothing, Distributed Database Management Systems
NoSQL data storage systems provide high scalability and availability in exchange for limited transactional guarantees. In many cases, however, an application cannot give up transactional support but still needs the scalability provided by such systems. One approach for overcoming this limitation is to implement Snapshot Isolation (SI) on top of these systems. SI prevents most non-serializable e...
متن کاملHighly Available Transactions: Virtues and Limitations
To minimize network latency and remain online during server failures and network partitions, many modern distributed data storage systems eschew transactional functionality, which provides strong semantic guarantees for groups of multiple operations over multiple data items. In this work, we consider the problem of providing Highly Available Transactions (HATs): transactional guarantees that do...
متن کامل