Abstract
We model wait-free publish/subscribe using multiple-reader, single-writer atomic registers as the sole inter-process communication primitive. The system supports dynamic publishers/subscribers, content-based matching, and durable subscriptions. Publication to M subscribers requires O(M) atomic register operations by the publisher and O(1) similar operations by each subscriber. We also contribute: (a) A wait-free, constant-space, producer-consumer solution, that extends an earlier solution [1] to atomic reads/writes of finite, N -valued integers, where N is the queue size. (b) A conversion of our and earlier fixed-space queues into wait-free, variable-capacity, FIFO communication links which can increase and decrease space upon need from no traffic backlog to O(N K) backlog, while minimally consuming Ω(N) space. K is a programmable constant. (c) A proof of the correctness of our solution. We show that our system requires only boolean to N-valued, multiple-reader, single-writer registers, making it applicable in shared and distributed memories [2].
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Lamport, L.: Specifying concurrent program modules. ACM TOPLAS 5(2), 190–222 (1983)
Attiya, H.: Efficient and Robust Sharing of Memory in Message Passing Systems. J. Algorithms 34(1), 109–127 (2000)
Herlihy, H.: Wait-Free Synchronization. ACM TOPLAS 11(5), 124–149 (1991)
Herlihy, H.: A Methodology for Implementing Highly Concurrent Data Objects. ACM TOPLAS 15(5), 745–770 (1993)
Attiya, H., Lynch, N., Shavit, N.: Are Wait-Free Algorithms Fast? J. ACM 41(4), 725–763 (1994)
Banavar, G., Chandra, T., Mukherjee, B., Nagarajarao, J., Strom, R.E., Sturman, D.C.: Efficient Multicast Protocol for Content-Based Publish-Subscribe Systems. In: Proc. ICDCS 1999, pp. 262–272 (1999)
Fabret, F., Jacobsen, H.A., Llirbat, F., Pereira, J., Ross, K.A., Shasha, D.: Filtering Algorithms and Implementation for Very Fast Publish/Subscribe Systems. SIGMOD Rec. 30(2), 115–126 (2001)
Haldar, S., Vidyasankar, K.: Constructing 1-Writer Multireader Multivalued Atomic Variables from Regular Variables. J. ACM 42(1), 186–203 (1995)
Varma, P.: Compile-time analyses and run-time support for a higher order, distributed data-structures based, parallel language. University Microfilms International, Ann Arbor, Michigan (1995)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Varma, P. (2004). Wait-Free Publish/Subscribe Using Atomic Registers. In: Wyrzykowski, R., Dongarra, J., Paprzycki, M., Waśniewski, J. (eds) Parallel Processing and Applied Mathematics. PPAM 2003. Lecture Notes in Computer Science, vol 3019. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24669-5_9
Download citation
DOI: https://doi.org/10.1007/978-3-540-24669-5_9
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-21946-0
Online ISBN: 978-3-540-24669-5
eBook Packages: Springer Book Archive