Abstract
The monitor construct has been implemented in several concurrent and/or parallel programming languages for shared-memory system environments, Extensions of the monitor to support process synchronization in distributed systems have also been proposed. But, most existing work only provides the architecture design of the distributed monitor. There is no discussion about the algorithmic and implementation issues. Also, none of them consider how to implement conditional variables. In this paper, we present the design and implementation of a distributed monitor construct, named DisMoniC, for programming process synchronization in distributed systems. DisMoniC is generic in the sense that it can be used with any distributed mutual exclusion (DME) algorithm to implement exclusive access to the monitor operations. Time-efficient algorithms are proposed to implement conditional process synchronization in the distributed monitor. We also present performance evaluation of the proposed construct.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Hoare, C.A.R.: Monitors: An Operating System Structuring Concept. Communications of the ACM 17(10), 549–557 (1974)
Hansen, P.B.: Operating System Principles. Prentice Hall, Englewood Cliffs, NJ (1973)
Lampson, B.W., Redell, D.D.: Experiences with Processes and Monitors in Mesa. Communications of the ACM 23(2), 105–117 (1980)
Doeppner Jr., T.W., Gebele, A.J.: C++ on a Parallel Machine. Department of Computer Science, Brown University, Technical Report, CS-87-26 (November 1987)
Beck, B.: Shared-Memory Parallel Programming in C++. IEEE Software 7(4), 38–48 (1990)
Schneider, F.B.: Ensuring Consistency in a Distributed Database System by Use of Distributed Semaphores. In: Delobel, C., et al. (eds.) Distributed Data Bases, pp. 183–189. North-Holland, Amsterdam (1980)
Raymond, K.: A Consensus Algorithm for Distributed Semaphores. In: Proc. 12th Australian Computer Science Conf., pp. 88–97 (February 1989)
Maddi, A., Raynal, M.: Implementing Semaphore on a Distributed memory Parallel Machine. In: Evans, D.J., et al. (eds.) Parallel Computing 1991, pp. 407–412. Elsevier Science, Amsterdam (1992)
Yuan, S., Hsu, Y.: Design and Implementation of A Distributed Monitor Facility. Computer Systems – Science & Engineering 12(1), 43–51 (1997)
Chiao, H.-T., Wu, C.-H., Yuan, S.-M.: A More Expressive Monitor for Concurrent Java Programming. In: Bode, A., Ludwig, T., Karl, W.C., Wismüller, R. (eds.) Euro-Par 2000. LNCS, vol. 1900, Springer, Heidelberg (2000)
Greco, C.F.: A Simple Shared Data Space for Web-based Distributed Collaborative Applications. Department of Computer Science, Duke University, A Thesis submitted for the degree of Master of Science (1997)
Malkhi, D., Reiter, M.K.: Secure and Scalable Replication in Phalanx. In: Proceedings of the 17th IEEE Symposium on Reliable Distributed Systems, pp. 51–58. IEEE Computer Society Press, Los Alamitos (October 1998)
Sighal, M.: A Taxonomy of Distributed Mutual Exclusion. Journal of Parallel and Distributed Computing 18, 94–101 (1993)
Velazquez, M.G.: A Survey of Distributed Mutual Exclusion Algorithm. Department of Computer Science, Colorado State University, Technical Report, CS-93-116 (September 1993)
Benchaïba, M., Bouabdallah, A., Badache, N., Ahmed-Nacer, M.: Distributed Mutual Exclusion Algorithms in Mobile Ad Hoc Networks: an Overview. ACM SIGOPS Operating Systems Review 38(1) (2004)
Felten, E.W., Rabinovich, M.: A centralized token-based algorithm for distributed mutual exclusion. Univ. of Washington technical report TR-92-02-02 (2002)
Agrawal, D., El Abbadi, A.: An Efficient and Fault-tolerant Solution for Distributed Mutual Exclusion. ACM Transactions on Computer Systems 9(1), 1–20 (1991)
Lamport, L.: Time, clocks, and the order of events in a distributed system. Communications of the ACM 21(7), 558–565 (1978)
Maekawa, M.: A Sqrt(N) Algorithm for Mutual Exclusion in Decentralized Systems. ACM Transactions on Computer Systems 3(2), 145–159 (1985)
Ricart, G., Agrawala, A.: An Optimal Algorithm for Mutual Exclusion in Computer Networks. Communications of the ACM 24(1), 9–17 (1981)
Sanders, B.: The Information Structure of Distributed Mutual Exclusion Algorithms. ACM Transactions on Computer Systems 5(3), 284–299 (1987)
Mizuno, M., Neilsen, M.L., Rao, R.: A Token based distributed mutual exclusion algorithm based on Quorum Agreements. In: 11th Intl. Conference on Distributed Computing Systems, pp. 361–368 (May 1991)
Naimi, M., Trehel, M., Arnold, A.: A log(n) distributed mutual exclusion algorithm based on path reversal. Journal of Parallel and Distributed Computing 34, 1–13 (1996)
Singhal, M.: A Heuristically-aided Algorithm for Mutual Exclusion in Distributed Systems. IEEE Transactions on Computers 38(5), 622–651 (1989)
Singhal, M.: A Dynamic Information-Structure Mutual Exclusion Algorithm for Distributed Systems. IEEE Transactions on Parallel and Distributed Systems 3(1), 121–125 (1992)
Suzuki, I., Kasami, T.: A Distributed Mutual Exclusion Algorithm. ACM Transactions on Computer Systems 3(4), 344–349 (1985)
Mansfield, T.: A Decentralized Implementation of Monitors. Australian Computer Science Communications 12(1), 266–274 (1990)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Cao, J., Wang, M., Wu, W., Wang, X., Chan, S.C.F. (2007). A Generic Distributed Monitor Construct for Programming Process Synchronization in Distributed Systems. In: Stojmenovic, I., Thulasiram, R.K., Yang, L.T., Jia, W., Guo, M., de Mello, R.F. (eds) Parallel and Distributed Processing and Applications. ISPA 2007. Lecture Notes in Computer Science, vol 4742. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-74742-0_62
Download citation
DOI: https://doi.org/10.1007/978-3-540-74742-0_62
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-74741-3
Online ISBN: 978-3-540-74742-0
eBook Packages: Computer ScienceComputer Science (R0)