Causal broadcasting and consistency of distributed shared data (original) (raw)

Characterization and delivery of directly coupled causal messages in distributed systems

Future Generation Computer Systems, 2003

Causal Order (CO) is an important but basic property of message-passing based distributed systems. Violations of causal order delivery normally lead to significant inconsistencies, particularly in distributed virtual environments. However, CO is only a partial order, which captures messages that have "cause-effect" relations. It does not order concurrent messages which occur independently at different processes. This paper proposes a new relation, i.e., direct-follow relation, to characterize directly coupled causal messages and a corresponding message delivery scheme, i.e., direct-follow order (DFO) delivery. The DFO delivery effectively enforces the delivery order of certain concurrent messages and thus can be used to further eliminate inconsistencies caused by these messages. It is a stronger ordering mechanism than CO. However, as shown in the paper, messages with the direct-follow relation cannot be always delivered according to the DFO, since the ordering of concurrent messages required by the DFO may result in conflicts in message dependency. This paper explains the motivation of defining the DFO, explores its properties and gives the conditions under which direct-follow messages can be delivered according to the DFO.

21st International Conference on Principles of Distributed Systems, OPODIS 2017, Lisbon, Portugal, December 18-20, 2017

2018

The problem of ensuring consistency in applications that manage replicated data is one of the main challenges of distributed computing. Among the several invariants that may be enforced, ensuring that updates are applied and made visible respecting causality has emerged as a key ingredient among the many consistency criteria and client session guarantees that have been proposed and implemented in the last decade. Techniques to keep track of causal dependencies, and to subsequently ensure that messages are delivered in causal order, have been widely studied. It is today well known that, in order to accurately capture causality one may need to keep a large amounts of metadata, for instance, one vector clock for each data object. This metadata needs to be updated and piggybacked on update messages, such that updates that are received from remote datacenters can be applied locally without violating causality. This metadata can be compressed; ultimately, it is possible to preserve causal...

Maintaining causal order in large scale distributed systems using a logical hierarchy

APPLIED INFORMATICS-PROCEEDINGS-, 1995

The paper presents a simple and e cient protocol that supports exchange of messages among a set of nodes while preserving the causal ordering of message exchange. It is designed for a large scale replicated system where a message is sent to every replica in the network. The desirable characteristics of the protocol are that it imposes little space overhead appended to each message. This is achieved by using a propagation algorithm that is based on nodes organized in a logical hierarchy, where each node sends and receives messages from a few nodes only. Therefore, a node needs to keep track of messages received from those nodes and stamp messages with this information only in order to verify the causal ordering. This low cost of timestamp size results in reduced communication overhead and increased performance and scalability of the system. The protocol is fully asynchronous and the burden of propagation is evenly distributed among the nodes, which improves system performance. It can be implemented on an unreliable network and survives processor failures and partitions.

An optimal protocol for causally consistent distributed shared memory systems

2004

Abstract Summary form only given. Distributed shared memory (DSM) is one of the main abstraction to implement data-centric information exchanges among a set of processes. Ensuring causal consistency means all operations executed at each process will be compliant to a cause effect relation. We provide an optimality criterion for a protocol P that enforces causal consistency on a DSM. This criterion addresses the number of write operations delayed by P (write delay optimality).

Checking Causal Consistency of Distributed Databases

2019

Causal consistency is one of the strongest models that can be implemented to ensure availability and partition tolerance in distributed systems. In this paper, we propose a tool to check automatically the conformance of distributed/concurrent systems executions to causal consistency models. Our approach consists in reducing the problem of checking if an execution is causally consistent to solving Datalog queries. The reduction is based on complete characterizations of the executions violating causal consistency in terms of the existence of cycles in suitably defined relations between the operations occurring in these executions. We have implemented the reduction in a testing tool for distributed databases, and carried out several experiments on real case studies, showing the efficiency of the suggested approach.

Understanding the Limitations of Causally and Totally Ordered Communication

1993

Causally and totally ordered communication support (CATOCS) has been proposed as important to provide as part of the basic building blocks for constructing reliable distributed systems. In this paper, we identify four major limitations to CATOCS, investigate the applicability of CATOCS to several classes of distributed applications in light of these limitations, and the potential impact of these facilities on communication scalability and robustness. From this investigation, we find limited merit and several potential problems in using CATOCS. The fundamental difficulty with the CATOCS is that it attempts to solve state problems at the communication level in violation of the

A Mechanism for Sequential Consistency in a Distributed Objects System

Iscapdcs, 2004

This paper presents a new protocol for ensuring sequential consistency in a distributed objects system. The protocol is efficient and simple. In addition to providing a high-level overview of the protocol, we give a brief discussion of the implementation details. We also provide a mathematical model that we used to prove the correctness of our approach.

A Survey of Scalability Approaches for Reliable Causal Broadcasts

Several applications of distributed systems need to be highly scalable. For achieving high availability and fault tolerance, such applications typically replicate their data. Due to the dynamics of growth and volatility of the customer markets of such applications, they need to be hosted by highly scalable and adaptive systems. In particular, the scalability of the reliable broadcast mechanisms used for supporting the consistency of replicas is of crucial importance. Reliable broadcasts propagate updates in a predetermined order (e.g., FIFO, total or causal). Since total order needs more communication rounds than causal order, the latter appears to be the preferable candidate for achieving broadcast scalability, although the consistency guarantees based on causal order are weaker than those of total order. This paper provides a historical survey of different approaches used in reliable causal broadcast protocols. In particular, we focus on protocol mechanisms for enhancing both scalability and adaptability.

Preserving Causality in a Scalable Message-Oriented Middleware

Lecture Notes in Computer Science, 2001

We present a solution to guarantee scalable causal ordering through matrix clocks in Message Oriented Middleware (MOM). This solution is based on a decomposition of the MOM in domains of causality, i.e. small groups of servers interconnected by router servers. We prove that, provided the domain interconnection graph has no cycles, global causal order on message delivery is guaranteed through purely local order (within domains). This allows the cost of matrix clocks maintenance to be kept linear, instead of quadratic, in the size of the application. We have implemented this algorithm in a MOM, and the performance measurements confirm the predictions.

How to avoid the cost of causal communication in large-scale systems

1994

Abstract In a distributed system, consisting of a collection of processes that communicate by exchanging messages, the order in which messages are delivered to processes is of major relevance to the application design. With the aim of simplifying the design of distributed applications [14, 4, 11], several algorithms and protocols have been proposed to provide causal order delivery [4, 6, 9, 7, 10].