| Ahamad M., Hutto P.W., Neiger G., Burns J.E. and Kohli P., Causal memory: Definitions, Implementations and Programming. Distributed Comp., 9:37-49, 1995. |
....to shared variables. This is more evident if the shared memory is not centralized but distributed among a number of processors, i.e. we have distributed shared memory (DSM) There has been a number of proposals and implementations of DSM systems providing di erent semantics, or consistency models [1, 2, 4, 6, 12]. The consistency memory models proposed in the literature can be broadly classi ed into strong and weak memory mod This work is partially supported by the CICYT under grant TEL99 0582 and the Comunidad Aut onoma de Madrid under grant CAM 07T 00112 1998. els. The strong memory models are ....
....However, it is widely accepted that strong memory models do not scale well with the number of processes [3, 6] On the other hand, weaker memory models can be more eciently implemented, since they require less consistency overhead. This implies more possible return values for each read operation [2, 5, 8], which makes harder to write programs for these models. Hence, we are faced with a tradeo between simplicity of programming and performance of the consistency model implementation. The causal memory model has attracted the attention of a number of researchers because is considered to be ....
[Article contains additional citation context not shown here]
M. Ahamad, G. Neiger, J. Burns, P. Kohli, and P. Hutto. Causal memory: De nitions, implementation and programming. Distributed Computing, 9(1):37-49, August 1995.
.... specified below if it fulfills the corresponding condition: Atomic [8] V Safe [8] V Regular [8] V op = read( x, u) # op # = write( x, u) Sequential [7] V Cache [6] x (V pRAM [9] Processor [5] i, j (# # x (# Causal [1]: For a more detailed description of those memory models we refer to [3] 4.2 Implementability write(i, x, 1) write(i, x, 2) read(j, x, 2) Process i Process j Fig. 1. Sequential sequence in which the read operation returns a future value. Whereas our previous definitions are simple, ....
....a SEQ view only needs to be compatible with the local orderings) Obviously, and accepting the fact that the future can not be predicted, any description by no means should allow that kind of sequences. However, axiomatic definitions whose read operations may report future are commonly used [1, 2, 7, 11, 12]. On the other hand, since operational descriptions only allow implementable sequences, they will rule out those sequences. By using the I O automata formalism, we can use an automaton to provide an operational definition (its wellformed traces will characterize the memory model behavior) ....
M. Ahamad, G. Neiger, J.E. Burns, P. Kohli, and P.W. Hutto. Causal memory: Definitions, implementation and programming. Distributed Computing, 9(1):37-- 49, August 1995.
....from a shared memory, while the later is considered to be powerful enough to allow easy programming, but at the same time allows for inexpensive implementations. As a consequence, a number of algorithms have been proposed in the literature implementing sequential [1, 3, 4] and causal consistency [2, 7, 8]. A third consistency model proposed in the literature is the cache model [5] for which to our knowledge, no algorithm has been proposed. An interesting property of any algorithm implementing a consistency model is the time a memory operation takes. If a memory operation does not need to wait ....
M. Ahamad, G. Neiger, J.E. Burns, P. Kohli, and P.W. Hutto. Causal memory: De nitions, implementation and programming. Distributed Computing, 9(1):37-49, August 1995.
....memory, while the later because it is considered to be powerful enough to allow easy programming, but at the same time allows for inexpensive implementations. As a consequence, a number of algorithms have been proposed in the literature implementing sequential [2, 4, 6] and causal consistency [3, 11, 12]. A third consistency model proposed in the literature is the cache model [7] However, to our knowledge, no algorithm to implement the cache consistency model has been proposed. An interesting property of any algorithm implementing a consistency model is how long can a memory operation take. If a ....
M. Ahamad, G. Neiger, J.E. Burns, P. Kohli, and P.W. Hutto. Causal memory: Definitions, implementation and programming. Distributed Computing, 9(1):37-- 49, August 1995.
....to shared variables. This is more evident if the shared memory is not centralized but distributed among a number of processors, i.e. we have distributed shared memory (DSM) There has been a number of proposals and implementations of DSM systems providing di erent semantics, or consistency models [1, 2, 4, 6, 12]. The consistency memory models proposed in the literature can be broadly classi ed into strong and weak memory mod This work is partially supported by the CICYT under grant TEL99 0582 and the Comunidad Aut onoma de Madrid under grant CAM 07T 00112 1998. els. The strong memory models are ....
....However, it is widely accepted that strong memory models do not scale well with the number of processes [3, 6] On the other hand, weaker memory models can be more eciently implemented, since they require less consistency overhead. This implies more possible return values for each read operation [2, 5, 8], which makes harder to write programs for these models. Hence, we are faced with a tradeo between simplicity of programming and performance of the consistency model implementation. The causal memory model has attracted the attention of a number of researchers because is considered to be ....
[Article contains additional citation context not shown here]
M. Ahamad, G. Neiger, J. Burns, P. Kohli, and P. Hutto. Causal memory: Denitions, implementation and programming. Distributed Computing, 9(1):37-49, August 1995.
....such as the ubiquitous interface. Research results that are of particular relevance to this research include (a) the design and development of object based distributed operating systems [14] b) the development of consistency models for maintaining shared state in parallel and distributed systems [52, 34, 61, 6], and (c) efficient implementations of distributed shared memory systems on cluster machines [53, 61, 62, 31] In an attempt to provide benchmark statistics to feed a scalability simulation for future media server capabilities (see 2.3.4) we have also performed measurements on the traffic between ....
Mustaque Ahamad, Gil Neiger, James E. Burns, Phillip W. Hutto, and Prince Kohli. Causal memory: Definitions, implementations and programming. Distributed Computing, 1995.
.... H e t j nor e t j H e s i . The shared memory model can be refined by imposing additional constraints on computations. A set of such additional constraints actually define a consistency criterion. The fact that an overwritten value cannot be read again is expressed by the concept of legality [2, 8, 11] for read events. A read event r(x)v is legal in b H if 6 9e s i : w(x)v H e s i H r(x)v where e s i = r(x)u or e s i = w(x)u and u 6= v. A computation b H is legal if all its read events are legal. Two consistency criteria for shared memory are usually considered: ffl Sequential ....
....legal. Intuitively, this consistency criterion defines b H as correct if it could have been produced by multiplexing processes on a monoprocessor system. Actually, a sequentially consistent computation totally orders write events. ffl Causal consistency. A computation b H is causally consistent [2, 11] if all read operations are legal. In that case, a process never gets an overwritten value, but distinct processes can disagree on the value of a variable. In the following, we assume (i) the owner of a variable is defined as the last process that wrote into it (as in [5, 7] and (ii) computations ....
M. Ahamad, G. Neiger, J.E. Burns, P. Kohli, P.W. Hutto. Causal Memory: Definitions, Implementation and Programming. Distributed Computing, 9(1):37--49 , 1995.
....2 3) How this is precisely achieved will be explained later on in this section. After all tokens specified by ReadSync(t) and WriteSync(t) have been obtained by the issuing site (lines 4 7) the transaction can be executed. 5 Thereby, we rely upon a token delivery honoring causal consistency [2] which is guaranteed by the algorithm (see Figure 4) At the end of the update transaction, tokens are updated and sent back to their home sites. 6 (lines 15 18) Only tokens of the WriteSync(t) set are altered, tokens included in ReadSync(t) n WriteSync(t) remain unchanged. Altering a token ....
M. Ahamad, P. W. Hutto, G. Neiger, J. E. Burns, and P. Kohli. Causal Memory: Definitions, Implementations and Programming. Distributed Computing, 9:37-- 49, 1995.
....node relate to each other. The conditions of atomic memory (or linearizability) and sequential consistency require the shared memory to behave like a single memory module, where every operation is atomic. Weaker conditions have also been proposed, such as processor consistency [2] causal memory [3], release consistency [9] pipelined RAM [20] hybrid consistency [4] and mixed consistency [1] Each such condition corresponds to some optimization that can lead to non sequential behavior. As some have observed (e.g. 7] the message passing and shared memory paradigms can be unified by ....
Mustaque Ahamad, Gil Neiger, James E. Burns, Prince Kohli, and Phillip W. Hutto. Causal memory: Definitions, implementation and programming. Distributed Computing, 9(1):37--49, August 1995.
....preserved. These strong shared memories can have a significant negative impact on the performance of applications, and can limit the scalability of a system [6] Weaker conditions have been defined in an attempt to ameliorate such effects, such as release consistency [13] causal memory [3], processor consistency [14] pipelined RAM [25] and mixed consistency [1] The capabilities and characteristics of the various memory consistency conditions has been a fruitful topic of study. Both qualitative and quantitative comparisons have been carried out. A qualitative comparison ....
....section we show that several weaker memory models have implementations in which both operations are wait free. In particular, we show that causal memory, pipelined RAM, mixed consistency, and cache consistency all have completely wait free implementations. 23 5. 1 Causal Memory Causal memory [3] is a weak memory that preserves the causal order. Whenever a write operation W becomes visible locally, all write operations that may have influenced it must be visible locally as well. The implementation given in [3] is based on unbounded timestamps. Both the read and write operations are ....
[Article contains additional citation context not shown here]
Mustaque Ahamad, Gil Neiger, James E. Burns, Prince Kohli, and Phillip W. Hutto. Causal memory: Definitions, implementation and programming. Distributed Computing, 9(1):37--49, August 1995.
No context found.
Mustaque Ahamad, Gil Neiger, James E. Burns, Prince Kohli and Phillip W. Hutto, \Causal Memory: De nitions, Implementation and Programming", Distributed Computing, vol. 9, n. 1, pp. 37-49, 1995.
....how updates to the object are ordered and viewed by read operations. For the convergence of an object s state ( e.g. a unique final state of the object is obtained after the execution of the invocations) it is essential that all writes to it are ordered. Weaker orderings are possible(e.g. causal[2]) when concurrent writes are rare or other mechanisms can be used to fix the divergent object state. The timeliness property specifies the time interval after which an update to an object must become visible at sites that are caching it. By increasing the timeliness interval, updates can be ....
M. Ahamad, G. Neiger, J. E. Burns, P. W. Hutto, and P. Kohli. Causal memory: Definitions, implementation and programming. Distributed Computing, 9:37--49, 1995.
....we consider, and also sheds more light on corner cases pertaining to causality. While operational models have been proposed for commercial shared memory systems (notably for Sparc V9 [5] a notable feature of our operational model is its use of a few explicit devices such as vector timestamps [6] to clearly describe the tricky notion of causality. 2 Overview of the Itanium Memory Model The Itanium memory model can be understood in terms of program and global visibility ( visibility ) orders. For memory operations of type store , visibility refers to when the e ects of the store become ....
Mustaque Ahamad, Gil Neiger, James E. Burns, Prince Kohli and Phillip W. Hutto, \Causal Memory: Denitions, Implementation and Programming", Distributed Computing, vol. 9, n. 1, pp. 37-49, 1995.
....done at various nodes are ordered and viewed by read operations. For the convergence of an object s state (e.g. a unique final state of the object is obtained after the execution of the invocations) it is essential that all writes to it are ordered. Weaker orderings are possible (e.g. causal[2]) when concurrent writes are rare or other mechanisms can be used to fix divergent object state. The timeliness property specifies the time interval after which an update to an object must become visible at sites that are caching it. By controlling the timeliness interval, updates can be ....
M. Ahamad, G. Neiger, J. E. Burns, P. W. Hutto, and P. Kohli. Causal Memory: Definitions, Implementation and Programming. Distributed Computing, 9:37--49, 1995.
No context found.
M. Ahamad, G. Neiger., J. E. Burns, P. W. Hutto, and P. Kohli. Causal memory: Definitions, Implementations and Programming. Dist. Computing, Vol. 9, 1995.
....by the consistency criterion (and are not even possible when conditions such as disconnection occur) Second and more importantly, many applications, that support asynchronous interactions among widely distributed users, do not require strong consistency from the system. Causal consistency (CC) [1] is one consistency criterion that has been developed to meet the consistency requirements of such applications without incurring the cost of strong consistency. CC considers only a causality relation on read and write operations. Only write operations that depend on one another are perceived in ....
....same way by all processes; put another way, two concurrent write operations can be perceived in distinct orders by different processes. Several implementations of CC in various contexts and for different types of applications (such as CSCW and distributed dictionary management) have been explored [1, 5, 8, 16]. Systems that support ordered group communication provide users with an easy way to implement CC. For example, a communication primitive such as the ISIS cbcast primitive [4] which ensures all messages are delivered according to causal order) can be used in the following way. Each write ....
[Article contains additional citation context not shown here]
M. Ahamad, P.W. Hutto, G. Neiger, J.E. Burns, and P. Kohli. Causal Memory: Definitions, Implementations and Programming. Distributed Computing, 9:37-49, 1995.
....in this paper we explore a weaker consistency criterion for distributed services, namely causal consistency. This consistency criterion takes into account only causality relations among accesses to objects. It appears that it has two main advantages: 1) it is meaningful for several applications [1, 5, 11, 22], and (2) protocols that implement it require only weak synchronization that permits the design of efficient implementations. One aim of this paper is the design of such a protocol for causally consistent distributed services. We consider a distributed model in which three sets of nodes are ....
....for a collection of related distributed services. Section 5 compares the proposed approach with previous works. Finally Section 6 concludes the paper. 2 Causal Consistency Causal consistency (CC) which is based on causality in distributed systems [12] has been explored in a number of contexts [11, 3, 1, 17, 10]. These papers discuss several applications which execute correctly with the consistency guarantees provided by CC. Before reviewing the definition of CC, we first motivate it using a document sharing application. 2.1 Motivation Consider a document sharing system that is used to write a paper ....
[Article contains additional citation context not shown here]
M. Ahamad, P.W. Hutto, G. Neiger, J.E. Burns, and P. Kohli. Causal Memory: Definitions, Implementations and Programming. Distributed Computing, 9:37-49, 1995.
....shows, this name translation process allows task processes to create out attributes of the same name while allowing other task processes to differentiate between attributes with different sources. Two processes can each create a cube object, and they can be seen as different objects ( cube[1] and cube[2] by other tasks, if desired. Finally, as case 6 A A A A A A B B B B B B C C C C D D A: Out, tracker.position B: In, tracker.position A: Out, tracker.position B, C: In, tracker.position A, B: Out, object.cube.position C: In, object.cube.position A, ....
.... A: Out, tracker.position B, C: In, tracker.position A, B: Out, object.cube.position C: In, object.cube.position A, B: Out, object.cube.position C, D: In, object.cube.position A, B: Out, object.cube.position C, D: In, object.cube.position creates object.cube[1].position A, B: Share, object.cube.position Figure 2: Connections established for given attribute names and types Case 1 Case 2 Case 3 Case 4 Case 5 Case 6 and object.cube[2] position 1 2 to object.cube[ position demonstrates, shared attributes provide information to and ....
[Article contains additional citation context not shown here]
Ahamad, M., Hutto, P. W., Neiger, G., Burns, J. E., and Kohli, P. Causal Memory: Definitions, Implementations and Programming. Distributed Computing, 9, 1995, pp. 37-49.
....read and writes. Since these operations may be executed with replicated or cached copies, it is necessary to develop a precise consistency model for the system when users can use all of these operations. The focus of existing consistency models is primarily on ordering of reads and writes [13, 1]. Other models only address timeliness [7] Our goal is to develop a precise model that characterizes consistency when processes use both timed and non timed operations. For the timed operations, a timeliness interval is de ned and a clock system must be assumed. Informally, any read of object x ....
....to execute in a serial order that respects the order of operations at each processor. Linearizability [8] requires a stronger serial order that must also respect the time induced order between operations of di erent processes. Weaker ordering are explored in models such as causal consistency [1] and PRAM [6] Distributed shared memory systems have exploited synchronization operations to weaken the ordering constraints for data operations. Example of such models include release consistency [4] lazy release consistency [9] and entry consistency [2] Distributed le systems such as xFS [3] ....
[Article contains additional citation context not shown here]
M. Ahamad, G. Neiger, J. E. Burns, P. W. Hutto, and P. Kohli. Causal memory: Denitions, implementation and programming. Distributed Computing, 9:37-49, 1995.
....for Collaborative Applications 9 considered alone 5 cannot know whether the execution is serializable or only causally consistent. Remark. Let us note that if every transaction is reduced to a single read or single write operation, then causal consistency becomes identical to causal memory [3]. 3.4 Causal Serializability For some applications, serializability is too strong a consistency criterion while causal consistency is too weak. With causal consistency, when two update transactions that write into the same object are concurrent, they can be ordered differently by two processes ....
....in d S2 j and in another way in d S2 k ) Remark. Let us replace constraint (ii) by the following one: ii ) all update transactions of b H are totally ordered. It is possible to show that constraints (i) ii ) imply serializability. This generalizes to transaction systems a result presented in [3, 24] for shared memory systems (i.e. systems where processes read and write memory locations) These references establish sufficient conditions under which a program, run on a causal memory, behaves as if it was executed on a sequentially consistent memory. One of these sufficient conditions is that ....
[Article contains additional citation context not shown here]
M. Ahamad, P.W. Hutto, G. Neiger, J.E. Burns, and P. Kohli. Causal Memory: Definitions, Implementations and Programming. Distributed Computing, 9:37-49, 1995.
No context found.
Ahamad M., Hutto P.W., Neiger G., Burns J.E. and Kohli P., Causal memory: Definitions, Implementations and Programming. Distributed Comp., 9:37-49, 1995.
No context found.
Ahamad M., Hutto P.W., Neiger G., Burns J.E. and Kohli P., Causal memory: Definitions, Implementations and Programming. Distributed Computing, 9:37-49, 1995.
No context found.
M. Ahamad, G. Neiger, P. Kohli, J. E. Burns, and P. W. Hutto. Casual memory: Definitions, implementation and programming. Distributed Computing, 9:37--49, 1995.
No context found.
M. Ahamad, G. Neiger, J.E. Burns, P. Kohli, and P.W. Hutto. Causal memory: De nitions, implementation and programming. Distributed Computing, 9(1):37-49, August 1995.
No context found.
Mustaque Ahamad, Gil Neiger, Prince Kohli, James E. Burns, and Phillip W. Hutto. Casual memory: Definitions, implementation and programming. Distributed Computing, 9:37--49, 1995.
First 50 documents
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC