| M. Raynal, A. Schiper, and S. Toueg. The causal ordering abstraction and a simple way to implement it. Information Processing Letters, 39(6):343--350, Sept. 1991. |
....of the causal order. Normally, the causally ordered communication requires processes to maintain some logical clocks such as vector clocks (causal broadcast only, see [3, 27] for details) or n Theta n matrices (point to point communication allowed, n is the number of processes in question. See [3, 51] for details) while our approach only requires each pilot LP to maintain a sequence number, which is much easier to implement. Second, since causally ordered communication is prone to introduce false causality, it will unnecessarily delay a message until all its causally preceding messages are ....
M. Raynal, A. Schiper, and S. Toueg. The causal ordering abstraction and a simple way to implement it. Information Processing Letters, 39(6):343--350, 1991. 115
....This results in simplicity in design of distributed algorithms which may depend on the FIFO assumption [3] In this paper, we discuss one such possible restriction on message ordering called synchronous message ordering. The problem of restricting message ordering has received wide attention [1, 7, 12, 13, 10]. Charron Bost, Mattern, and Tel [1] have recently proposed a strict hierarchy of message ordering asynchronous, FIFO, causal ordering, and synchronous. An asynchronous computation does not have any restriction on the message ordering. It is easy to implement, and it permits maximum ....
....that a single message should not be overtaken by a sequence of messages. Joseph and Birman [7] have given many examples of problems which are easier to solve if causal ordering is assumed. It was first implemented in ISIS [4] Many other algorithms for causal ordering have appeared since then [12, 13]. Synchronous ordering is a stronger requirement than causal ordering. Algorithms for synchronous systems are much easier to design than those for causally ordered systems. Unlike the case of causal ordering, there is very little work done on synchronous ordering of messages. Usually, to achieve ....
[Article contains additional citation context not shown here]
Raynal, M., Schiper, A. and Toueg, S., "The Causal Ordering Abstraction and a Simple way to Implement It", Information Processing Letters, 39(6): 343--350, 1991.
....the system with mobile computing devices therefore require some modi cations to compensate for these factors. In this paper, we consider causal message ordering required in many distributed applications such as management of replicated data [8, 9] distributed monitoring [6] resource allocation [18], distributed shared memory [3] multimedia systems [2] and collaborative work [19] The protocols to implement causal message ordering in systems with static hosts have been presented in [14, 9, 16, 18, 20, 21] These protocols can be executed by every mobile host with all the relevant data ....
.... such as management of replicated data [8, 9] distributed monitoring [6] resource allocation [18] distributed shared memory [3] multimedia systems [2] and collaborative work [19] The protocols to implement causal message ordering in systems with static hosts have been presented in [14, 9, 16, 18, 20, 21]. These protocols can be executed by every mobile host with all the relevant data structures being stored on the mobile hosts themselves. However, considering limited resources and bandwidth of wireless links available to mobile hosts, it is not appropriate to apply these protocols directly to ....
[Article contains additional citation context not shown here]
M. Raynal, A. Schiper, and S. Toueg. Causal Ordering abstraction and a simple way to implement it. In Information Processing Letters, volume 39(6), pages 343-350, 1991.
....of efficient protocols for a class of message ordering specifications. This is the focus of the companion paper [19] 2 Related Work A fair amount of research has been done for efficient algorithms to implement different message orderings. Birman and Joseph [4] Raynal, Schiper and Toueg [20], Schiper, Eggli and Sandoz [21] have presented algorithms for the causal ordering of messages. These algorithms tag knowledge of processes about messages sent in the system with the message. For example, process P i in the algorithm by Raynal, Schiper and Toueg [20] tags a message with the ....
....[4] Raynal, Schiper and Toueg [20] Schiper, Eggli and Sandoz [21] have presented algorithms for the causal ordering of messages. These algorithms tag knowledge of processes about messages sent in the system with the message. For example, process P i in the algorithm by Raynal, Schiper and Toueg [20] tags a message with the matrix m where m[j; k] is the knowledge of process P i about the messages sent from P j to P k . It is natural to ask whether the message ordering can be further restricted by sending higher levels of knowledge (for example, by using three dimensional matrices: what P i ....
[Article contains additional citation context not shown here]
M. Raynal, A. Schiper, and S. Toueg. The causal ordering abstraction and a simple way to implement it. Inf. Process. Lett., 39(6):343--350, July 1991.
....) ffl deliver q (m 2 ) send q (m 3 ; r) ffl is a transitive relation. Therefore, r must deliver m 3 only after m 1 has been received and delivered. There are two fundamental approaches to implementing causal message delivery. The first is to add to each message m additional information [RST91,SS92, BSS91] that m s destination process uses to determine when m can be delivered. 46 message is piggybacked on message q r = m Figure 5.2: Implementing causal delivery order through piggybacking Using this approach, process r in Figure 5.1 would realize, when it receives m 3 ....
M. Raynal, A. Schiper, and Sam Toueg. The causal ordering abstraction and a simple way to implement it. Information Processing Letters, 39(6):343--350, 1991.
....to exploit topology information to improve 3 the design of group communication protocols. Several other examples can be found in the literature. However, with a few notable exceptions, most examples were focused on the solution of a particular problem, and have put their emphasis on algorithmics[4, 7, 8, 16, 23, 32]. To our knowledge, NAVTECH was pioneer in the coherent and systematic use of topology awareness, through the definition of a generic architectural construct, the WANof LANs model. This enabled the application of topology awareness in a vertical manner, to practically all protocols developed for ....
Michel Raynal, Andre Schiper, and Sam Toueg. The causal ordering abstraction and a simple way to implement it. Information processing letters, 39(6):343--350, September 1991.
....look ahead for systems that are designed with the classical conversation rules in mind, can result in incorrect system behaviour. Secondly, P 5 delivering m 25 before m 15 in Figure 7 cannot be avoided even if messages are delivered to processes using a causal order delivery service (e.g. [RS91]) or even by a total order service that respects causality 14 (e.g. RF96] Such a service enforces the following message delivery order: When m and m are sent to P i , Deliver i (m) Deliver i (m ) if Send(m) Send(m ) In Figure 7, Send 1 (m 15 ) and Send 2 (m 25 ) are concurrent; so, a ....
M. Raynal, A. Schiper, S. Toueg. The causal ordering abstraction and a simple way to implement it. Information Processing Letters, 39, 1991, pp. 343-350.
....messages meant for that destination have either been delivered or their deadlines have expired. This is the basic idea of the # causal ordering protocol proposed by Baldoni, Mostefaoui and Raynal [3] However, 3] and all general purpose causal ordering algorithms prior to that, including [1, 5, 14, 16], require each message to carry an # # # matrix that contains information about all causal predecessors of the message. In the tele immersive application described earlier most of the time a message will be sent to only a small subset of participants that are within a short distance of the ....
M. Raynal, A. Schiper, and S. Toueg. The Causal Ordering Abstraction and a Simple Way to Implement it. Information Processing Letters, 39:343--350, 1991.
....made about [AB96] apply to this protocol. The protocols in [AV97,YHH97] support reliable causally ordered message delivery in mobile distributed systems. The paper [AV97] actually presents a family of three protocols, all based on hand off and all derived from the protocol for stationary hosts in [RST91], whose crucial differences include the size of the message headers. The first algorithm requires headers of O(NM 2 ) where NM is the number of MHs, the second requires headers of O(NG 2 ) where NG is the number of MSSs, the third requires headers of O(k 2 NG 2 ) where k is a positive ....
M. Raynal, A. Schiper, S. Toueg, "The causal ordering abstraction and a simple way to implement it", Information Processing Letters vol. 39, n.6, September, 1991, pp. 343--350.
....the agent itself) The Aaa infrastructure ensures that agents and communications satisfy certain properties [BPF 99] listed in the table below. The dynamic recon guration protocol relies upon some of these properties, and especially the causality property (also called causal ordering) RST91, LBBK01] Agent properties Persistency Agent lifetime is not bounded to the duration of execution (however, this does not ensure consistent state retrieval after failures) Atomicity Upon receipt of an event, the reaction of an agent is either fully executed or not executed at all. Con ....
M. Raynal, A. Schiper, and S. Toueg. The Causal Ordering Abstraction and a Simple Way to Implement It. Information Processing Letters, 39(6):343-350, 1991.
....so that the mail queue can be ordered appropriately. A straightforward mechanism for implementing causal delivery is to use vector clocks [23] Vector clocks are a well known mechanism for implementing causal delivery and several implementation techniques have been suggested in the literature [28, 33, 7, 24]. The algorithm we describe here is similar to that described in [23] In a vector clock protocol, each participant maintains a local Lamport clock [17] as well as a Lamport clock for each participant it has received a message from. One participant is designated the observer and will use this ....
M. Raynal, A. Schiper, and S. Toueg. The causal ordering abstraction and a simple way to implement it. Information Processing Letters, 39(6):343--350, 1991.
....the system with mobile computing devices therefore require some modifications to compensate for these factors. In this paper, we consider causal message ordering required in many distributed applications such as management of replicated data [8, 9] distributed monitoring [6] resource allocation [18], distributed shared memory [3] multimedia systems [2] and collaborative work [19] The protocols to implement causal message ordering in systems with static hosts have been presented in [14, 9, 16, 18, 20, 21] These protocols can be executed by every mobile host with all the relevant data ....
.... such as management of replicated data [8, 9] distributed monitoring [6] resource allocation [18] distributed shared memory [3] multimedia systems [2] and collaborative work [19] The protocols to implement causal message ordering in systems with static hosts have been presented in [14, 9, 16, 18, 20, 21]. These protocols can be executed by every mobile host with all the relevant data structures being stored on the mobile hosts themselves. However, considering limited resources and bandwidth of wireless links available to mobile hosts, it is not appropriate to apply these protocols directly to ....
[Article contains additional citation context not shown here]
M. Raynal, A. Schiper, and S. Toueg. Causal Ordering abstraction and a simple way to implement it. In Information Processing Letters, volume 39(6), pages 343--350, 1991.
....the system with mobile computing devices therefore require some modifications to compensate for these factors. In this paper, we consider causal message ordering required in many distributed applications such as management of replicated data [5, 6] distributed monitoring [4] resource allocation [11], distributed shared memory [2] multimedia systems [1] and collaborative work [12] The protocols to implement causal message ordering in systems with static hosts have been presented in [7, 6, 9, 11, 13, 14] These protocols can be executed by every mobile host with all the relevant data ....
.... such as management of replicated data [5, 6] distributed monitoring [4] resource allocation [11] distributed shared memory [2] multimedia systems [1] and collaborative work [12] The protocols to implement causal message ordering in systems with static hosts have been presented in [7, 6, 9, 11, 13, 14]. These protocols can be executed by every mobile host with all the relevant data structures being stored on the mobile hosts themselves. However, considering limited resources and bandwidth of wireless links available to mobile hosts, it is not appropriate to apply these protocols directly to ....
[Article contains additional citation context not shown here]
M. Raynal, A. Schiper, and S. Toueg. Causal Ordering abstraction and a simple way to implement it. In Information Processing Letters, volume 39(6), pages 343--350, 1991.
....that causally precede it. The Psync system [66] and the RRTM protocol [22] adopted a similar approach. Tagging messages with history information results in an overhead that grows not only with the network size but also with the amountofnetwork trac. The algorithm of Raynal, Schiper and Toueg [68] is more static. Their algorithm attaches an ### matrix to each message, where # is the number of nodes in the network. Kshemkalyani and Singhal [47,48] propose an algorithm that dispenses with the matrix and uses a vector instead, as do later versions of Isis [12] 33 34 Ordering of Messages S ....
M. Raynal, A. Schiper and S. Toueg, \The causal ordering abstraction and a simple way to implement it," Information Processing Letters,vol. 39, no. 6 (September 1991), pp. 343-350.
....that causally precede it. The Psync system [66] and the RRTM protocol [22] adopted a similar approach. Tagging messages with history information results in an overhead that grows not only with the network size but also with the amount of network trac. The algorithm of Raynal, Schiper and Toueg [68] is more static. Their algorithm attaches an N N matrix to each message, where N is the number of nodes in the network. Kshemkalyani and Singhal [47, 48] propose an algorithm that dispenses with the matrix and uses a vector instead, as do later versions of Isis [12] 33 34 Ordering of Messages ....
M. Raynal, A. Schiper and S. Toueg, \The causal ordering abstraction and a simple way to implement it," Information Processing Letters, vol. 39, no. 6 (September 1991), pp. 343-350.
....messages sent in the causal past that are not known to be delivered. The receiving site uses vector time [7] to determine whether messages represented in the control vectors need to be delivered before the current message is delivered. The causal ordering algorithm of Raynal Schiper Toueg [9] attaches a matrix SENT of size n Theta n with every message. SENT [i; j] indicates the number of messages that are known to be sent by i to j. The algorithm also uses an array DELIV of size n, where DELIV [i] is the number of messages from node i that have been delivered to the sender. Clearly, ....
....n with every message. SENT [i; j] indicates the number of messages that are known to be sent by i to j. The algorithm also uses an array DELIV of size n, where DELIV [i] is the number of messages from node i that have been delivered to the sender. Clearly, the message overhead of both algorithms [9, 10] is O(n 2 ) In the causal multicast in overlapping groups implementation of ISIS [3] every process maintains a vector for every group whether it belongs to that group or not. A vector for a group informs the process of the number of messages multicast by the various members of the group. When ....
M. Raynal, A. Schiper, S. Toueg, The Causal Ordering Abstraction and a Simple Way to Implement It, Inf. Proc. Letters, 39(6), 343-350, 1991.
....exchange of messages leads to an ordering of events among different processes. Various implementations for the happened before relation, leading to a causal order among the ordered events, have been presented in the literature, among them Lamport s clocks [4] vector clocks [5] and matrix clocks [8]. These implementations are mainly based on the notion of logical time. Clocks are represented by a scalar, a vector, or a matrix of counters. 1 All events for which a causal order is needed this depends upon the particular application are stamped with a logical time value, in other words, ....
M. Raynal, A. Schiper, and S. Toueg. The Causal Ordering Abstraction and a Simple Way to Implement It. Information Processing Letters, 39:343--350, 1991.
....stopping. obviously, we want to minimize m, so that the e ect of a failure is limited to as small area as possible. 5.5.2 Solutions for Synchronization In [Alagar94] three algorithms for causal ordering are presented. The algorithms are an extension of the synchronization algorithm presented in [Raynal91]. In [Alagar94] the following factors are taken into acount for evaluation of the performance of synchronized algorithms in a system with MHs: F1: The amount of computation by a MH should be low. F2: The wireless communication cost should be minimal. F3: Algorithms should be scalable with ....
Raynal M., Schiper, A., and Toueng, S. Causal ordering abstractions and simple way to implement it. Inf. Proccess. Le.39, 6 (1991), 343-350.
....messages sent in the causal past that are not known to be delivered. The receiving site uses vector time [7, 11] to determine whether messages represented in the control vectors need to be delivered before the current message is delivered. The causal ordering algorithm of Raynal Schiper Toueg [15] attaches a matrix SENT of size n Theta n with every message. SENT [i; j] indicates the number of messages that are known to be sent by i to j. The algorithm also uses an array DELIV of size n, where DELIV [i] is the number of messages from node i that have been delivered to the sender. Clearly, ....
.... satisfied when the dependency of the delivery of d 2 l i;a 0 :Dests is satisfied with respect to messages 25 sent causally after (j; b) The general notion of using a n Theta n array for representing the timestamp for the latest message sent between a (source,destination) pair was used in [15, 18]; however, they stored this information explicitly, whereas we deduce and represent this information implicitly from the bare minimum information specified by the Propagation Constraints. Example(RCV 5) Let l i;18 :Dests = f 2,11, 13, 14 g and l i;20 :Dests = f 4,11, 14, 15, 18 g. Then l i;18 ....
M. Raynal, A. Schiper, S. Toueg, The Causal Ordering Abstraction and a Simple Way to Implement It, Information Processing Letters, 39(6), 343-350, 1991.
....of patterns is sensitive to the temporal ordering of notifications. In SIENA we assume that the event service is able to examine events in the right time order. Ordering events with respect to time is a classical problem in distributed systems [45] for which there exist well known algorithms (see [28, 63]) In practice, this assumption requires that the event service buffer notifications and shuffle them in the correct temporal sequence within a finite time. Thus, the underlying assumptions are: Other semantic aspects of the event service 37 time interested party event service object of ....
M. Raynal, A. Schiper, and S. Toueg. The causal ordering abstraction and a simple way to implement it. Information Processing Letters, 39(6):343--350, Sept. 1991.
.... (OCV i = V [i1] V [ii] V [in] The i th entry, V [ii] denotes the current operation counter value of p i , and V [ij] i 6= j) denotes the last operation counter value of p j on which p i s current computation is dependent, which is similar to the causal vector proposed in [11]. Hence, when a process p j transfers a data pge to other process p i , it sends its current OCV j value with the data page. Then, the receiving process p i updates its OCV i by taking the maximum value of the received vector and its own vector, as follows: OCV i = max(V [i1] V [j1] ....
M. Raynal, A. Schiper, and S. Toueg. The causal ordering abstraction and a simple way to implement it. Information Processing Letters, 39(6):343--350, 1991.
....operations, dynamic reconfiguration provides applications with the ability to evolve at runtime. We consider a distributed system model in which large scale applications are built on a middleware infrastructure providing support to distribution, communication and a causal ordering property[4]. Furthermore this model is based on an architecture description language (ADL) 1] 3] 9] supporting complex application design. This paper presents a dynamic reconfiguration service which takes great advantage of the knowledge of application structure provided by the ADL and the causal ordering ....
Raynald M., Schiper A., Toueg S., "The Causal Ordering Abstraction and a Simple Way to Implement It", Information Processing Letters 39(6), 343-350.
....in the system (OCV i = V i [1] V i [i] V i [n] The i th entry, V i [i] denotes the current opnum value of p i , and V i [j] i 6= j) denotes the last opnum value of p j on which p i s current computation is dependent. This notation is similar to the causal vector proposed in [18]. Hence, when a process p j transfers a data page to another process p i , it sends its current OCV j value with the page. The receiver p i then updates its OCV i by taking the entry wise maximum value of the received vector and its own vector, as follows: OCV i = max(V i [1] V j [1] ....
M. Raynal, A. Schiper, and S. Toueg. The causal ordering abstraction and a simple way to implement it. Information Processing Letters, Vol. 39, No. 6, pp. 343--350, 1991.
....in the vector time community. It is the basis of algorithms for enforcing causal ordering , in which message overtaking is prevented by checking piggybacked timestamps and accepting messages received only when it is clear that there are no causally preceding messages that have not yet arrived [1, 7]. 7 Conclusion We have described a limitation of vector clock timestamps for characterising distributed computations, and have examined its cause and solution. While not a profound issue, developers of debugging and analysis tools for distributed systems should nevertheless appreciate this ....
M. Raynal and A. Schiper. The causal ordering abstraction and a simple way to implement it. Technical Report 1132, Institut National de Recherche en Informatique et en Automatique, France, December 1989.
....extension of FIFO ordering in the case of more then one sender 2 Note that Lamport uses the notation for the happened before relation. We will not use Lamport s notation as we have already used that symbol to denote logical implication. and receiver. A system respecting the causal ordering [12] is one in which the messages are delivered respecting the happened before relation. In [12] Raynal, Schiper and Toueg present a simple way, called the RST algorithm, to implement a system respecting the causal ordering. For this, they use matrix timestamps. The algorithm we are using to ....
....notation for the happened before relation. We will not use Lamport s notation as we have already used that symbol to denote logical implication. and receiver. A system respecting the causal ordering [12] is one in which the messages are delivered respecting the happened before relation. In [12], Raynal, Schiper and Toueg present a simple way, called the RST algorithm, to implement a system respecting the causal ordering. For this, they use matrix timestamps. The algorithm we are using to reconstruct the causal ordering of notifications is based on RST. Our algorithm is only used to ....
[Article contains additional citation context not shown here]
M Raynal, A Schiper, and S Toueng, "The causal ordering abstraction and a simple way to implement it," Information Processing Letters, vol. 39, pp. 343--350, 1991.
.... the causal history contains the delivery history, different compression rules will be later applied to each, thus we decided to explicitly maintain this information in two different entities (explicit separation between causal and delivery histories is also used in other approaches, for instance [15]) These histories are used in the following way: Every time a message m is sent by process p, it is timestamped with its sender s causal history, H p . All messages in H p are then said to be reported to all recipients of m. This information is kept in carbon copy history, C p . When a message ....
.... Network Architecture group s network simulator, NETSIM [6] We measured the average size of timestamps obtained using our extended causal histories, with and without applying R9 (topological timestamp) We then compared these values with the size required by a non optimized clock matrix approach [15]. p1 p2 p3 p4 p5 p6 Logical (application level) communication graph. p1 p2 p3 p4 p5 p6 n1 n2 n3 d1 d3 Extended communication graph. d2 G B G A G C G D m m 1 m 2 m 3 m 4 m 5 S S S 1 2 3 Figure 7.1: Topology used in the simulations. The results presented here were obtained using the same network as ....
[Article contains additional citation context not shown here]
M. Raynal, A. Schiper, and S. Toueg. The causal ordering abstraction and a simple way to implement it. Information processing letters, 39(6):343--350, September 1991.
.... (OCV i = V [i1] V [ii] V [in] The i th entry, V [ii] denotes the current operation counter value of p i , and V [ij] i 6= j) denotes the last operation counter value of p j on which p i s current computation is dependent, which is similar to the causal vector proposed in [10]. Hence, when a process p j transfers a data page to other process p i , it sends its current OCV j value with the data page. Then, the receiving process p i updates its OCV i by taking the maximum value of the received vector and its own vector, as follows: OCV i = max(V [i1] V [j1] ....
M. Raynal, A. Schiper, and S. Toueg. The causal ordering abstraction and a simple way to implement it. Information Processing Letters, Vol. 39, No. 6, pp. 343--350, 1991.
....set of rules to update the data structure. The system of logical clocks is used to preserve the causal ordering of our notifications. In simple words, causal ordering is the natural extension of FIFO ordering in the case of more then one sender and receiver. A system respecting the causal ordering (Raynal, Schiper Toueng 1991)requires that the messages are delivered respecting the happened before relation: an object receiving a request op 2 can know, thanks to the logical clock, if a request op 1 , which has been sent before, has not been received. In this case, it delivers request op 2 only after op 1 has been ....
.... happened before relation: an object receiving a request op 2 can know, thanks to the logical clock, if a request op 1 , which has been sent before, has not been received. In this case, it delivers request op 2 only after op 1 has been received and proceeded. Raynal, Schiper and Toueg present in (Raynal et al. 1991) a simple way, called the RST algorithm, to implement a system respecting the causal ordering. For this, they use matrix timestamps associated with a vector at each object. The algorithm we are using to maintain the causal ordering of notifications is based on RST. Our algorithm is only used to ....
Raynal, M., Schiper, A. & Toueng, S. (1991), `The causal ordering abstraction and a simple way to implement it', Information Processing Letters 39, 343--350.
....to systems connecting several senders and one receiver. Causal ordering has been proved to be very useful in taking snapshots of distributed applications, in controlling distributed applications, in managing replicated data and in allowing consistent observations of distributed computations [10, 18]. Recently, extensions of causal ordering have been proposed to cope with mobile computing environments [16] and with unreliable networks and distributed applications whose messages have limited time validity [5, 6] Moreover, the concept of causal ordering is not limited to message passing ....
....shared memory systems, a causal memory has been introduced by Ahamad et al. in [1] as a consistency criterion. Such a criterion does not introduce latencies while executing read and write operations. Even though several interesting protocols implementing causal ordering appeared in the literature [8, 9, 18, 21], this communication mode is not yet widely used in commercial platforms because such protocols suffer from the typical pitfall of the timestamping (logical or physical) technique: to ensure causal ordering, in the context of broadcasting, application messages have to piggyback a vector time of ....
[Article contains additional citation context not shown here]
M. Raynal, A. Schiper, and S. Toueg, "The Causal Ordering Abstraction and a Simple Way to Implement It", Information Processing Letters, vol. 39, pp. 343--350, 1991.
.... for building distributed applications [3,15,28] If, on the other hand, communication can take place through point to point sends, a delivery rule can be derived based on an extension of vector clocks where each message carries a timestamp composed of n vector clocks (i.e. an n Theta n matrix) [32,30]. UBLCS 93 1 12 Causal Delivery and Hidden Channels p 1 p 2 p 3 pipe rupture apply heat m 0 m pressure drop Figure 9. External Environment as a Hidden Channel 12 Causal Delivery and Hidden Channels In general, causal delivery allows processes to reason globally about the system using only ....
M. Raynal, A. Schiper, and S. Toueg. The causal ordering abstraction and a simple way to implement it. Information Processing Letters, 39(6):343--350, September 1991.
....extended to take into account the management of unpropagated and transparent messages. In the following section, we illustrate our scheme by sketching one possible implementation of such an extension. 3. 5 An implementation In this section, we choose a simple scheme for enforcing causal delivery [14] in order to illustrate how transparent and unpropagated messages can be easily implemented as extension to an existing algorithm. We note that several optimizations are possible, but we present a simplified case for reasons of clarity. For the description of the algorithm, we make use of the ....
Michel Raynal, Andre Schiper, and Sam Toueg. The causal ordering abstraction and a simple way to implement it. Information processing letters, 39(6):343--350, September 1991.
....A communication service is defined by an ordering synchronization property that states the order (if any) in which messages have to be delivered. Usually the ordering property depends on the message sending order. fifo, causal A previous version of this paper has appeared in [1] 2 order (co) [3,4] and total order (to) 3,5] are the most encountered ordering properties [6] Another type of communication service is offered by CSP like languages (e.g. the Occam distributed programming language) This communication type assumes reliable processes and provides the so called rendezvous (rdv) ....
.... communication) co means that, if two sends are causally related [13] and concern the same destination process, then the corresponding messages are delivered in their sending order [3] co has received a great attention as it simplifies the design of protocols solving consistency related problems [4]. It has been shown that these communication modes form a strict hierarchy [11,12] More precisely, rdv ) li ) co ) fifo, where x ) y means that if the communications satisfy the x property, they also satisfy the y property. Of course, the less constrained the communications are, the more ....
Raynal M., Schiper A. and Toueg S., The Causal ordering Abstraction and a Simple Way to Implement it. Information Processing Letters, 39:343-351, (1991).
....property states the conditions under which a message has to be delivered to its destination processes despite possible failures. An ordering property states the order in which messages have to be delivered; usually this order depends on the message sending order. fifo, causal order (co) [4, 18] and total order (to) 4, 7, 11] are the most encountered ordering properties [12] Reliability and ordering properties can be combined to give rise to powerful communication primitives such as Atomic Broadcast [4] or Atomic Multicast to asynchronous groups [9] The ISIS system [4] pioneered ....
.... communication) co means that, if two sends are causally related [14] and concern the same destination process, then the corresponding messages are delivered in their sending order [4] co has received a great attention as it simplifies the design of protocols solving consistency related problems [18]. It has been shown that these communication modes form a strict hierarchy [8, 21] More precisely, rdv ) li ) co ) fifo, where x ) y means that if the communications satisfy the x property, they also satisfy the y property. More sophisticated communication modes can found in [1] Of course, the ....
Raynal M., Schiper A. and Toueg S., The Causal ordering Abstraction and a Simple Way to Implement it. Information Processing Letters, 39:343-351, (1991).
....les collecteurs et les mutateurs ou entre les CHAPITRE 4. GC DANS LARCHANT 12 diff erents collecteurs, et que les messages du GC sont asynchrones et s echangent en tache de fond. Le prix a payer est un certain degr e de conservation, et certains messages devant etre d elivr es en ordre causal [100]. 4.1.1 Parcours Le parcours d une r eplique incoh erente ne prend bien evidemment pas en compte les ecritures de pointeurs survenant sur un autre site. Ce n est cependant pas un probl eme. En fait, le parcours d une r eplique non a jour r esulte simplement en une d ecision plus conservative ....
....i . Events at some process occur in some serial order. We use the classical relation happens before [74] For any message M, we note send.M i the sending event at process i, and deliver.M j the delivery and processing of M at its receiver process j. We assume causally ordered communication [100]. 3.3.3 Process Model A process may contain any number of threads. It is composed of a mutator, a collector, and a coherence engine implementing the coherence protocol (see Section 3.3.5) Note that some processes may lack a mutator or a collector; for example, a system server does not have a ....
[Article contains additional citation context not shown here]
Michel Raynal, Andr'e Schiper, and Sam Toueg. The causal ordering abstraction and a simple way to implement it. Information Processing Letters, 39(6):343--350, September 1991.
....message to all nodes that manage a copy of x (in the ISIS terminology, these nodes constitute the replication group associated with x) The cbcast protocol is very general. It does not consider messages have a type and ensures delivery of all messages to destination nodes according to causal order [4, 12]. If related but distinct objects are replicated, nodes where copies of each object exist define separate multicast groups. This allows an updated value of object x to be sent to only the nodes that store copies of x. In order to ensure causal consistency across related objects, delivery of ....
....consistency. Section 3 presents the protocol; this protocol allows any degree of replication for each object. Finally section 4 concludes the paper. 2 Causal Consistency Causal consistency (CC) which is based on causality in distributed systems [9] has been explored in a number of contexts [1, 4, 7, 8, 12]. 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. Raynal, A. Schiper and S. Toueg. The Causal Ordering Abstraction and a Simple Way to Implement it. Information Processing Letters, 39:343--350, 1991.
....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 ....
....Implementation with Full Replication To show that efficient implementations are possible for CC, we review a simple implementation of CC in an environment where all nodes have copies of all the objects and these nodes form a fixed set. Basically, it extends to objects the protocol introduced in [17] that implements causal delivery of messages. Each node s i is endowed with a version vector v i [1: n] where n is number of nodes) such that: v i [j] # object updates issued by s j and known by s i . The protocol is the following one. ffl read by s i of an object x: s i reads the local copy ....
[Article contains additional citation context not shown here]
M. Raynal, A. Schiper and S. Toueg. The Causal Ordering Abstraction and a Simple Way to Implement it. Information Processing Letters, 39:343--350, 1991.
....over a communication network. This flow of information must preserve the causal dependency even though part of the information can be lost or can be discarded when it violates the timing constraints imposed by a real time interaction. Several protocols implementing pure causal ordering [BJ87, RST91] and Delta causal ordering [BMR95, AS95] appeared in the literature; however, they suffer from the typical pitfall of the timestamping (logical or physical) technique: to ensure causal order, in the context of broadcasting, messages have to carry a vector of integers whose dimension is given by ....
.... real time delivery constraints and then by suppressing lines (R1 R3, R6 and R10) and by replacing physical time with a logical one (line S1: send time i : send time i 1) we get a protocol for asynchronous causal broadcasting that compares favorably with previous pure causal ordering protocols [BJ87, RST91], and corresponds to asynchronous causal broadcasting proposed in [PRS95] 3.5 Correctness Proof We prove that the correctness of the proposed Delta causal ordering protocol in two steps. First, we show that all broadcast messages received within their deadlines will be delivered within their ....
[Article contains additional citation context not shown here]
M. Raynal, A. Schiper, and S. Toueg. The causal ordering abstraction and a simple way to implement it. Inform. Process. Lett., 39:343--350, 1991.
....the same destination, then the corresponding messages are delivered in their sending order. Typically, causal 4 p q r s m1 m2 m3 deadline m2 deadline m3 deadline m1 Figure 3: Broadcast Deliveries Respecting Deadline Constrained Causal Ordering order protocols assume reliable channels [5, 16]; a message is only delivered when all preceding messages have been delivered. The notion of Delta causal ordering, introduced in [21] and later refined and formalized in [3, 4] extends this principle. In this model, messages can be lost and have a lifetime, Delta, after which their data can ....
.... distributed system and messages whose contents have no delivery constraints, both deadline constrained causal order and Delta causal ordering are equivalent to the original definition of causal ordering given by Birman and Joseph in [5] Several protocols implementing pure causal ordering [2, 5, 16] and Delta causal ordering [3, 1, 4] appeared in the literature. In this paper we introduce a new protocol able to enforce deadlineconstrained causal order. 2.6 Where Deadline Constrained Causal Ordering is Useful Scheduling messages deliveries respecting deadline constrained causal order can ....
[Article contains additional citation context not shown here]
M. Raynal, A. Schiper, and S. Toueg. The causal Ordering Abstraction and a Simple Way to Implement it. Information Processing Letters, vol.39, pp.343-350, 1991.
....m; 2) messages sent in the future of sending m must be received after m; and (3) messages sent in the past future of sending m must be received before after m. The past and the future of an event is defined using the relation happened before [13] as is also done in other relevant studies [5, 9, 14, 15, 16]. These primitives reduce waits by a receiver process (and reduce the resequencing delay) by increasing the number of possible orders in which messages can be received compared to message receipt in the order of sending. This reduction has been shown [6] to be significant when the past and the ....
M. Raynal, A. Schiper, and S. Toueg. The causal ordering abstraction and a simple way to implement it. Information Processing Letters, 39(6):343--350, September 1991.
.... a loss in concurrency [18] A less severe form of ordering of message transmission and reception, called causal ordering, is required for a variety of applications like management of replicated data, observation of a distributed system, resource allocation, multimedia systems, and teleconferencing [2, 4, 15]. Protocols to implement causal ordering of messages have been presented in [5, 6, 14, 15, 17] These protocols have high communication overheads. For each of these protocols (except [5] which is based on message duplication a high communication overhead approach) the message overhead is at ....
.... reception, called causal ordering, is required for a variety of applications like management of replicated data, observation of a distributed system, resource allocation, multimedia systems, and teleconferencing [2, 4, 15] Protocols to implement causal ordering of messages have been presented in [5, 6, 14, 15, 17]. These protocols have high communication overheads. For each of these protocols (except [5] which is based on message duplication a high communication overhead approach) the message overhead is at least Theta(N 2 ) integers, where N is the number of processes in the system. Hence, the ....
[Article contains additional citation context not shown here]
M. Raynal, A. Schiper, and S. Toueg. The causal ordering abstraction and a simple way to implement it. Information Processing Letters, 39(6):343--350, 1991.
....: vt i [j] 1; 8 (y, v y ) 2 S do y i : v y od Actually, this protocol is similar to the one proposed in [3] to implement causally consistent memories; its correctness proof follows the same principle. It is also interesting to note that this protocol is the same as the one proposed in [23] to implement causally ordered communications on top of asynchronous systems. Additionally, this implementation of causal consistency is wait free: a process executing a transaction RR n2802 12 M. Raynal, G. Thia kime and M. Ahamad is never suspended due to a synchronization constraint added by ....
....causal consistency. It differs from it in the addition of tokens. So, we only need to verify that tokens management RR n2802 14 M. Raynal, G. Thia kime and M. Ahamad preserves causal consistency. This follows from the fact that delivery of tokens to processes is done according to causal ordering [23] and so does not violate causal consistency. Proof of (ii) Point (ii) could be violated if after a write on x (transaction t1) by a process P j , process P i first receives token x allowing it to write x (transaction t2) and later receives from P j the update message with the new value of x ....
M. Raynal, A. Schiper and S. Toueg. The Causal Ordering Abstraction and A Simple Way to Implement it. Information Processing Letters, 39:343--350, 1991. RR n2802 22 M. Raynal, G. Thia-kime and M. Ahamad
....of H and all the reads issued by P i . Irisa Consistency Criteria for Shared Memories 11 Actually, when considering read and write operations as equivalent to receive and send operations in message passing systems, causal consistency is equivalent, in the shared memory model, to causal ordering [14, 31] for the delivery of messages in the message passing model (other similarities between both models are addressed in Section 8) 5.2 Protocols [5] presents an implementation of causal memory and studies programming with such a memory. It is shown that, when executed on a causally consistent ....
....RAM) consistency [25] is a consistency criterion weaker than causal consistency. The difference, in the shared memory model, between PRAM consistency and causal consistency is the same as the one between FIFO ordering and causal ordering for message deliveries in the message passing model [14, 33, 31]. PRAM and FIFO are only concerned by direct relations between pairs of adjacents processes and do not take into account transitivity due to intermediary processes. More precisely, in a message passing system with FIFO ordering, two messages sent to a same process by two distinct senders can ....
[Article contains additional citation context not shown here]
M. Raynal, A. Schiper and S. Toueg. The causal ordering abstraction and a simple way to implement it. Information Processing Letters, 39:343--350, 1991.
....2, and consequently for this process, the value 1 of x has logically been overwritten. Actually, when considering read and write operations as equivalent to receive and send operations in message passing systems, causal consistency is equivalent, in the shared memory model, to causal ordering [6, 17] for the delivery of messages in the message passing model. 5.2 Protocols [4] presents an implementation of causal memory and studies programming with such a memory. It is shown that, when executed on a causally consistent memory, concurrent write free 4 or data race free 5 parallel programs ....
....RAM) consistency [11] is a consistency criterion weaker than causal consistency. The difference, in the shared memory model, between PRAM consistency and causal consistency is the same as the one between FIFO ordering and causal ordering for message deliveries in the message passing model [6, 17]. PRAM and FIFO are only concerned by direct relations between pairs of adjacents processes and do not take into account transitivity due to intermediary processes. More precisely, in a message passing system with FIFO ordering, two messages sent to a same process by two distinct senders can ....
M. Raynal, A. Schiper and S. Toueg. The causal ordering abstraction and a simple way to implement it. Information Processing Letters, 39:343--350, 1991.
No context found.
M. Raynal, A. Schiper, and S. Toueg. The causal ordering abstraction and a simple way to implement it. Information Processing Letters, 39(6):343--350, Sept. 1991.
No context found.
Raynal, M., Schiper, A., and Toueg, S. 1991. The causal ordering abstraction and a simple way to implement it. Information Processing Letters 39, 6 (Sept.), 343--350.
No context found.
M. Raynal, A. Schiper, and S. Toueg, "The Causal Ordering Abstraction and a Simple Way to Implement It," Information Processing Letters, vol. 39, pp. 343-350, 1991.
No context found.
M. Raynal, A. Schiper, and S. Toueg. The causal ordering abstraction and a simple way to implement it. Inform. Process. Lett., 39:343--350, September 1991.
No context found.
M. Raynal, A. Schiper, and S. Toueg. The causal ordering abstraction and a simple way to implement it. Information Processing Letters, 39(6):343--350, September 1991.
No context found.
M. Raynal, A. Schiper and S. Toueg, The causal ordering abstraction and a simple way to implement it, Information Processing Letters 39, 6(1991), 343--350.
No context found.
Raynal, M., Schiper, A., and Toueg, S. The causal ordering abstraction and a simple way to implement it. Inform. Process. Lett. 39, 6 (Sep. 1991), 343--350.
First 50 documents Next 50
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