Abstract:In this paper we present an algorithm that can be used to implement sequential, causal, or cache consistency in distributed shared memory (DSM) systems. For this purpose it has a parameter that allows to choose the consistency model to be implemented. We can also use our algorithm such that not all processes have the same value in this parameter (we have shown the resulting consistency). This characteristic allows to choose a concrete consistency model but implementing it with the algorithm more efficient in e… Show more
“…Several other protocols implementing causal consistency have appeared in the literature [2,6,16,25].…”
Section: Related Workmentioning
confidence: 98%
“…The protocol presented in [16] is a propagation-based protocol using complete replication. However, differently from protocols in [1,6,25], the propagation is not immediate but it is token-based.…”
Ensuring causal consistency in a Distributed Shared Memory (DSM) means all operations executed at each process will be compliant to a causality order relation. This paper first introduces an optimality criterion for a protocol P, based on a complete replication of variables at each process and propagation of write updates, that enforces causal consistency. This criterion measures the capability of a protocol to update the local copy as soon as possible while respecting causal consistency. Then we present an optimal protocol built on top of a reliable broadcast communication primitive and we show how previous protocols based on complete replication presented in the literature are not optimal. Interestingly, we prove that the optimal protocol embeds a system of vector clocks which captures the read/write semantics of a causal memory. From an operational point of view, an optimal protocol strongly reduces its message buffer overhead. Simulation studies show that the optimal protocol roughly buffers a number of messages of one order of magnitude lower than non-optimal ones based on the same communication primitive
“…Several other protocols implementing causal consistency have appeared in the literature [2,6,16,25].…”
Section: Related Workmentioning
confidence: 98%
“…The protocol presented in [16] is a propagation-based protocol using complete replication. However, differently from protocols in [1,6,25], the propagation is not immediate but it is token-based.…”
Ensuring causal consistency in a Distributed Shared Memory (DSM) means all operations executed at each process will be compliant to a causality order relation. This paper first introduces an optimality criterion for a protocol P, based on a complete replication of variables at each process and propagation of write updates, that enforces causal consistency. This criterion measures the capability of a protocol to update the local copy as soon as possible while respecting causal consistency. Then we present an optimal protocol built on top of a reliable broadcast communication primitive and we show how previous protocols based on complete replication presented in the literature are not optimal. Interestingly, we prove that the optimal protocol embeds a system of vector clocks which captures the read/write semantics of a causal memory. From an operational point of view, an optimal protocol strongly reduces its message buffer overhead. Simulation studies show that the optimal protocol roughly buffers a number of messages of one order of magnitude lower than non-optimal ones based on the same communication primitive
“…For simplicity, in both cases we consider, as in [3,5,8,18,24,26,25], that each MCSprocess has a copy (replica) of the whole shared memory. In an MCS with invalidation, some of the copies of a variable x can be "invalid" or outdated.…”
Section: Systemmentioning
confidence: 99%
“…This value is returned to an application process that issues a read operation. New written values are propagated among MCS-processes to maintain the copies up to date [3,5,8,18]. …”
Abstract. In this paper we present a framework to formally describe and study the interconnection of distributed shared memory systems. In our models we minimize the dependencies between the original systems and the interconnection system (that is, they are decoupled) and consider systems implemented with invalidation and propagation. We first show that only fast (i.e. wait-free) memory models can be interconnected. We then show that causal and pRAM systems can be interconnected if they fulfill some restrictions, and for these cases, we present protocols to interconnect them. Finally, we present a protocol to interconnect cache systems.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.