×

Linearizable read/write objects. (English) Zbl 0916.68014

Summary: We study the cost of using message passing to implement linearizable read/write objects for shared-memory multiprocessors under various assumptions on the available timing information. We take as cost measures the worst-case response times for performing read and write operations in distributed implementations of virtual shared memory consisting of such objects, and the sum of these response times. It is assumed that processes have clocks that run at the same rate as real time and are within \(\delta\) of each other, for some known precision constant \(\delta \geqslant 0\). All messages incur a delay in the range \([d-u,d]\) for some known constants \(u\) and \(d\), \(0< u<d\). For the perfect clocks model, where clocks are perfectly synchronized, i.e., \(\delta=0\), and every message incurs a delay of exactly \(d\), we present a linearizable implementation which achieves worst-case response times for read and write operations of \(\beta d\) and \((1-\beta)d\), respectively; \(\beta\) is a trade-off parameter, \(0<\beta <1\), which may be tuned to account for the relative frequencies of read and write operations. This implementation is optimal with respect to the sum of the worst-case response times for read and write operations. We next turn to the approximately synchronized clocks model, where clocks are only approximately synchronized, i.e., \(\delta >0\), and message delays can vary, i.e., \(u>0\). Our first major result is the first known linearizable implementation for this model which achieves worst-case response times of less than \(\beta d+3u+\min{\delta,u}+\varepsilon\), and \((1-\beta)d+ 3u\) for read and write operations, respectively, under a mild restriction on the trade-off parameter \(\beta\), \(0<\beta <1- u/d\); \(\varepsilon\) is any arbitrary constant such that \(0<\varepsilon <\min{2u,d-u}\). This implementation employs a novel use of approximately synchronized clocks in order to utilize the lower bound on message delay time and achieve bounds on worst-case response times that depend on the message delay uncertainty \(u\). For a wide range of values of \(u\), these bounds improve upon previously known ones for implementations that supports consistency conditions even weaker than linearizability. Our next major result is a lower bound of \(d+\min{\delta,u}/2\) on the sum of the worst-case response times for read and write operations, for the approximately synchronized clocks model. This bound applies to linearizable implementations possessing some natural symmetry properties; the bound is shown using the technique of “shifting” executions. Corresponding lower bounds, but with no symmetry assumptions, are shown on the individual worst-case response times for read and write operations. Our bounds for the approximately synchronized clocks model extend naturally to the imperfect clocks model, where clocks may be arbitrarily far from each other, i.e., \(\delta =\infty\).

MSC:

68M99 Computer system organization
Full Text: DOI

References:

[1] Adve, S.; Hill, M., A unified formalization of four shared-memory models, IEEE Trans. Parallel Distrib. Systems, 4, 6, 613-624 (1993)
[2] Adve, S.; Gharachorloo, K., Shared memory consistency models: a tutorial, Computer, 29, 12, 66-76 (1996)
[3] Afek, Y.; Attiya, H.; Dolev, D.; Gafni, E.; Merritt, M.; Shavit, N., Atomic snapshots of shared memory, J. ACM, 40, 4, 873-890 (1993) · Zbl 0783.68029
[4] Afek, Y.; Brown, G.; Merritt, M., Lazy caching, ACM Trans. Programming Languages Systems, 15, 1, 182-205 (1993)
[5] Agrawal, D.; Choy, M.; Leong, H. V.; Singh, A. K., Mixed consistency: a model for parallel programming, (Proc. 13th Annu. ACM Symp. on Principles of Distributed Computing (August 1994)), 101-110 · Zbl 1374.68100
[6] Ahamad, M.; Bazzi, R.; John, R.; Kohli, P.; Neiger, G., The power of processor consistency, (Proc. 5th Annu. ACM Symp. on Parallel Algorithms and Architectures (June/July 1993)), 251-260
[7] Ahamad, M.; Burns, J.; Hutto, P.; Neiger, G., Causal memory, Distrib. Comput., 9, 37-49 (1995) · Zbl 1448.68057
[8] Ahamad, M.; Hutto, P.; John, R., Implementing and programming causal distributed shared memory, (Proc. 11th Internat. Conf. on Distributed Computing Systems (May 1991)), 274-281
[9] Alur, R.; McMillan, K.; Peled, D., Model-checking of correctness conditions for concurrent objects, (Proc. 11th Annual IEEE Symp. on Logic in Computer Science (July 1996)), 219-228
[10] Attiya, H., Implementing FIFO queues and stacks, (Toueg, S.; Spirakis, P. G.; Kirousis, L., Proc. 5th Internat. Workshop on Distributed Algorithms (WDAG’91). Proc. 5th Internat. Workshop on Distributed Algorithms (WDAG’91), Lecture Notes in Computer Science, vol. 579 (1991), Springer: Springer Berlin), 80-94
[11] Attiya, H.; Chaudhuri, S.; Friedman, R.; Welch, J. L., Shared memory consistency conditions for nonsequential execution: definitions and programming strategies, SIAM J. Comput., 27, 1, 65-89 (1998) · Zbl 0907.68003
[12] Attiya, H.; Friedman, R., A correctness condition for high-performance multiprocessors, (Proc. 24th Annu. ACM Symp. on Theory of Computing (May 1992)), 679-690
[13] Attiya, H.; Friedman, R., Programming DEC-alpha based multiprocessors the easy way, (Proc. 6th Annu. ACM Symp. on Parallel Algorithms and Architectures (June 1994)), 157-166
[14] Attiya, H.; Friedman, R., Limitations of fast consistency conditions for distributed shared memory, Inform. Process. Lett., 57, 5, 243-248 (1996) · Zbl 0875.68406
[15] Attiya, H.; Welch, J. L., (Proc. 3rd Annu. ACM Symp. on Parallel Algorithms and Architectures (July 1991)), 304-315, Preliminary version
[16] Attiya, H.; Welch, J. L., Distributed Computing: Fundamentals, Simulations and Advanced Topics (1998), McGraw-Hill: McGraw-Hill New York
[17] Bal, H.; Kaashoek, M.; Tanenbaum, A., Orca: a language for parallel programming of distributed systems, IEEE Trans. Software Eng., 18, 3, 190-205 (1992)
[18] Bernstein, P.; Hadzilacos, V.; Goodman, H., Concurrency Control and Recovery in Database Systems (1987), Addison-Wesley: Addison-Wesley Reading, MA
[19] Birman, K.; Joseph, T., Reliable communication in the presence of failures, ACM Trans. Comput. Systems, 5, 1, 47-76 (1990)
[20] Chaudhuri, S.; Gawlick, R.; Lynch, N., Designing algorithms for distributed systems using partially synchronized clocks, (Proc. 12th Annu. ACM Symp. on Principles of Distributed Computing (August 1993)), 121-132 · Zbl 1375.68195
[21] Coan, B.; Thomas, G., Agreeing on a leader in real time, (Proc. 11th IEEE Real-Time Systems Symp. (December 1990)), 166-172
[22] Eleftheriou, M.; Mavronicolas, M., Linearizability in the presence of partial synchrony and under different delay assumptions (February 1998), Department of Computer Science, University of Cyprus, Preprint
[23] Encore 91 Series Technical Summary (1991)
[24] Fekete, A.; Kaashoek, F.; Lynch, N., Providing sequentially consistent shared objects using group and point-to-point communication, J. ACM, 45, 1, 35-69 (1998) · Zbl 0903.68008
[25] Friedman, R., Implementing high-level synchronization operations in hybrid consistency, Distrib. Comput., 9, 3, 119-129 (1995) · Zbl 1448.68097
[26] Gharachorloo, K.; Gibbons, P., Detecting violations of sequential consistency, (Proc. 3rd Annu. ACM Symp. on Parallel Algorithms and Architectures (June 1991)), 316-326
[27] Gibbons, P.; Korach, E., On testing cache-coherent shared memories, (Proc. 3rd Annu. ACM Symp. on Parallel Algorithms and Architectures (June 1994)), 177-188
[28] Gibbons, P.; Merritt, M., Specifying non-blocking shared memories, (Proc. 3rd Annu. ACM Symp. on Parallel Algorithms and Architectures (July 1992)), 292-303
[29] Gibbons, P.; Merritt, M.; Gharachorloo, M., Proving sequential consistency of high-performance shared memories, (Proc. 3rd Annu. ACM Symp. on Parallel Algorithms and Architectures (June 1991)), 292-303
[30] Halpern, J.; Megiddo, N.; Munshi, A., Optimal precision in the presence of uncertainty, J. Complexity, 1, 170-196 (1985) · Zbl 0598.68033
[31] Herlihy, M., Wait-free implementations of concurrent objects, (Proc. 7th Annu. ACM Symp. on Principles of Distributed Computing (August 1988)), 276-290
[32] Herlihy, M.; Wing, J., Linearizability: a correctness condition for concurrent objects, ACM Trans. Programming Languages Systems, 12, 3, 463-492 (1990)
[33] Hutto, P.; Ahamad, M., Slow memory: weakening consistency to enhance concurrency in distributed shared memories, (Proc. 10th Internat. Conf. on Distributed Computing Systems (May 1990)), 302-311
[34] Inoue, M.; Masuzawa, T.; Tokura, N., Efficient linearizable implementation of shared FIFO queues and general objects on a distributed system, IEICE Trans. Fundamentals of Electronics, Communications, and Computer Sciences, E81A, 5, 768-775 (1998)
[35] James, J.; Singh, A. K., Fault tolerance bounds for memory consistency, (Mavronicolas, M.; Tsigas, Ph., Proc. 11th Internat. Workshop on Distributed Algorithms (WDAG-97). Proc. 11th Internat. Workshop on Distributed Algorithms (WDAG-97), Lecture Notes in Computer Science, vol. 1320 (September 1997), Springer: Springer Saarbrücken, Germany), 200-214
[36] Kopetz, H.; Ochsenreiter, W., Clock synchronization in distributed real-time systems, IEEE Trans. Computers, C-36, 8, 933-939 (1987) · Zbl 0618.68021
[37] Kosa, M. J., Making operations of concurrent data types fast, (Proc. 13th Annu. ACM Symp. on Principles of Distributed Computing (August 1994)), 32-41 · Zbl 1374.68305
[38] Lamport, L., How to make a multiprocessor computer that correctly executes multiprocess programs, IEEE Trans. Computers, C-28, 9, 690-691 (1979) · Zbl 0419.68045
[39] Lamport, L., On interprocess communication, Distrib. Comput., 1, 2, 77-101 (1986), parts I and II · Zbl 0598.68023
[40] Lamport, L., How to make a correct multiprocess program execute correctly on a Multiprocessor, DEC SRC Research Report # 96 (February 14, 1993)
[41] Lipton, R.; Sandberg, J., A scalable shared memory, (Technical Report CS-TR-180-88 (September 1988), Princeton University)
[42] Liskov, B., Practical uses of synchronized clocks in distributed systems, Distrib. Comput., 6, 211-219 (1993) · Zbl 0786.68038
[43] Luchangco, V., Precedence-based memory models, (Mavronicolas, M.; Tsigas, Ph., Proc. 11th Internat. Workshop on Distributed Algorithms (WDAG-97). Proc. 11th Internat. Workshop on Distributed Algorithms (WDAG-97), Lecture Notes in Computer Science, vol. 1320 (September 1997), Springer: Springer Saarbrücken, Germany), 215-229
[44] Lundelius, J.; Lynch, N., An upper and lower bound for clock synchronization, Inform. and Control, 62, 2/3, 190-204 (1984) · Zbl 0591.68023
[45] Lynch, N.; Tuttle, M., An introduction to input/output automata, CWI Quarterly, 2, 3, 219-246 (1989) · Zbl 0677.68067
[46] Mavronicolas, M.; Roth, D., Sequential consistency and linearizability: read/write objects, (Proc. 29th Annu. Allerton Conf. on Communication, Control and Computing (October 1991)), 683-692
[47] Mavronicolas, M.; Roth, D., Efficient strongly consistent implementations of shared Memory, (Segall, A.; Zaks, S., Proc. 6th Internat. Workshop on Distributed Algorithms (WDAG’92). Proc. 6th Internat. Workshop on Distributed Algorithms (WDAG’92), Lecture Notes in Computer Science, vol. 647 (November 1992), Springer: Springer Berlin), 346-361
[48] Misra, J., Axioms for memory access in asynchronous hardware systems, ACM Trans. Programming Languages Systems, 8, 1, 142-153 (1986) · Zbl 0593.68017
[49] Papadimitriou, C., The serializability of concurrent database updates, J. ACM, 26, 4, 631-653 (1979) · Zbl 0419.68036
[50] Pong, F.; Dubois, M., The verification of cache coherence protocols, (Proc. 5th Annu. ACM Symp. on Parallel Algorithms and Architectures (June/July 1993)), 11-20
[51] Simons, B.; Welch, J.; Lynch, N., An overview of clock synchronization, IBM Technical Report RJ 6505 (October 1988)
[52] Strong, R.; Dolev, D.; Christian, F., New latency bounds for atomic broadcast, (Proc. 11th IEEE Real-Time Systems Symp. (December 1990)), 156-165
[53] Zucker, R. N.; Baer, J.-L., A performance study of memory consistency models, (Proc. 19th ACM Internat. Symp. on Computer Architecture (May 1992)), 2-12
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. In some cases that data have been complemented/enhanced by data from zbMATH Open. This attempts to reflect the references listed in the original paper as accurately as possible without claiming completeness or a perfect matching.