Multi-writer Consistency Conditions for Shared Memory Objects
Regularity is a shared memory consistency condition that has received considerable attention, notably in connection with quorum-based shared memory. Lamport’s original definition of regularity assumed a single-writer model, however, and is not well-defined when each shared variable may have multiple writers. In this paper, we address this need by formally extending the notion of regularity to a multi-writer model. We give three possible definitions of regularity in the presence of multiple writers. We then present a quorum-based algorithm to implement each of the three definitions and prove them correct. We study the relationships between these definitions and a number of other well-known consistency conditions, and give a partial order describing the relative strengths of these consistency conditions. Finally, we provide a practical context for our results by studying the correctness of two well-known algorithms for mutual exclusion under each of our proposed consistency conditions.
KeywordsShared Memory Consistency Condition Critical Section Mutual Exclusion Read Operation
Unable to display preview. Download preview PDF.
- 1.Ahamad, M., Bazzi, R., John, R., Kohli, P., Neiger, G.: The Power of Processor Consistency. In: ACM Symposium on Parallel Algorithms and Architectures, pp. 251–260 (1993)Google Scholar
- 3.Attiya, H., Friedman, R.: A Correctness Condition for High Performance Multiprocessors. In: Proceedings of the 24th ACM Symposium on Theory of Computing, pp. 679–690 (1992)Google Scholar
- 4.Attiya, H., Welch, J.: Distributed Computing: Fundamentals, Simulations and Advanced Topics. McGraw-Hill, New York (1998)Google Scholar
- 7.Goodman, J.: Cache Consistency and Sequential Consistency. Technical Report 61, IEEE Scalable Coherent Interface Working Group (1989)Google Scholar
- 9.Higham, L., Kawash, J.: Bounds for Mutual Exclusion with Only Processor Consistency. In: Proceedings of the 14th International Symposium on Distributed Computing, pp. 44–58 (2000)Google Scholar
- 12.Lipton, R., Sandberg, J.: PRAM: A Scalable Shared Memory. Technical Report 180-88, Department of Computer Science, Princeton University (1988)Google Scholar
- 13.Lynch, N., Shvartsman, A.: RAMBO: A Reconfigurable Atomic Memory Service for Dynamic Networks. In: Proceedings of the 16th International Symposium on Distributed Computing (2002)Google Scholar
- 14.Lee, H., Welch, J.: Applications of Probabilistic Quorums to Iterative Algorithms. In: Proceedings ofthe 21st International Conference on Distributed Computing Systems, pp. 21–30 (2001)Google Scholar
- 19.Shao, C., Pierce, E., Welch, J.: Multi-Writer Consistency Conditions for Shared Memory Objects. Technical Report 2003-7-1, Department of Computer Science, Texas A&M University (July 2003)Google Scholar