Skip to main content

A Generic Distributed Monitor Construct for Programming Process Synchronization in Distributed Systems

  • Conference paper
Parallel and Distributed Processing and Applications (ISPA 2007)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4742))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Hoare, C.A.R.: Monitors: An Operating System Structuring Concept. Communications of the ACM 17(10), 549–557 (1974)

    Article  MATH  Google Scholar 

  2. Hansen, P.B.: Operating System Principles. Prentice Hall, Englewood Cliffs, NJ (1973)

    MATH  Google Scholar 

  3. Lampson, B.W., Redell, D.D.: Experiences with Processes and Monitors in Mesa. Communications of the ACM 23(2), 105–117 (1980)

    Article  Google Scholar 

  4. 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)

    Google Scholar 

  5. Beck, B.: Shared-Memory Parallel Programming in C++. IEEE Software 7(4), 38–48 (1990)

    Article  Google Scholar 

  6. 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)

    Google Scholar 

  7. Raymond, K.: A Consensus Algorithm for Distributed Semaphores. In: Proc. 12th Australian Computer Science Conf., pp. 88–97 (February 1989)

    Google Scholar 

  8. 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)

    Google Scholar 

  9. Yuan, S., Hsu, Y.: Design and Implementation of A Distributed Monitor Facility. Computer Systems – Science & Engineering 12(1), 43–51 (1997)

    Google Scholar 

  10. 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)

    Chapter  Google Scholar 

  11. 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)

    Google Scholar 

  12. 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)

    Google Scholar 

  13. Sighal, M.: A Taxonomy of Distributed Mutual Exclusion. Journal of Parallel and Distributed Computing 18, 94–101 (1993)

    Article  Google Scholar 

  14. Velazquez, M.G.: A Survey of Distributed Mutual Exclusion Algorithm. Department of Computer Science, Colorado State University, Technical Report, CS-93-116 (September 1993)

    Google Scholar 

  15. 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)

    Google Scholar 

  16. Felten, E.W., Rabinovich, M.: A centralized token-based algorithm for distributed mutual exclusion. Univ. of Washington technical report TR-92-02-02 (2002)

    Google Scholar 

  17. 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)

    Article  Google Scholar 

  18. Lamport, L.: Time, clocks, and the order of events in a distributed system. Communications of the ACM 21(7), 558–565 (1978)

    Article  MATH  Google Scholar 

  19. Maekawa, M.: A Sqrt(N) Algorithm for Mutual Exclusion in Decentralized Systems. ACM Transactions on Computer Systems 3(2), 145–159 (1985)

    Article  Google Scholar 

  20. Ricart, G., Agrawala, A.: An Optimal Algorithm for Mutual Exclusion in Computer Networks. Communications of the ACM 24(1), 9–17 (1981)

    Article  MathSciNet  Google Scholar 

  21. Sanders, B.: The Information Structure of Distributed Mutual Exclusion Algorithms. ACM Transactions on Computer Systems 5(3), 284–299 (1987)

    Article  Google Scholar 

  22. 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)

    Google Scholar 

  23. 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)

    Article  Google Scholar 

  24. Singhal, M.: A Heuristically-aided Algorithm for Mutual Exclusion in Distributed Systems. IEEE Transactions on Computers 38(5), 622–651 (1989)

    Article  Google Scholar 

  25. Singhal, M.: A Dynamic Information-Structure Mutual Exclusion Algorithm for Distributed Systems. IEEE Transactions on Parallel and Distributed Systems 3(1), 121–125 (1992)

    Article  Google Scholar 

  26. Suzuki, I., Kasami, T.: A Distributed Mutual Exclusion Algorithm. ACM Transactions on Computer Systems 3(4), 344–349 (1985)

    Article  Google Scholar 

  27. Mansfield, T.: A Decentralized Implementation of Monitors. Australian Computer Science Communications 12(1), 266–274 (1990)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Ivan Stojmenovic Ruppa K. Thulasiram Laurence T. Yang Weijia Jia Minyi Guo Rodrigo Fernandes de Mello

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics