| J. Tromp, "How to Construct an Atomic Variable", Proceedings of the Third International Workshop on DistributedAlgorithms , 1989, pp. 292-302. |
.... an algorithm that eliminated this assumption was published by Burns and Peterson [BP87] and counterexamples that revealed numerous flaws in that algorithm were described by Haldar and Vidyasankar [HV92] Correct algorithms for this problem were known in computer science by the late 1980 s [Tro89] Independently, Simpson presented a different, and attractively simple algorithm [Sim90] and this is the one best known in the real time and avionics communities. It also provides the inspiration for the second part of the NBW construction. Because its mechanisms are fundamental, because it is ....
John Tromp. How to construct an atomic variable. In Distributed Algorithms (3rd International Workshop WDAG '89), volume 392 of Lecture Notes in Computer Science, pages 292--302, Nice, France, September 1989. Springer-Verlag. 26
....powerful multi reader (even multi writer) multi valued objects [2, 3] This procedure leads to modular system organization. 1.2. Contribution of this paper and related work Despite the fact that there has been a great deal of research on implementations of stronger registers out of weaker ones [2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20], to the best of our knowledge, comparatively few results have appeared studying the necessary costs incurred by such implementations [16, 21, 22, 23] Chaudhuri and Welch [22] summarize the issues involved in the study of the intrinsic complexity of register constructions. Since registers may ....
.... the fact that there has been a great deal of research on implementations of stronger registers out of weaker ones [2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20] to the best of our knowledge, comparatively few results have appeared studying the necessary costs incurred by such implementations [16, 21, 22, 23]. Chaudhuri and Welch [22] summarize the issues involved in the study of the intrinsic complexity of register constructions. Since registers may differ in several dimensions, the inherent complexity of constructing a strong register out of weaker ones has multiple cases to be examined. They focus ....
[Article contains additional citation context not shown here]
Tromp, J. (1989) How to construct an atomic variable. In Proc. 3rd Int. Workshop on Distributed Algorithms (Lecture Notes in Computer Science vol. 392), pp. 492--302. SpringerVerlag, Berlin.
....problems: constructing a multi reader atomic register, and constructing a multi writer atomic register. These open problems were just too tempting for some of us to resist. As a result, in the years following the publication of [34] a number of papers on atomic register constructions appeared [9, 11, 12, 18, 43, 48, 52, 53]. These papers were just the rst of a great many papers to be published on wait free and lockfree synchronization (a complete list of such papers simply can t be included here, because the bibliography alone would exceed the space limitations of this article) In retrospect, the publication of ....
J. Tromp. How to construct an atomic variable. In Proceedings of the Third International Workshop on Distributed Algorithms, pp. 292-302. Lecture Notes in Computer Science 392, Springer-Verlag, 1989.
....more powerful multi reader (even multi writer) multi valued objects [2, 3] This procedure leads to modular system organization. Contribution of this paper and related work Despite the fact that there has been a great deal of research on implementations of stronger registers out of weaker ones [4, 5, 6, 7, 8, 9, 2, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20], to the best of our knowledge, comparatively few results have appeared studying the necessary costs incurred by such implementations [21, 22, 23, 16] Chaudhuri and Welch in [22] summarize the issues involved in the study of the intrinsic complexity of register constructions: Since registers may ....
.... there has been a great deal of research on implementations of stronger registers out of weaker ones [4, 5, 6, 7, 8, 9, 2, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20] to the best of our knowledge, comparatively few results have appeared studying the necessary costs incurred by such implementations [21, 22, 23, 16]. Chaudhuri and Welch in [22] summarize the issues involved in the study of the intrinsic complexity of register constructions: Since registers may differ in several dimensions, the inherent complexity of constructing a strong register out of weaker ones has multiple cases to be examined. They ....
[Article contains additional citation context not shown here]
J. Tromp. (1989) How to Construct an Atomic Variable. Proceedings of the 3rd International Workshop on Distributed Algorithms, vol. 392 of LNCS, Springer-Verlag, 492--302.
....operation, masq is always the highest number that can be read by a reader. In that case, masq need not be updated in the final actions of readers. Below, this applies to Bloom s algorithm but not to the algorithm of Vitanyi and Awerbuch. The proof of atomicity of the handshake register of Tromp [23] in [15] and the snapshot algorithm of [20] 13.4.5 can also be cast in the present setting. It is not hard to prove that the type integer of the ghost variables start, sqn, and masq can be replaced by an arbitrary type with a linear order. In particular, one may use reals or lexically ordered ....
....but in this case that was easy. Conversely, as we have indicated, our criterion could have suggested the design of this algorithm. It is a fairly straightforward exercise to apply the criterion to prove atomicity of the snapshot algorithm of [20] 13.4. 5 or of Tromp s handshake register [15, 23]. Acknowledgements. We are grateful for comments and suggestions of Gao Hui, Jan Jongejan, Jan Eppo Jonker, and three anonymous referees. ....
Tromp, J.: How to construct an atomic variable. In: J.-C. Bermond, M. Raynal (Eds.): Distributed Algorithms, Proceedings Nice. Lecture Notes in Comput. Sci., Vol. 392, Springer, berlin, 1989, pp. 292--302
....with single reader, single writer boolean safe register in the lowest level and multireader, multiwriter, multivalued atomic variables in the highest level. Despite the fact that there has been a great deal of research on developing implementations of stronger registers out of weaker ones [1, 2, 9, 10, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], to the best of our knowledge, comparatively few results have appeared studying the costs incurred by such implementations [3, 4, 11, 21] Chaudhuri and Welch in [4] summarize the issues involved in the study of the intrinsic complexity of register constructions: Since registers may differ in ....
.... has been a great deal of research on developing implementations of stronger registers out of weaker ones [1, 2, 9, 10, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25] to the best of our knowledge, comparatively few results have appeared studying the costs incurred by such implementations [3, 4, 11, 21]. Chaudhuri and Welch in [4] summarize the issues involved in the study of the intrinsic complexity of register constructions: Since registers may differ in several dimensions, the inherent complexity of constructing a strong register out of weaker ones is a problem with multiple cases to be ....
[Article contains additional citation context not shown here]
J. Tromp. "How to Construct an Atomic Variable" In Proceedings of the 3rd International Workshop on Distributed Algorithms, volume 392 of Lecture Notes in Computer Science, Springer-Verlag 1989, pp. 492--302.
....data needs to be passed from one process to another. Such data may be generated irregularly and used irregularly, with the writer and reader processes mainly preoccupied with other activities. For such applications, techniques such as the multiple slot (or track ) mechanisms described in [4] [5] and [6] realise regular and atomic registers in the data path between asynchronous concurrent processes by employing safe bit registers to convey the values of bitsize control variables. They avoid conflicts on data memory without resorting to explicit critical sections. These solutions, ....
Tromp, J., "How to construct an atomic variable", Proc. 3rd Int. Workshop on Distributed Algorithms, Nice, LNCS, Springer Verlag, pp.292-302, 1989.
....are destructive write operations, multiple data slots and a control or steering algorithm. Figure 4.2 shows how ACMs can be roughly classi ed. Mechanisms which use only one data slot (the left branch of the tree) are only of use in constructing single bit variables such as Tromp s atomic bit [Tro89] The 1 slot (a slot is used to decribe a register large enough to hold one complete piece of data which is being transmitted) is mentioned here for completeness but as will be shown later in this chapter, it fails very simply. The right branch of the tree is used to show ACMs with multiple ....
....2 2 2 Coh Fre Seq. P P P F X X P P P P P P P P P P P P P P F Table 5.1: Comparison of ACM algorithms (P = Pass, F = Fail, X = Untested) Algorithm Key Section Xia self timed 3 slot [XYS 00] Xia3 4.8 Peterson 5b 9 [Pet83] Pe9 5.2 Kirousis 4b 39 [KKV88] Kr39 5. 3 Tromp 4b 14 [Tro89] Tr14 5.4.1 Anderson 4b 9 [AG92] An9 5.5 Simpson 4b 7 [Sim90b] Si7 5.6.1 Simpson 4b 6 [Sim97b] Si6 5.6.2 Table 5.2: Key for Table 5.1. 167 rithm mechanism cannot maintain these then it cannot be classed as an ACM. The remaining properties are used to indicate physical ....
[Article contains additional citation context not shown here]
J. Tromp. How to construct an atomic variable (extended abstract). In Proc. International workshop on Distributed Algorithms, volume 392 of Lecture Notes in Computer Science, pages 292-302, 1989.
....weak snapshot scan. Indeed, it seems that in many cases atomic snapshot scan can be simply replaced by weak snapshot scan. Our construction relied on the Traceable Use abstraction of Dwork and Waarts [20] Alternatively, we could have used the weaker primitives of Vitanyi and Awerbuch [35] Tromp [34], Kirousis, Spirakis, and Tsigas [27] or of Singh [33] In a similar spirit to the weak snapshot, one can define a weak concurrent timestamping system, which, roughly speaking, satisfies the properties of the standard timestamping system except that the ordering = on labeling operations and the ....
J. Tromp. How to Construct an Atomic Variable. In Proceedings of the 3rd International Workshop on Distributed Algorithms, LNCS 392, 1989.
.... the 12 Delta Afek, Greenberg, Merritt, Taubenfeld fault tolerant construction in Theorem 5, one can construct any reliable (multireader multi writer, arbitrary value) atomic register by composing with faultintolerant constructions from safe bits [Blo87, BP87, Lam86, LTV89, Pet83, PB87, SAG94, Tro89] appealing to Theorem 3. For example, a construction due to Tromp [Tro89] produces a binary atomic register from 3 safe bits (3 are necessary [Lam86] thus, CONST(binary safe; f ; 1) binary atomic) CONST(binary safe; f ; 1) binary safe) Delta CONST(binary safe; 0; 1) binary atomic) ....
....in Theorem 5, one can construct any reliable (multireader multi writer, arbitrary value) atomic register by composing with faultintolerant constructions from safe bits [Blo87, BP87, Lam86, LTV89, Pet83, PB87, SAG94, Tro89] appealing to Theorem 3. For example, a construction due to Tromp [Tro89] produces a binary atomic register from 3 safe bits (3 are necessary [Lam86] thus, CONST(binary safe; f ; 1) binary atomic) CONST(binary safe; f ; 1) binary safe) Delta CONST(binary safe; 0; 1) binary atomic) 6f 3. Define a V register to be a read write register on (arbitrary) ....
[Article contains additional citation context not shown here]
J. Tromp. How to construct an atomic variable. In J.C. Bermond and M. Raynal, editors, Proc. of the 3rd Int. Workshop on Distributed Algorithms: Springer-Verlag LNCS 392, pages 292--302, September 1989. 44 \Delta Afek, Greenberg, Merritt, Taubenfeld
....writer data in shared memory control variables reader Figure 1. Scheme of slot mechanisms. It is vital, especially in view of the lack of synchronisation, for the slot mechanisms to be proved to pass on data that is both coherent and fresh. Although other solutions to the problem exist [4, 5], Simpson was the first to show a solution using four slots arranged in two pairs to maintain data coherence and data freshness, having found that up to three slots arranged linearly cannot maintain data coherence [3, 6] In order to prove the data coherence and data freshness properties of the ....
....possible patterns within its scope. These and parentheses are used to discriminate between parts of expressions. The following are example expressions: a 1 0, a 2 r r 4 5 , a 3 r 4 , a 4 ) a 5 r 1 , e 3 e e 1 2 ] a 1 r 4 r 5 , a 2 , a 3 , a 4 , a 5 0, e 1 e 3 ] where a i , i[1,5], are agents, r j , j 1,4,5 , are roles, and e k , k[1,3] are events. The parentheses and braces indicate that agents a 2 , a 3 and a 4 may represent something distinctive, or are being highlighted for some reason. Definition 4. Transition statements A transition statement consists of an input ....
Tromp, J., "How to construct an atomic variable, Proc. 3rd Int. Workshop on Distributed Algorithms, Nice, LNCS, Springer Verlag, pp.292-302, 1989.
....an item of data during each cycle, the other making use of an item of data during each cycle. The provider of data is known as the writer of the ACM and the user of data is known as the reader of the ACM. Such techniques as the multiple slot (or track ) mechanisms described in [1] [2] and [3] realise regular and atomic registers in the data path between asynchronous concurrent processes by employing safe bit registers to convey the values of bit size control variables. They avoid conflicts on data memory without resorting to explicit critical sections. The general scheme of ....
Tromp, J., "How to construct an atomic variable", Proc. 3rd Int. Workshop on Distributed Algorithms, Nice, LNCS, Springer Verlag, pp.292-302, 1989.
....of data is known as the writer of the ACM and the user of data is known as the reader of the ACM. writer data in shared memory control variables reader Figure 3 ACM using shared memory and control variables. Such techniques as the multiple slot (or track ) mechanisms described in [1] [2] and [3] realise regular and atomic registers in the data path between asynchronous concurrent processes by employing safe bit registers to convey the values of bit size control variables. They avoid conflicts on data memory Contact: fei.xia ncl.ac.uk Page 2 01 12 99 without resorting to ....
....the other side. Statement w1 means that the control variable n is assigned a value different from the current values of both l and r. In practice, the following method can be used to deal with this efficiently: const differ = 2,3,2) 3,3,1) 2,2,1) n : differ[l, r] d[1] d[2] d[3] writer reader n, l, and r control variables data storage Figure 5 Schematic of the 3 slot mechanism. 4 Modelling and analysis of the 3 slot ACM We have investigated the 3 slot ACM with the same method employed in our previous studies of the 4 slot ACM [7, 8] This method involves ....
Tromp, J., "How to construct an atomic variable", Proc. 3rd Int. Workshop on Distributed Algorithms, Nice, LNCS, Springer Verlag, pp.292-302, 1989.
....list X of object types that is n GD universal for omission crash, is also n RGD universal for omission crash faults. The proof of this theorem requires some additional results. First, Herlihy s universal construction [Her91] together with constructions of atomic registers from safe registers [Pet83, Lam86, BP87, PB87, Blo87, SAG87, LTV89, Tro89], implies the following: Proposition 1 fn consensus, safe registerg is n universal. Next, we need results for composing fault tolerant and fault intolerant constructions, observed for a malicious failure type in [AGMT92] and for general failure classes in [JCT92] Proposition 2 ffl If X has a ....
J. Tromp. How to construct an atomic variable. In J.C. Bermond and M. Raynal, editors, Proc. of the 3rd International Workshop on Distributed Algorithms, pages 292--302. Springer-Verlag LNCS 392, September 1989.
.... operation, and in which reads and writes behave as if they occur in some definite order [26] Many works followed to characterize shared data objects that can be implemented without waiting in terms of single writer, singlereader, single bit atomic registers, for instances see [10] 20] 35] and [38]. The work of Peterson [31] mentioned previously, is referred to as constructing atomic registers from safe registers [36, 26] A safe register is defined by Lamport [26] as a data object accessed by asynchronous processes such that a read not concurrent with any write obtains the most recently ....
....matrix. Data coherence is maintained, without recourse to conventional synchronization techniques, by means of an orthogonal avoidance strategy so that the reader and the writer never access the same buffer slot at the same time. There are similar four slot constructions presented by Tromp [38], Anderson and Gouda [3] in their theoretical studies on atomic registers. However, Simpson s construction appears to be compact as well as neutral to the implementation by either hardware or software approaches. A non blocking write (NBW) protocol is presented by Kopetz and Reisinger as a ....
Tromp, J. How to Construct an Atomic Variable. In Proc. 3rd International Workshop on Distributed Algorithms (1989), pp. 292--302. Extended Abstract, LNCS-392.
....be written by one process, and can store a one bit value; the most complicated can be read or written by several processes and can store any number of bits. It has been shown in a series of papers that the most complicated atomic register can be implemented without waiting in terms of the simplest [6, 13, 14, 20, 21, 25, 26, 29, 30, 31, 32, 33, 34]. This work shows that, using only atomic registers of the simplest kind, the classical readers writers problem [17] can be solved without requiring either readers or writers to wait. In this paper, we consider a shared data object, called a composite register , that extends the notion of an ....
J. Tromp, "How to Construct an Atomic Variable," Proceedings of the Third International Workshop on Distributed Algorithms, Lecture Notes in Computer Science 392, Springer-Verlag, 1989, pp. 292-302.
....reader Fig 1 Schematic of slot mechanisms using shared memory and possibly control variables. It is vital, especially in view of the lack of synchronisation, for the slot mechanisms to be proved to pass on data that is both coherent and fresh. Although other solutions to the problem exist [4, 5], Simpson was the first to show a solution using four slots arranged in two pairs to maintain data coherence and data freshness, having found that up to three slots arranged linearly cannot maintain data coherence [3, 6] In order to prove the data coherence and data freshness properties of the ....
....is therefore either a static description expression or a modification description expression, but not partly both. The following are example expressions: a 1 0, a 2 r r 4 5 , a 3 r 4 , a 4 ) a 5 r 1 , e 3 e e 1 2 ] a 1 r 4 r 5 , a 2 , a 3 , a 4 , a 5 0, e 1 e 3 ] where a i , i [1,5], are agents, r , j 1,4,5 , are roles, and e k , k [1,3] are events. The parentheses and braces indicate that agents a 2 , a 3 and a 4 may represent something distinctive, or are being highlighted for some reason. A pattern in one expression is said to correspond to a pattern in another ....
Tromp, J., "How to construct an atomic variable, Proc. 3rd Int. Workshop on Distributed Algorithms, Nice, LNCS, Springer Verlag, pp.292-302, 1989.
....and can be written by M processes. Various shared objects have been shown to have wait free implementations using only the simplest kind of atomic registers, i.e. single reader, single writer, single bit atomic registers. These include multi reader, multi writer, multi bit atomic registers [4, 7, 8, 11, 12, 14, 15, 17, 18, 19, 20, 21], multi reader, multiwriter counters [5, 6] and multi reader, multi writer composite registers [1, 2, 3, 13] A composite register is a generalization of an atomic register, consisting of a set of registers that may be written individually or read collectively in a single Work supported, in ....
J. Tromp, "How to Construct an Atomic Variable", Proceedings of the Third International Workshop on Distributed Algorithms, Lecture Notes in Computer Science 392, Springer Verlag, 1989, pp. 292-302.
....be written by one process, and can store a one bit value; the most complicated can be read or written by several processes and can store any number of bits. It has been shown in a series of papers that the most complicated atomic register can be implemented without waiting in terms of the simplest [5, 9, 10, 16, 17, 19, 20, 23, 24, 25, 26, 27, 28]. This work shows that, using only atomic registers of the simplest kind, the classical readers writers problem [13] can be solved without requiring either readers or writers to wait. In this paper, we go a step further by defining a new shared data object, called a composite register , that ....
....of each of the shared variables is as follows: Y [0] uses S(1; 4R CB B 2; 1; R) bits; Y [1: C Gamma 1] uses S(C Gamma 1; B; 1; R 1) bits; and Z[i] where 0 i R, uses S(1; 2; 1; 1) bits. Using the construction of [26] S(1; B; 1; R) O(R 2 BR) and using the construction of [27], S(1; B; 1; 1) O(B) both of these constructions are asymptotically optimal. This yields S(C; B; 1; R) O(R 2 CBR) S(C Gamma 1; B; 1; R 1) By solving this recurrence, we see that S(C; B; 1; R) O(CR 2 C 2 BR C 3 B) We compute the time complexity of our C=B=1=R ....
J. Tromp, "How to Construct an Atomic Variable," Proceedings of the Third International Workshop on Distributed Algorithms, Lecture Notes in Computer Science 392, Springer-Verlag, 1989, pp. 292-302.
....consists of an L bit variable that can be read by N processes and written by M processes. It has been shown in a series of papers that multi reader, multi writer, multi bit atomic registers can be implemented without waiting in terms of single reader, singlewriter, single bit atomic registers [6, 9, 10, 17, 18, 21, 22, 24, 26, 27, 28, 29, 30]. This work shows that, using only atomic registers of the simplest kind, it is possible to solve the classical readers writers problem without requiring either readers or writers to wait [14] Another shared data object of interest is the composite register, a data object that generalizes the ....
J. Tromp, "How to Construct an Atomic Variable," Proceedings of the Third International Workshop on Distributed Algorithms, Lecture Notes in Computer Science 392, Springer-Verlag, 1989, pp. 292-302.
....Coming from the synchronous school myself, I find it very hard to read (let al..one understand) a diachronous argument. Yet it seems clear that the two schools can learn from each other. To enable comparison I give here a synchronous treatment of an algorithm that comes with a diachronic proof, cf. [Tro89]. 2 Constructing a handshake register A handshake register is a data structure shared by two concurrent processes, called Writer and Reader, such that Writer writes a value into the data structure and that Reader reads it. It must be guaranteed that any value read by Reader was at some time ....
....used by Writer to write a new value, one register is needed to hold the value written most recently, and one register can be kept by the reading Reader. Since the handshake register must be waitfree, these roles cannot be combined. Our construction is almost identical to Tromp s construction, cf. [Tro89] (we found the algorithm more or less independently) So we use four safe registers, organized as a 2 Theta 2 array. The first boolean index is modified whenever Reader catches up with Writer. The second boolean index is modified whenever Writer completes a write action. In general, waitfreedom ....
[Article contains additional citation context not shown here]
Tromp, J.: How to construct an atomic variable. In J.-C. Bermond, M. Raynal (eds.): Distributed Algorithms, Proceedings Nice. Springer V. 1989 (LNCS 392), pp. 292--302.
No context found.
J. Tromp, "How to Construct an Atomic Variable", Proceedings of the Third International Workshop on DistributedAlgorithms , 1989, pp. 292-302.
No context found.
Tromp J: How to Construct an Atomic Variable. In Proc 3rd Int'l Workshop Distribut Algor, Lect Notes Comput Sci, Vol. 392, Springer, Berlin Heidelberg New York, 1989, pp 492--302
No context found.
Tromp, J., "How to construct an atomic variable", Proc. 3rd Int. Workshop on Distributed Algorithms, Nice, LNCS, Spring Verlag, pp.292-302, 1989.
No context found.
Tromp, J., "How to construct an atomic variable ", Proc. 3rd Int. Workshop on Distributed Algorithms, Nice, LNCS, Spring Verlag, pp.292-302, 1989.
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