Low Cost Coherence Protocol for DSM Systems with Processor Consistency 1

Size: px
Start display at page:

Download "Low Cost Coherence Protocol for DSM Systems with Processor Consistency 1"

Transcription

1 Low Cost Coherence Protocol for DSM Systems with Processor Consistency Jerzy Brzeziński Michał Szychowiak Institute of Computing Science Poznań University of Technology Piotrowo 3a, Poznań, POLAND phone: , fax: Jerzy.Brzezinski@cs.put.poznan.pl Michal.Szychowiak@cs.put.poznan.pl Abstract Modern Distributed Shared Memory (DSM) systems offer high speed application processing by allowing to use relaxed consistency models, such as processor consistency. Unfortunately, most of the existing coherence protocols implementing relaxed consistency in multiprocessors or loosely couples clusters use write-update strategy which incurs large communication overhead, and therefore is impractical for most distributed applications. This paper presents a new home-based coherence protocol for DSM systems with processor consistency. The protocol uses local invalidation paradigm introducing little overhead. No additional invalidation messages are required; all coherence information is piggybacked to update messages.. Introduction Distributed Shared Memory (DSM) is a virtual memory space available for distributed processes interacting by sharing common objects maintained by the DSM system. One of the most important issues in designing DSM systems is efficiency. In practice a replication mechanism is used to increase the efficiency of the DSM object access by allowing several processes to concurrently access local replicas of the shared object. However, concurrent existence of several replicas of the same shared object requires consistency management. The coherence protocol synchronizes each access to replicas accordingly to the DSM consistency criterion. There are several DSM consistency models with different properties proposed in the literature: atomic [8], sequential [4], causal [], PRAM [], processor [2] and release consistency [3], among others. Some of the consistency models provide stronger guarantees about synchronization of replica values than other models. On the other hand, the more relaxed the consistency, the more concurrency for shared object access is allowed, resulting in better efficiency of the DSM system. A simple strategy for implementing coherency protocols is to use write-update schema, which ensures propagation of every modification of a given object to all its replicas ([], [4], [5], [], [2], [5]). The exact protocols differ in the scope of the replication, or in use of communication paradigms (as write-broadcast []). However, the write-update strategy turns to be very message intensive and therefore impractical for many applications, especially in object-based DSM systems, where the read-to-write ratio is typically low. Moreover, as the goal of proposing relaxed consistency models was to increase the performance of DSM systems, the implementation of the coherence protocol should not incur large over- This work has been partially supported by the State Committee for Scientific Research grant no. 7TC 36 2 Springer-Verlag, Berlin Heidelberg, 23. Proceedings of the 8 th International Symposium on Computer and Information Sciences (ISCIS 23 Antalya, Turkey; in LNCS 2869, November 23, pp The original publication is available at (

2 head. This motivates investigations for new coherency protocols implementing relaxed consistency models DSM with reduced overhead. An alternative to the write-update strategy is the write-invalidate one. In this approach, a write operation on a replica of a given object is required to eventually mark other available replicas of this object as outdated (invalid). The actual update is only performed on demand of read access to an invalidated replica (read miss). After the invalidation several subsequent writes can be performed without the need for any communication. As the invalidation-based coherence protocols incur lower overhead of the write operation, they are a better solution for implementation of relaxed consistency models. This paper presents a new coherence protocol for the processor consistency model, PCG ([2],[6]). PCG is probably the most relaxed consistency model allowing full transparency of the coherence operation from the point of view of the application process, and still useful for solving several classes of computational problems (see [9] as an example). To the best of our knowledge this is the first invalidationbased coherence protocol for the processor consistency model, and therefore it fully allows to exploit the efficiency of the model 2. Moreover, the communication overhead of the proposed protocol is additionally reduced as no explicit invalidation messages are transmitted. Only local invalidation operations are performed to maintain the consistency, relying on the information received with update messages. The concept of local invalidation was formerly proposed in [] to track causal precedence of memory access; however, the invalidation condition proposed there does not apply to processor consistency model. Furthermore, the protocol of [] results in invalidating more objects than strictly necessary, in contrary to the one proposed here. This paper is organized as follows. In Section 2 we define the system model. Section 3 details the new coherence protocol. The protocol is proven correct in Section 4. Some concluding remarks are given in Section Basic definitions 2. System model The DSM system is a distributed system composed of a finite set P of sequential processes P, P 2,..., P n that can access a finite set O of shared objects. Each shared object consists of its current state (object value) and object methods which read and modify the object state. Shared object x is identified by its system-wide unique identifier denoted x.id. The current value of x is denoted x.value. In this paper we consider only read-write objects, i.e. we distinguish two operations on shared objects: read access and write access. We denote by r i (x)v that the read operation returns value v of x, and by w i (x)v that the write operation stores value v to x. Each write access results in a new object value of x. The replication mechanism is typically used to increase the efficiency of the DSM object access by allowing each process to locally access a replica of the object. However, concurrent access to different replicas of the same shared object requires consistency management. The coherence protocol synchronizes each access to replicas accordingly to the DSM consistency criterion. This protocol performs all communication necessary for the interprocess synchronization via message-passing. In this paper we assume the communication to be reliable, i.e. no message is ever lost or corrupted. 2.2 Processor consistency In this work we investigate processor consistency (PCG), first proposed by Goodman in [7], and further formalized by Ahamad et al. in [2]. This consistency model is sufficient for several classes of distributed algorithms but requires weaker synchronization than atomic, sequential or causal consistency, thus allow- 2 An invalidation-based protocol has also been implemented in Dash [6], but the consistency model used there is incomparable to PCG.

3 ing for more concurrency and efficiency. It guarantees that all processes accessing a set of shared objects will perceive the same order of modifications of each single object, additionally respecting the local order of write operation performed by each process. More formally, PCG execution of access operations respects PRAM consistency ([]) and cache consistency ([6]), as defined below. Let local history H i denote the set of all access operations to shared objects issued by P i, history H denote the set of all operations issued by the system (H = H i ), write history HW denote the set of all write operations (HW H), and finally H x denote the set of all write operations performed on x (H x H). By i we denote the local order relation of operations issued by process P i. Definition PRAM consistency (Pipelined RAM, []) Execution of access operations is PRAM consistent if for each P i there exists a serialization a i of the set H i HW such that: 2, i ( o o H HW U i=.. n o j o 2 o a i o 2 ) j=.. n Following from that definition, PRAM consistency preserves the local order of operations of each process. The order of operations issued by different processes may be arbitrary. Definition 2 Cache consistency (coherence, [6]) Execution of access operations is cache consistent if for each P i there exists a serialization a i of the set H i HW satisfying: ( w, w 2 HW H x x O i= w a i w 2.. n i.. n = w2 a i w ) The above definition requires cache consistency to ensure for each process the same order of operations on every shared object. Definition 3 Processor consistency (PCG, [2]) Execution of access operations is processor consistent if for each P i there exists a serialization a i of the set H i HW that preserves both PRAM consistency and cache consistency. We shall call this serialization the processor order. 3. The coherence protocol Here we propose a brand new coherence protocol, named PCGp. The PCGp protocol uses the writeinvalidate strategy and ensures that all local reads reflect the processor order of object modifications by invalidating all potentially outdated replicas. If, at any time, process P i updates object x, it determines all locally stored replicas of objects that could have possibly been modified before x, and denies any further access to them (invalidates), preventing P i from reading inconsistent values. Any access request issued to an invalidated replica of x results in fetching its up-to-date value from a master replica of x. The process holding a master replica of x is called x s owner and shall be denoted for simplicity x.owner. According to the home-based approach, the protocol statically distributes the ownership of shared objects among all processes (static ownership), i.e. the x.owner is assigned a priori and never changes (alternatively, it is called home-node of x). From now on, we shall assume that there is a home-node for each object x, and the identity of x.owner is known. The PCGp protocol introduces 3 different states of an object replica: writable (denoted WR), readonly (RO), and invalid (INV). The current state of x shall be denoted x.state. Only the master replica can

4 have the WR state, and this state enables the owner to perform instantaneously any write or read access to that replica. Meanwhile, every process is allowed to instantaneously read the value of any local RO replica. However, the write access to any RO replica requires additional coherence operations. Meanwhile, the INV state indicates that the object is not available locally for any access. Thus, an access to the INV replica requires the coherence protocol to fetch the value of the master replica of the accessed object and update the local replica. Each process P i manages a vector clock VT i. A vector clock is a well-known mechanism used to track the dependency of events in distributed systems [3]. Here it is intended to track the local precedence of write operations performed by distinct processes. The i-th component of the VT i increases with each write access performed by P i. Moreover, replica x has been assigned a scalar timestamp denoted by x.ts. This timestamp is used to reflect the modification time of the local replica of x, and is updated on each write operation performed to that replica. In order to keep the master replica up-to-date, the homenode (x.owner) collects modifications performed by other processes, however such writes do not increase x.ts. There are four basic procedures invoked by the protocol at P i : inc i (VT i ) increments VT i [i]; local_invalidate i (X) invalidates all replicas with identifiers belonging to the set X, i.e. for all x:: x.id X performs: x.state:=inv and x.ts:=vt i [i]; owned_by i (j) := { x.id :: x.owner = j } returns the set of identifiers of object replicas locally available at P i owned by a given process P j ; modified_since i (t) := { x.id :: x.ts > t } returns the set of identifiers of object replicas at P i having modification timestamps newer than given t; during communication with some process P j this procedure is used to detect objects possibly overwritten or invalidated recently by P i in fact, P j can be interested only in modifications of objects not owned by itself, since the master replicas are always kept up-to-date, therefore P i will actually use another set: outdated i (t, j) := modified_since i(t) \ owned_by i (j). Actually, each process P i manages two vector clocks: VT i which j-th value reflects the number of modifications performed by P j and known to P i (P i will use this value to ask P j for more recent modifications); and VTsent i which j-th value reflects the number of modifications performed by P i which has already been communicated to P j (P i will use this value to remember the latest modification P j can be aware of). Actions of the PCGp protocol are formally presented in Figure and can be described by the following rules: Rule ) If process P i wants to access object x available locally (i.e. in any other state than INV) for reading, the read operation is performed instantaneously. Rule 2) If P i wants to access a WR replica of x for writing, the write operation is performed instantaneously. Rule 3) If P i wishes to gain a read access to object x unavailable locally (x.state=inv), i.e. a read-fault occurs, the protocol sends request message REQ(i, x.id, VT i [x.owner]) to x.owner, say P k. The owner sends back update message R_UPD(x, VT k[k], INVset), where INVset contains identifiers of objects modified by P k since VT i[k] (which was received in REQ), and possibly not yet updated by P i (excluding objects owned by P i and the requested x, as x is going to be updated on receipt of the R_UPD message) i.e.: INVset:=outdated k (VT i [k],i)\{x.id}. On receipt of R_UPD, first local_invalidate i (INVset) is processed. A local replica of x is created with the value received in R_UPD and state set to RO. Finally, the requested read operation is performed.

5 Rule 4) If P i wishes to perform a write access to a replica of x in either INV or RO state (i.e. a writefault occurs), the protocol issues a write request W_UPD(i, x, VT i[i], INVset) to x.owner P k. The INVset contains identifiers of objects modified by P i since the previous update sent to P k, i.e. INVset := outdated i (VTsent i [k], k). On this request, P k performs local_invalidate k (INVset) and sends back to P i an acknowledgment message ACK(t), where t is the current timestamp of the master replica of x. Then, w i (x)v is performed and P i s clock is advanced with inc(vt i ). The local replica of x at P i is timestamped with t. on r i (x)v : if x.state = INV send REQ(i,x.id,VT i [x.owner]) to x.owner wait for R_UPD(x,t,INVset) local_invalidate i (INVset) VT i [x.owner] := t x.state:=ro return x.value on w i (x)v : inc(vt i ) x.value := v if x.state WR INVset := outdated i (VTsent [x.owner] i send W_UPD(i,x,VT [i], i wait for ACK(t) x.ts := t VTsent [x.owner] else x.ts := VT i [i] i := VT i[i] on REQ(j,x,t) : INVset := outdated i (t,j)\{x.id} send R_UPD(x, VT i [i],invset) to j VTsent i [j] := VT i[i] on W_UPD(j,x,t,INVset) : inc(vt i ) local_invalidate i (INVset) VT i [j] := t find y such that y.id=x.id y.value := x.value send ACK(y.ts) to j Figure. PCGp protocol operations,x.owner) INVset) to x.owner Figure 2 presents a sample execution of the coherence protocol operations in a system of 3 processes P, P 2 and P 3 sharing 2 different objects x, y, both owned by P 2. P 2 initializes the values of x and y to with w 2 (x) and w 2 (y) operations, resulting in two subsequent inc(vt 2 ). Note that the value of VT 2 is shown on the Figure below the two write operations. After that, a read request from P arrives at P 2. At this moment, P 2 determines the set oudated 2(VT 2[]=) = modified_since 2()\ returning {x.id, y.id}, and responds with R_UPD(y, VT 2[2]=2, INVset={x.id}). The id of y is not included in the INVset because y is being updated. On receipt of that message, P invalidates x and updates the sender position of its own vector clock VT [2] to 2. That value is be used to compose the next request message to P 2. In the sample execution, P 2 also receives W_UPD(y, VT 3[3]=, INVset= ) from P 3. This message causes the update of y.value and VT 2[3]. However, y.ts remains unchanged. Finally, two read accesses are invoked on P : the first one, r (x), is issued to the previously invalidated x, while the second, r (y), is performed locally on currently available replica of y. Note that value of y has not been invalidated

6 during the update of x. This is due to the fact that y.ts remains equal to 2 at y.owner, indicating that the local value of y at P is still processor consistent. It can be easily seen in this example that the processor consistent operation r (y) is not causally consistent (also not sequentially consistent). P r (y) x.state=inv 2 r (x) 2 4 r (y) P 2 owner(x,y) P 3 VT 2 = REQ(y.id,VT [2]=) w 2 (x) w 2 (y) 2 R_UPD(y,2,{x.id}) W_UPD(y,, ) w 3 (y) 3 REQ(x.id,VT [2]=2) w 2 (x)2 4 R_UPD(x,4, ) x.value= x.owner=2 x.ts=vt 2 [2]= modified_since 2 ()={x.id,y.id} y.value= y.owner=2 y.ts=vt 2 [2]=2 y.value= y.owner=2 y.ts=2 (!) modified_since 2 (2)={x.id} x.value=2 x.owner=2 x.ts=4 Figure 2. A sample execution of protocol operations 4. Correctness of the protocol We argue that the coherence protocol presented in Section 3 always maintains the shared memory in a state which is processor consistent. To prove this claim we shall show that in any execution of access operations the PCGp protocol serializes the operations in the processor order. First, we remark that in a given execution of the PCGp protocol on P i there is exactly one total ordering i of H i (as processes are sequential). There can be, however, several serializations a i of H i HW possible. Definition 4 Legal serialization Serialization a i of H i HW is legal if it preserves local ordering i ( i a i ), i.e.: o i o 2 o a i o 2 2, i o o H In the rest of this section, for each H i HW we choose arbitrarily a serialization that is legal and can be constructed by extending i with results of reception of R_UPD and W_UPD messages processed in a given execution of PCGp. We denote it by i. We show that such serializations preserve both PRAM and cache consistency, i.e. fulfill the processor consistency condition of Definition 3. We start by proving that each i preserves cache consistency. By o i t (x) we denote an operation on x performed by P i at time t.

7 Lemma If P k is the home-node for object x (x.owner=k), then: 2 w, w HW H x i.. n = w i w 2 w k w 2 Proof. ) First, let us consider two writes w =w i (x)a and w 2 =w i (x)b issued to x by the same process. The case i=k is trivial, therefore we assume i k. In PCGp, every write w i (x) issued to a non-master replica requires to update the master replica at the home node and every update must be acknowledged before issuing next w i (x). Therefore, the order of any two write operations in k agrees with the local order of the issuer, i.e.: w i (x)a i w i (x)b w i (x)a k w i (x)b, and from this w i (x)a i w i (x)b w i (x)a k w i (x)b. 2) Now, let us consider w =w j (x)a, w 2 =w i (x)b and w j (x)a i w i (x)b. The result of any w j t' (x)v, for j i k, is made visible to P i in PCGp only by reception of R_UPD during r i t'' (x)v, where t''>t', possible only if x was invalidated at P i before t''. Operation r i t'' (x)v will therefore return a value brought from master replica of x, enforcing ordering which conforms to k. Yet again, we have w j (x)a i w i (x)b w j (x)a k w i (x)b. Lemma 2 Serialization i preserves cache consistency, according to Definition 2. Proof. Let us consider any x O, and any two w,w 2 HW H x, and assume w k w 2 where k=x.owner. From Lemma, i agrees with k, i.e.: w i w 2, for any i=..n, and this ensures cache consistency. Lemma 3 Serialization i preserves PRAM consistency, according to Definition. Proof. Let us consider o,o 2 H i HW, where o =o j (x)b and o 2 =o j (y)c such that o j o 2. To prove the claim we shall show that o i o 2. We consider the following cases: ) i=j: as i is legal, the claim follows from Definition 4; 2) x=y: from Lemma 2, i preserves cache consistency, thus for all i=..n: o i o 2 ; 3) i j and x y: we have o =w j t' (x)b and o 2 =w j t'' (y)c, where t'<t'', as a consequence of w j t' (x)b j w j t'' (y)c. Let a be the previous value of x read by P i. We prove the claim by contradiction we assume that the order of o and o 2 is reversed on P i, i.e. w j t' (x)b j w j t'' (y)c w j t'' (y)c i w j t' (x)b. Such inverse order is possible if there exists r i t** (x)a such that w j t'' (y)c i r i t* (y)c i r i t** (x)a i w j t' (x)b. It follows from w t'' j (y)c i r t* i (y)c that P i reads value c of y updated by R_UPD message received prior to time t*. The INVset carried in that message must contain x, as w t' j (x)b j w t'' j (y)c (from our assumption). From Rule 3) of the PCGp protocol description, x is invalidated then. Therefore, the first subsequent r i (x) will cause the PCGp protocol to update x from the master replica of x. Because w t' j (x)b was performed at time t':: t'<t''<t*, the master replica value at time t* reflects the w t' j (x)b (the master replica value can currently be b or more recent, but not a any more). So, r t* i (y)c i r t** i (x)a is impossible in PCGp for any t**>t*, and this contradicts the assumption. Theorem PCGp implements the processor consistency, according to Definition 3. Proof. Let a i = i for each i=..n. It follows directly from Lemma 2 and Lemma 3 that a i preserves processor consistency. The protocol does not provide stronger consistency, neither causal or sequential. The

8 The example on Figure 2 shows operation r (y) performed by the protocol, which is not causally consistent and not sequentially consistent. 5. Conclusions The coherence protocol PCGp proposed in this paper is the first invalidation-based protocol for processor consistency PCG. It uses local invalidation paradigm to reduce the overhead of coherence communication, preserving processor consistency at low cost. No invalidation messages are sent, all coherence information is piggybacked to update messages send on read misses. The presented approach allows further several interesting extensions, concerning reliability issues for instance. Currently, we are designing an extension of the PCGp protocol aimed at providing faulttolerance of the DSM system in spite of multiple node and link failures. Another open issue is the relaxation of the wait-for-acknowledgment condition, which may additionally increase the efficiency of the protocol. References: [] M. Ahamad, P.W. Hutto and R. John, "Implementing and Programming Causal Distributed Shared Memory", Proc. th Int l Conf. on Distributed Computing, May 99, pp [2] M. Ahamad, R. A. Bazzi, R. John, P. Kohli, and G. Neiger, "The power of processor consistency", Technical Report GIT-CC-92/34, Georgia Institute of Technology, Atlanta, December 992. [3] C. Amza, A. L. Cox, S. Dwarkadas, P. Keleher, H. Lu, R. Rajamony, W. Yu and W. Zwaenepoel, "TreadMarks: Shared Memory Computing on Networks of Workstations", IEEE Computer, 29(2), February 996, pp [4] C. Amza, A. L. Cox, and W. Zwaenepoel, "Data Replication Strategies for Fault Tolerance and Availability on Commodity Clusters", Proc. Int l Conf. on Dependable Systems and Networks (DSN2), June 2. [5] R. Christodoulopoulou, R. Azimi and A. Bilas, "Dynamic data replication: An approach to providing faulttolerant shared memory clusters", Proc. 9 th IEEE Symposium on High-Performance Computer Architecture (HPCA9), February 23. [6] K. Gharachorloo, D. Lenoski, J. Laudon, P. Gibbons, A. Gupta and J. Hannessy, "Memory Consistency and Event Ordering in Scalable Shared-Memory Multiprocessors", Proc. 7 th Int l Symposium on Computer Architecture, May 99, pp [7] J. R. Goodman, "Cache consistency and sequential consistency", Technical Report 6, IEEE Scalable Coherent Interface Working Group, March 989. [8] M. Herlihy and J. Wing, "Linearizability: A Correctness Condition for Concurrent Object", ACM Transactions on Programming Languages and Systems, 2(3), July 99, pp th [9] L. Higham and J. Kawash, "Bounds for Mutual Exclusion with only Processor Consistency", Proc. 4 Int l Symposium on Distributed Computing (DISC2), October 2, LNCS 94, Springer, pp [] R. John and M. Ahamad, "Causal Memory: Implementation, Programming Support and Experiences", Technical Report GITCC-93/, Georgia Institute of Technology, 993. [] R. J. Lipton and J. S. Sandberg, PRAM: a Scalable Shared Memory, Technical Report CS-TR-8-88, Princeton University, September 988. [2] M. C. Little and S. K. Shrivastava, "Integrating Group Communication with Transactions for Implementing Persistent Replicated Objects", Lecture Notes in Computer Science vol. 752, 2, pp [3] F. Mattern, "Time and Global States of Distributed Systems", Proc. Int l Workshop on Parallel and Distributed Algorithms, 988. [4] M. Raynal, "Sequential Consistency as Lazy Linearizability", Technical Report PI-437, IRISA Rennes, January 22. [5] J. S. Sandberg, Design of PRAM Network, Technical Report CS-TR-254-9, Princeton Univ., April 99.

Important Lessons. A Distributed Algorithm (2) Today's Lecture - Replication

Important Lessons. A Distributed Algorithm (2) Today's Lecture - Replication Important Lessons Lamport & vector clocks both give a logical timestamps Total ordering vs. causal ordering Other issues in coordinating node activities Exclusive access to resources/data Choosing a single

More information

A Suite of Formal Denitions for Consistency Criteria. in Distributed Shared Memories Rennes Cedex (France) 1015 Lausanne (Switzerland)

A Suite of Formal Denitions for Consistency Criteria. in Distributed Shared Memories Rennes Cedex (France) 1015 Lausanne (Switzerland) A Suite of Formal Denitions for Consistency Criteria in Distributed Shared Memories Michel Raynal Andre Schiper IRISA, Campus de Beaulieu EPFL, Dept d'informatique 35042 Rennes Cedex (France) 1015 Lausanne

More information

Applying Sequential Consistency to Web Caching

Applying Sequential Consistency to Web Caching Applying Sequential Consistency to Web Caching Francisco J. Torres-Rojas and Esteban Meneses Abstract Web caches have several advantages for reducing the server load, minimizing the network traffic and

More information

PAGE-BASED DISTRIBUTED SHARED MEMORY FOR OSF/DCE

PAGE-BASED DISTRIBUTED SHARED MEMORY FOR OSF/DCE PAGE-BASED DISTRIBUTED SHARED MEMORY FOR OSF/DCE Jerzy Brzeziński Michał Szychowiak Dariusz Wawrzyniak Institute of Computing Science Poznań University of Technology ul. Piotrowo 3a 60-965 Poznań, Poland

More information

DISTRIBUTED COMPUTER SYSTEMS

DISTRIBUTED COMPUTER SYSTEMS DISTRIBUTED COMPUTER SYSTEMS CONSISTENCY AND REPLICATION CONSISTENCY MODELS Dr. Jack Lange Computer Science Department University of Pittsburgh Fall 2015 Consistency Models Background Replication Motivation

More information

An Implementation of Causal Memories using the Writing Semantic

An Implementation of Causal Memories using the Writing Semantic An Implementation of Causal Memories using the Writing Semantic R. Baldoni, C. Spaziani and S. Tucci-Piergiovanni D. Tulone Dipartimento di Informatica e Sistemistica Bell-Laboratories Universita di Roma

More information

About the efficiency of partial replication to implement Distributed Shared Memory

About the efficiency of partial replication to implement Distributed Shared Memory About the efficiency of partial replication to implement Distributed Shared Memory Jean-Michel Hélary IRISA Campus de Beaulieu, 35042 Rennes-cedex, France helary@irisa.fr Alessia Milani DIS, Universitá

More information

Distributed Systems (5DV147)

Distributed Systems (5DV147) Distributed Systems (5DV147) Replication and consistency Fall 2013 1 Replication 2 What is replication? Introduction Make different copies of data ensuring that all copies are identical Immutable data

More information

A Parametrized Algorithm that Implements Sequential, Causal, and Cache Memory Consistencies

A Parametrized Algorithm that Implements Sequential, Causal, and Cache Memory Consistencies A Parametrized Algorithm that Implements Sequential, Causal, and Cache Memory Consistencies Ernesto Jiménez b, Antonio Fernández a, Vicent Cholvi c, a Universidad Rey Juan Carlos, 28933 Móstoles, Spain

More information

Replication in Distributed Systems

Replication in Distributed Systems Replication in Distributed Systems Replication Basics Multiple copies of data kept in different nodes A set of replicas holding copies of a data Nodes can be physically very close or distributed all over

More information

Memory Consistency. Minsoo Ryu. Department of Computer Science and Engineering. Hanyang University. Real-Time Computing and Communications Lab.

Memory Consistency. Minsoo Ryu. Department of Computer Science and Engineering. Hanyang University. Real-Time Computing and Communications Lab. Memory Consistency Minsoo Ryu Department of Computer Science and Engineering 2 Distributed Shared Memory Two types of memory organization in parallel and distributed systems Shared memory (shared address

More information

Data-Centric Consistency Models. The general organization of a logical data store, physically distributed and replicated across multiple processes.

Data-Centric Consistency Models. The general organization of a logical data store, physically distributed and replicated across multiple processes. Data-Centric Consistency Models The general organization of a logical data store, physically distributed and replicated across multiple processes. Consistency models The scenario we will be studying: Some

More information

Chapter 4: Distributed Systems: Replication and Consistency. Fall 2013 Jussi Kangasharju

Chapter 4: Distributed Systems: Replication and Consistency. Fall 2013 Jussi Kangasharju Chapter 4: Distributed Systems: Replication and Consistency Fall 2013 Jussi Kangasharju Chapter Outline n Replication n Consistency models n Distribution protocols n Consistency protocols 2 Data Replication

More information

殷亚凤. Consistency and Replication. Distributed Systems [7]

殷亚凤. Consistency and Replication. Distributed Systems [7] Consistency and Replication Distributed Systems [7] 殷亚凤 Email: yafeng@nju.edu.cn Homepage: http://cs.nju.edu.cn/yafeng/ Room 301, Building of Computer Science and Technology Review Clock synchronization

More information

2 Modelling Multiprocessor Memories 2.1 A framework for describing memory Our goal is to precisely capture the impact of the memory model of a multipr

2 Modelling Multiprocessor Memories 2.1 A framework for describing memory Our goal is to precisely capture the impact of the memory model of a multipr Critical Sections and Producer/Consumer Queues in Weak Memory Systems y Lisa Higham and Jalal Kawash Department of Computer Science, The University of Calgary, Calgary, Alberta, Canada email:@cpsc.ucalgary.ca

More information

A Mechanism for Sequential Consistency in a Distributed Objects System

A Mechanism for Sequential Consistency in a Distributed Objects System A Mechanism for Sequential Consistency in a Distributed Objects System Cristian Ţăpuş, Aleksey Nogin, Jason Hickey, and Jerome White California Institute of Technology Computer Science Department MC 256-80,

More information

Consistency Issues in Distributed Shared Memory Systems

Consistency Issues in Distributed Shared Memory Systems Consistency Issues in Distributed Shared Memory Systems CSE 6306 Advance Operating System Spring 2002 Chingwen Chai University of Texas at Arlington cxc9696@omega.uta.edu Abstract In the field of parallel

More information

Selection-based Weak Sequential Consistency Models for. for Distributed Shared Memory.

Selection-based Weak Sequential Consistency Models for. for Distributed Shared Memory. Selection-based Weak Sequential Consistency Models for Distributed Shared Memory Z. Huang, C. Sun, and M. Purvis Departments of Computer & Information Science University of Otago, Dunedin, New Zealand

More information

Consistency and Replication

Consistency and Replication Topics to be covered Introduction Consistency and Replication Consistency Models Distribution Protocols Consistency Protocols 1 2 + Performance + Reliability Introduction Introduction Availability: proportion

More information

Replication and Consistency. Fall 2010 Jussi Kangasharju

Replication and Consistency. Fall 2010 Jussi Kangasharju Replication and Consistency Fall 2010 Jussi Kangasharju Chapter Outline Replication Consistency models Distribution protocols Consistency protocols 2 Data Replication user B user C user A object object

More information

How to Make a Correct Multiprocess Program Execute Correctly on a Multiprocessor

How to Make a Correct Multiprocess Program Execute Correctly on a Multiprocessor How to Make a Correct Multiprocess Program Execute Correctly on a Multiprocessor Leslie Lamport 1 Digital Equipment Corporation February 14, 1993 Minor revisions January 18, 1996 and September 14, 1996

More information

Rollback-Recovery Protocol Guarantying MR Session Guarantee in Distributed Systems with Mobile Clients

Rollback-Recovery Protocol Guarantying MR Session Guarantee in Distributed Systems with Mobile Clients Rollback-Recovery Protocol Guarantying MR Session Guarantee in Distributed Systems with Mobile Clients Jerzy Brzeziński, Anna Kobusińska, and Micha l Szychowiak Institute of Computing Science Poznań University

More information

A Correctness Proof for a Practical Byzantine-Fault-Tolerant Replication Algorithm

A Correctness Proof for a Practical Byzantine-Fault-Tolerant Replication Algorithm Appears as Technical Memo MIT/LCS/TM-590, MIT Laboratory for Computer Science, June 1999 A Correctness Proof for a Practical Byzantine-Fault-Tolerant Replication Algorithm Miguel Castro and Barbara Liskov

More information

Replication and Consistency

Replication and Consistency Replication and Consistency Today l Replication l Consistency models l Consistency protocols The value of replication For reliability and availability Avoid problems with disconnection, data corruption,

More information

Distributed Systems: Consistency and Replication

Distributed Systems: Consistency and Replication Distributed Systems: Consistency and Replication Alessandro Sivieri Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico, Italy alessandro.sivieri@polimi.it http://corsi.dei.polimi.it/distsys

More information

A Concept of Replicated Remote Method Invocation

A Concept of Replicated Remote Method Invocation A Concept of Replicated Remote Method Invocation Jerzy Brzezinski and Cezary Sobaniec Institute of Computing Science Poznan University of Technology, Poland {Jerzy.Brzezinski,Cezary.Sobaniec}@cs.put.poznan.pl

More information

Replication of Data. Data-Centric Consistency Models. Reliability vs. Availability

Replication of Data. Data-Centric Consistency Models. Reliability vs. Availability CIS 505: Software Systems Lecture Note on Consistency and Replication Instructor: Insup Lee Department of Computer and Information Science University of Pennsylvania CIS 505, Spring 2007 Replication of

More information

Transactions are Back but How Different They Are?

Transactions are Back but How Different They Are? Transactions are Back but How Different They Are? Relating STM and Databases Consistency Conditions (Preliminary Version) Hagit Attiya Technion hagit@cs.technion.ac.il Sandeep Hans Technion sandeep@cs.technion.ac.il

More information

Semi-Passive Replication in the Presence of Byzantine Faults

Semi-Passive Replication in the Presence of Byzantine Faults Semi-Passive Replication in the Presence of Byzantine Faults HariGovind V. Ramasamy Adnan Agbaria William H. Sanders University of Illinois at Urbana-Champaign 1308 W. Main Street, Urbana IL 61801, USA

More information

Distributed Systems. Characteristics of Distributed Systems. Lecture Notes 1 Basic Concepts. Operating Systems. Anand Tripathi

Distributed Systems. Characteristics of Distributed Systems. Lecture Notes 1 Basic Concepts. Operating Systems. Anand Tripathi 1 Lecture Notes 1 Basic Concepts Anand Tripathi CSci 8980 Operating Systems Anand Tripathi CSci 8980 1 Distributed Systems A set of computers (hosts or nodes) connected through a communication network.

More information

Distributed Systems. Characteristics of Distributed Systems. Characteristics of Distributed Systems. Goals in Distributed System Designs

Distributed Systems. Characteristics of Distributed Systems. Characteristics of Distributed Systems. Goals in Distributed System Designs 1 Anand Tripathi CSci 8980 Operating Systems Lecture Notes 1 Basic Concepts Distributed Systems A set of computers (hosts or nodes) connected through a communication network. Nodes may have different speeds

More information

Adapting Commit Protocols for Large-Scale and Dynamic Distributed Applications

Adapting Commit Protocols for Large-Scale and Dynamic Distributed Applications Adapting Commit Protocols for Large-Scale and Dynamic Distributed Applications Pawel Jurczyk and Li Xiong Emory University, Atlanta GA 30322, USA {pjurczy,lxiong}@emory.edu Abstract. The continued advances

More information

Making Consistency More Consistent: A Unified Model for Coherence, Consistency and Isolation

Making Consistency More Consistent: A Unified Model for Coherence, Consistency and Isolation Making Consistency More Consistent: A Unified Model for Coherence, Consistency and Isolation ABSTRACT Adriana Szekeres University of Washington aaasz@cs.washington.edu Ordering guarantees are often defined

More information

A Migrating-Home Protocol for Implementing Scope Consistency Model on a Cluster of Workstations

A Migrating-Home Protocol for Implementing Scope Consistency Model on a Cluster of Workstations A Migrating-Home Protocol for Implementing Scope Consistency Model on a Cluster of Workstations Benny Wang-Leung Cheung, Cho-Li Wang and Kai Hwang Department of Computer Science and Information Systems

More information

Byzantine Consensus in Directed Graphs

Byzantine Consensus in Directed Graphs Byzantine Consensus in Directed Graphs Lewis Tseng 1,3, and Nitin Vaidya 2,3 1 Department of Computer Science, 2 Department of Electrical and Computer Engineering, and 3 Coordinated Science Laboratory

More information

9. Distributed Shared Memory

9. Distributed Shared Memory 9. Distributed Shared Memory Provide the usual programming model of shared memory in a generally loosely coupled distributed environment. Shared Memory Easy to program Difficult to build Tight coupling

More information

DISTRIBUTED SHARED MEMORY

DISTRIBUTED SHARED MEMORY DISTRIBUTED SHARED MEMORY COMP 512 Spring 2018 Slide material adapted from Distributed Systems (Couloris, et. al), and Distr Op Systems and Algs (Chow and Johnson) 1 Outline What is DSM DSM Design and

More information

Consistency and Replication. Some slides are from Prof. Jalal Y. Kawash at Univ. of Calgary

Consistency and Replication. Some slides are from Prof. Jalal Y. Kawash at Univ. of Calgary Consistency and Replication Some slides are from Prof. Jalal Y. Kawash at Univ. of Calgary Reasons for Replication Reliability/Availability : Mask failures Mask corrupted data Performance: Scalability

More information

Multiple-Writer Distributed Memory

Multiple-Writer Distributed Memory Multiple-Writer Distributed Memory The Sequential Consistency Memory Model sequential processors issue memory ops in program order P1 P2 P3 Easily implemented with shared bus. switch randomly set after

More information

Brewer's Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services

Brewer's Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services PODC 2004 The PODC Steering Committee is pleased to announce that PODC 2004 will be held in St. John's, Newfoundland. This will be the thirteenth PODC to be held in Canada but the first to be held there

More information

Module 7 - Replication

Module 7 - Replication Module 7 - Replication Replication Why replicate? Reliability Avoid single points of failure Performance Scalability in numbers and geographic area Why not replicate? Replication transparency Consistency

More information

A Methodological Construction of an Efficient Sequential Consistency Protocol Λ

A Methodological Construction of an Efficient Sequential Consistency Protocol Λ A Methodological Construction of an Efficient Sequential Consistency Protocol Λ Vicent CHOLVI ffi Antonio FERNÁNDEZ y Ernesto JIMÉNEZ z Michel RAYNAL? ffi Universidad Jaume I, Castellón, Spain y Laboratorio

More information

Release Consistency. Draft material for 3rd edition of Distributed Systems Concepts and Design

Release Consistency. Draft material for 3rd edition of Distributed Systems Concepts and Design Draft material for 3rd edition of Distributed Systems Concepts and Design Department of Computer Science, Queen Mary & Westfield College, University of London Release Consistency 1. Introduction Chapter

More information

Replication. Consistency models. Replica placement Distribution protocols

Replication. Consistency models. Replica placement Distribution protocols Replication Motivation Consistency models Data/Client-centric consistency models Replica placement Distribution protocols Invalidate versus updates Push versus Pull Cooperation between replicas Client-centric

More information

Lecture 6 Consistency and Replication

Lecture 6 Consistency and Replication Lecture 6 Consistency and Replication Prof. Wilson Rivera University of Puerto Rico at Mayaguez Electrical and Computer Engineering Department Outline Data-centric consistency Client-centric consistency

More information

Simple and Efficient Transactions for a Distributed Object Store

Simple and Efficient Transactions for a Distributed Object Store Simple and Efficient Transactions for a Distributed ect Store Laszlo Boeszoermenyi and Carsten Weich Institut fuer Informatik, Universitaet Klagenfurt, Universitaetsstrasse 65-67, A-9020 Klagenfurt, Austria,

More information

Wait-Free Regular Storage from Byzantine Components

Wait-Free Regular Storage from Byzantine Components Wait-Free Regular Storage from Byzantine Components Ittai Abraham Gregory Chockler Idit Keidar Dahlia Malkhi July 26, 2006 Abstract We consider the problem of implementing a wait-free regular register

More information

Specifying and Proving Broadcast Properties with TLA

Specifying and Proving Broadcast Properties with TLA Specifying and Proving Broadcast Properties with TLA William Hipschman Department of Computer Science The University of North Carolina at Chapel Hill Abstract Although group communication is vitally important

More information

1. Memory technology & Hierarchy

1. Memory technology & Hierarchy 1. Memory technology & Hierarchy Back to caching... Advances in Computer Architecture Andy D. Pimentel Caches in a multi-processor context Dealing with concurrent updates Multiprocessor architecture In

More information

Breakpoints and Halting in Distributed Programs

Breakpoints and Halting in Distributed Programs 1 Breakpoints and Halting in Distributed Programs Barton P. Miller Jong-Deok Choi Computer Sciences Department University of Wisconsin-Madison 1210 W. Dayton Street Madison, Wisconsin 53706 Abstract Interactive

More information

June Gerd Liefländer System Architecture Group Universität Karlsruhe, System Architecture Group

June Gerd Liefländer System Architecture Group Universität Karlsruhe, System Architecture Group Distributed Systems 14 Consistency June-29-2009 Gerd Liefländer System Architecture Group 2009 Universität Karlsruhe, System Architecture Group 1 Overview Outline Motivation & Introduction Consistency

More information

Lecture 16/17: Distributed Shared Memory. CSC 469H1F Fall 2006 Angela Demke Brown

Lecture 16/17: Distributed Shared Memory. CSC 469H1F Fall 2006 Angela Demke Brown Lecture 16/17: Distributed Shared Memory CSC 469H1F Fall 2006 Angela Demke Brown Outline Review distributed system basics What is distributed shared memory? Design issues and tradeoffs Distributed System

More information

On the interconnection of message passing systems

On the interconnection of message passing systems Information Processing Letters 105 (2008) 249 254 www.elsevier.com/locate/ipl On the interconnection of message passing systems A. Álvarez a,s.arévalo b, V. Cholvi c,, A. Fernández b,e.jiménez a a Polytechnic

More information

Distributed Systems. Lec 11: Consistency Models. Slide acks: Jinyang Li, Robert Morris

Distributed Systems. Lec 11: Consistency Models. Slide acks: Jinyang Li, Robert Morris Distributed Systems Lec 11: Consistency Models Slide acks: Jinyang Li, Robert Morris (http://pdos.csail.mit.edu/6.824/notes/l06.txt, http://www.news.cs.nyu.edu/~jinyang/fa09/notes/ds-consistency.pdf) 1

More information

Timed Consistency for Shared Distributed Objects

Timed Consistency for Shared Distributed Objects Timed Consistency for Shared Distributed Objects Francisco J. Torres-Rojas College of Computing Georgia Institute of Technology U.S.A. torres@cc.gatech.edu Mustaque Ahamad College of Computing Georgia

More information

Hardware Memory Models: x86-tso

Hardware Memory Models: x86-tso Hardware Memory Models: x86-tso John Mellor-Crummey Department of Computer Science Rice University johnmc@rice.edu COMP 522 Lecture 9 20 September 2016 Agenda So far hardware organization multithreading

More information

Clock Synchronization. Synchronization. Clock Synchronization Algorithms. Physical Clock Synchronization. Tanenbaum Chapter 6 plus additional papers

Clock Synchronization. Synchronization. Clock Synchronization Algorithms. Physical Clock Synchronization. Tanenbaum Chapter 6 plus additional papers Clock Synchronization Synchronization Tanenbaum Chapter 6 plus additional papers Fig 6-1. In a distributed system, each machine has its own clock. When this is the case, an event that occurred after another

More information

CSE 5306 Distributed Systems. Consistency and Replication

CSE 5306 Distributed Systems. Consistency and Replication CSE 5306 Distributed Systems Consistency and Replication 1 Reasons for Replication Data are replicated for the reliability of the system Servers are replicated for performance Scaling in numbers Scaling

More information

02 - Distributed Systems

02 - Distributed Systems 02 - Distributed Systems Definition Coulouris 1 (Dis)advantages Coulouris 2 Challenges Saltzer_84.pdf Models Physical Architectural Fundamental 2/58 Definition Distributed Systems Distributed System is

More information

Consistency & Replication

Consistency & Replication Objectives Consistency & Replication Instructor: Dr. Tongping Liu To understand replication and related issues in distributed systems" To learn about how to keep multiple replicas consistent with each

More information

02 - Distributed Systems

02 - Distributed Systems 02 - Distributed Systems Definition Coulouris 1 (Dis)advantages Coulouris 2 Challenges Saltzer_84.pdf Models Physical Architectural Fundamental 2/60 Definition Distributed Systems Distributed System is

More information

CSE 513: Distributed Systems (Distributed Shared Memory)

CSE 513: Distributed Systems (Distributed Shared Memory) CSE 513: Distributed Systems (Distributed Shared Memory) Guohong Cao Department of Computer & Engineering 310 Pond Lab gcao@cse.psu.edu Distributed Shared Memory (DSM) Traditionally, distributed computing

More information

An Integrated Synchronization and Consistency Protocol for the Implementation of a High-Level Parallel Programming Language

An Integrated Synchronization and Consistency Protocol for the Implementation of a High-Level Parallel Programming Language An Integrated Synchronization and Consistency Protocol for the Implementation of a High-Level Parallel Programming Language Martin C. Rinard (martin@cs.ucsb.edu) Department of Computer Science University

More information

Fork Sequential Consistency is Blocking

Fork Sequential Consistency is Blocking Fork Sequential Consistency is Blocking Christian Cachin Idit Keidar Alexander Shraer Novembe4, 008 Abstract We consider an untrusted server storing shared data on behalf of clients. We show that no storage

More information

Multiprocessors & Thread Level Parallelism

Multiprocessors & Thread Level Parallelism Multiprocessors & Thread Level Parallelism COE 403 Computer Architecture Prof. Muhamed Mudawar Computer Engineering Department King Fahd University of Petroleum and Minerals Presentation Outline Introduction

More information

Deadlocks in Distributed Systems: Request Models and Definitions

Deadlocks in Distributed Systems: Request Models and Definitions Deadlocks in Distributed Systems: Request Models and Definitions Jerzy Brzezinski Jean-Michel Helary, Michel Raynal Institute of Computing Science IRISA Poznan University of Technology Campus de Beaulieu

More information

Computing Parable. The Archery Teacher. Courtesy: S. Keshav, U. Waterloo. Computer Science. Lecture 16, page 1

Computing Parable. The Archery Teacher. Courtesy: S. Keshav, U. Waterloo. Computer Science. Lecture 16, page 1 Computing Parable The Archery Teacher Courtesy: S. Keshav, U. Waterloo Lecture 16, page 1 Consistency and Replication Today: Consistency models Data-centric consistency models Client-centric consistency

More information

Concurrent Objects and Linearizability

Concurrent Objects and Linearizability Chapter 3 Concurrent Objects and Linearizability 3.1 Specifying Objects An object in languages such as Java and C++ is a container for data. Each object provides a set of methods that are the only way

More information

Two-Phase Atomic Commitment Protocol in Asynchronous Distributed Systems with Crash Failure

Two-Phase Atomic Commitment Protocol in Asynchronous Distributed Systems with Crash Failure Two-Phase Atomic Commitment Protocol in Asynchronous Distributed Systems with Crash Failure Yong-Hwan Cho, Sung-Hoon Park and Seon-Hyong Lee School of Electrical and Computer Engineering, Chungbuk National

More information

Distributed Systems - I

Distributed Systems - I CSE 421/521 - Operating Systems Fall 2011 Lecture - XXIII Distributed Systems - I Tevfik Koşar University at Buffalo November 22 nd, 2011 1 Motivation Distributed system is collection of loosely coupled

More information

Fault-tolerant Distributed-Shared-Memory on a Broadcast-based Interconnection Network

Fault-tolerant Distributed-Shared-Memory on a Broadcast-based Interconnection Network Fault-tolerant Distributed-Shared-Memory on a Broadcast-based Interconnection Network Diana Hecht 1 and Constantine Katsinis 2 1 Electrical and Computer Engineering, University of Alabama in Huntsville,

More information

Distributed Memory and Cache Consistency. (some slides courtesy of Alvin Lebeck)

Distributed Memory and Cache Consistency. (some slides courtesy of Alvin Lebeck) Distributed Memory and Cache Consistency (some slides courtesy of Alvin Lebeck) Software DSM 101 Software-based distributed shared memory (DSM) provides anillusionofsharedmemoryonacluster. remote-fork

More information

Distributed Shared Memory

Distributed Shared Memory Distributed Shared Memory History, fundamentals and a few examples Coming up The Purpose of DSM Research Distributed Shared Memory Models Distributed Shared Memory Timeline Three example DSM Systems The

More information

Important Lessons. Today's Lecture. Two Views of Distributed Systems

Important Lessons. Today's Lecture. Two Views of Distributed Systems Important Lessons Replication good for performance/ reliability Key challenge keeping replicas up-to-date Wide range of consistency models Will see more next lecture Range of correctness properties L-10

More information

Computer Architecture. A Quantitative Approach, Fifth Edition. Chapter 5. Multiprocessors and Thread-Level Parallelism

Computer Architecture. A Quantitative Approach, Fifth Edition. Chapter 5. Multiprocessors and Thread-Level Parallelism Computer Architecture A Quantitative Approach, Fifth Edition Chapter 5 Multiprocessors and Thread-Level Parallelism 1 Introduction Thread-Level parallelism Have multiple program counters Uses MIMD model

More information

On the Definition of Sequential Consistency

On the Definition of Sequential Consistency On the Definition of Sequential Consistency Ali Sezgin Ganesh Gopalakrishnan Abstract The definition of sequential consistency is compared with an intuitive notion of correctness. A relation between what

More information

Fork Sequential Consistency is Blocking

Fork Sequential Consistency is Blocking Fork Sequential Consistency is Blocking Christian Cachin Idit Keidar Alexander Shraer May 14, 2008 Abstract We consider an untrusted server storing shared data on behalf of clients. We show that no storage

More information

Shared memory model" Shared memory guarantees" Read-write register" Wait-freedom: unconditional progress " Liveness" Shared memory basics"

Shared memory model Shared memory guarantees Read-write register Wait-freedom: unconditional progress  Liveness Shared memory basics Shared memory basics INF346, 2014 Shared memory model Processes communicate by applying operations on and receiving responses from shared objects! A shared object is a state machine ü States ü Operations/Responses

More information

Consistency and Replication. Why replicate?

Consistency and Replication. Why replicate? Consistency and Replication Today: Introduction Consistency models Data-centric consistency models Client-centric consistency models Thoughts for the mid-term Lecture 14, page 1 Why replicate? Data replication:

More information

Implementing Sequential Consistency In Cache-Based Systems

Implementing Sequential Consistency In Cache-Based Systems To appear in the Proceedings of the 1990 International Conference on Parallel Processing Implementing Sequential Consistency In Cache-Based Systems Sarita V. Adve Mark D. Hill Computer Sciences Department

More information

A Comparison of Relativistic and Reader-Writer Locking Approaches to Shared Data Access

A Comparison of Relativistic and Reader-Writer Locking Approaches to Shared Data Access A Comparison of Relativistic and Reader-Writer Locking Approaches to Shared Data Access Philip W. Howard, Josh Triplett, and Jonathan Walpole Portland State University Abstract. This paper explores the

More information

A parametrized algorithm that implements sequential, causal, and cache memory consistencies

A parametrized algorithm that implements sequential, causal, and cache memory consistencies The Journal of Systems and Software xxx (2007) xxx xxx www.elsevier.com/locate/jss A parametrized algorithm that implements sequential, causal, and cache memory consistencies Ernesto Jiménez b, Antonio

More information

Consistent Logical Checkpointing. Nitin H. Vaidya. Texas A&M University. Phone: Fax:

Consistent Logical Checkpointing. Nitin H. Vaidya. Texas A&M University. Phone: Fax: Consistent Logical Checkpointing Nitin H. Vaidya Department of Computer Science Texas A&M University College Station, TX 77843-3112 hone: 409-845-0512 Fax: 409-847-8578 E-mail: vaidya@cs.tamu.edu Technical

More information

Consistency and Replication. Why replicate?

Consistency and Replication. Why replicate? Consistency and Replication Today: Consistency models Data-centric consistency models Client-centric consistency models Lecture 15, page 1 Why replicate? Data replication versus compute replication Data

More information

Multi-writer Regular Registers in Dynamic Distributed Systems with Byzantine Failures

Multi-writer Regular Registers in Dynamic Distributed Systems with Byzantine Failures Multi-writer Regular Registers in Dynamic Distributed Systems with Byzantine Failures Silvia Bonomi, Amir Soltani Nezhad Università degli Studi di Roma La Sapienza, Via Ariosto 25, 00185 Roma, Italy bonomi@dis.uniroma1.it

More information

Distributed minimum spanning tree problem

Distributed minimum spanning tree problem Distributed minimum spanning tree problem Juho-Kustaa Kangas 24th November 2012 Abstract Given a connected weighted undirected graph, the minimum spanning tree problem asks for a spanning subtree with

More information

CSE 5306 Distributed Systems

CSE 5306 Distributed Systems CSE 5306 Distributed Systems Consistency and Replication Jia Rao http://ranger.uta.edu/~jrao/ 1 Reasons for Replication Data is replicated for the reliability of the system Servers are replicated for performance

More information

Event Ordering. Greg Bilodeau CS 5204 November 3, 2009

Event Ordering. Greg Bilodeau CS 5204 November 3, 2009 Greg Bilodeau CS 5204 November 3, 2009 Fault Tolerance How do we prepare for rollback and recovery in a distributed system? How do we ensure the proper processing order of communications between distributed

More information

CS6450: Distributed Systems Lecture 11. Ryan Stutsman

CS6450: Distributed Systems Lecture 11. Ryan Stutsman Strong Consistency CS6450: Distributed Systems Lecture 11 Ryan Stutsman Material taken/derived from Princeton COS-418 materials created by Michael Freedman and Kyle Jamieson at Princeton University. Licensed

More information

Causal Consistency Algorithms for Partially Replicated and Fully Replicated Systems

Causal Consistency Algorithms for Partially Replicated and Fully Replicated Systems Causal Consistency Algorithms for Partially Replicated and Fully Replicated Systems TaYuan Hsu, Ajay D. Kshemkalyani, Min Shen University of Illinois at Chicago TaYuan Hsu, Ajay D. Kshemkalyani, MinCausal

More information

Region-based Software Distributed Shared Memory

Region-based Software Distributed Shared Memory Region-based Software Distributed Shared Memory Song Li, Yu Lin, and Michael Walker CS 656 Operating Systems May 5, 2000 Abstract In this paper, we describe the implementation of a software-based DSM model

More information

Coordination and Agreement

Coordination and Agreement Coordination and Agreement Nicola Dragoni Embedded Systems Engineering DTU Informatics 1. Introduction 2. Distributed Mutual Exclusion 3. Elections 4. Multicast Communication 5. Consensus and related problems

More information

Computer Architecture

Computer Architecture Jens Teubner Computer Architecture Summer 2016 1 Computer Architecture Jens Teubner, TU Dortmund jens.teubner@cs.tu-dortmund.de Summer 2016 Jens Teubner Computer Architecture Summer 2016 83 Part III Multi-Core

More information

Adaptive Prefetching Technique for Shared Virtual Memory

Adaptive Prefetching Technique for Shared Virtual Memory Adaptive Prefetching Technique for Shared Virtual Memory Sang-Kwon Lee Hee-Chul Yun Joonwon Lee Seungryoul Maeng Computer Architecture Laboratory Korea Advanced Institute of Science and Technology 373-1

More information

Cache Coherence in Distributed and Replicated Transactional Memory Systems. Technical Report RT/4/2009

Cache Coherence in Distributed and Replicated Transactional Memory Systems. Technical Report RT/4/2009 Technical Report RT/4/2009 Cache Coherence in Distributed and Replicated Transactional Memory Systems Maria Couceiro INESC-ID/IST maria.couceiro@ist.utl.pt Luis Rodrigues INESC-ID/IST ler@ist.utl.pt Jan

More information

Consistency and Replication

Consistency and Replication Consistency and Replication Introduction Data-centric consistency Client-centric consistency Distribution protocols Consistency protocols 1 Goal: Reliability Performance Problem: Consistency Replication

More information

Section 4 Concurrent Objects Correctness, Progress and Efficiency

Section 4 Concurrent Objects Correctness, Progress and Efficiency Section 4 Concurrent Objects Correctness, Progress and Efficiency CS586 - Panagiota Fatourou 1 Concurrent Objects A concurrent object is a data object shared by concurrently executing processes. Each object

More information

Kevin Skadron. 18 April Abstract. higher rate of failure requires eective fault-tolerance. Asynchronous consistent checkpointing oers a

Kevin Skadron. 18 April Abstract. higher rate of failure requires eective fault-tolerance. Asynchronous consistent checkpointing oers a Asynchronous Checkpointing for PVM Requires Message-Logging Kevin Skadron 18 April 1994 Abstract Distributed computing using networked workstations oers cost-ecient parallel computing, but the higher rate

More information

CMSC Computer Architecture Lecture 15: Memory Consistency and Synchronization. Prof. Yanjing Li University of Chicago

CMSC Computer Architecture Lecture 15: Memory Consistency and Synchronization. Prof. Yanjing Li University of Chicago CMSC 22200 Computer Architecture Lecture 15: Memory Consistency and Synchronization Prof. Yanjing Li University of Chicago Administrative Stuff! Lab 5 (multi-core) " Basic requirements: out later today

More information

Basic vs. Reliable Multicast

Basic vs. Reliable Multicast Basic vs. Reliable Multicast Basic multicast does not consider process crashes. Reliable multicast does. So far, we considered the basic versions of ordered multicasts. What about the reliable versions?

More information