Skip to main content

On the Growth of the Prime Numbers Based Encoded Vector Clock

  • Conference paper
  • First Online:
Book cover Distributed Computing and Internet Technology (ICDCIT 2019)

Part of the book series: Lecture Notes in Computer Science ((LNISA,volume 11319))

Abstract

The vector clock is a fundamental tool for tracking causality in parallel and distributed applications. Unfortunately, it does not scale well to large systems because each process needs to maintain a vector of size n, where n is the total number of processes in the system. To address this problem, the encoded vector clock (EVC) was recently proposed. The EVC is based on the encoding of the vector clock using prime numbers and uses a single number to represent vector time. The EVC has all the properties of the vector clock and yet uses a single number to represent global time. However, the single number EVC tends to grow fast and may soon exceed the size of the traditional vector clock. In this paper, we evaluate the growth rate of the size of the EVC using a simulation model. The simulations show that the EVC grows relatively fast, and the growth rate depends on the mix of internal events and communication events. To overcome this drawback, the EVC can be used in conjunction with several scalability techniques that can allow the use of the EVC in practical applications. We then present a case study of detecting memory consistency errors in MPI one-sided applications using EVC.

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 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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

References

  1. Ahuja, M., Kshemkalyani, A.D., Carlson, T.: A basic unit of computation in distributed systems. In: 10th International Conference on Distributed Computing Systems (ICDCS 1990), 28 May–1 June 1990, Paris, France, pp. 12–19 (1990)

    Google Scholar 

  2. Charron-Bost, B.: Concerning the size of logical clocks in distributed systems. Inf. Process. Lett. 39(1), 11–16 (1991)

    Article  MathSciNet  Google Scholar 

  3. Chen, Z., Dinan, J., Tang, Z., Balaji, P., Zhong, H., Wei, J., Huang, T., Qin, F.: MC-Checker: detecting memory consistency errors in MPI one-sided applications. In: International Conference for High Performance Computing, Networking, Storage and Analysis, SC 2014, New Orleans, LA, USA, 16–21 November 2014, pp. 499–510 (2014)

    Google Scholar 

  4. Diep, T.D., Fürlinger, K., Thoai, N.: MC-CChecker: a clock-based approach to detect memory consistency errors in MPI one-sided applications. In: Proceedings of the 25th European MPI Users’ Group Meeting, EuroMPI 2018, pp. 9:1–9:11 (2018)

    Google Scholar 

  5. Fidge, C.J.: Logical time in distributed computing systems. IEEE Comput. 24(8), 28–33 (1991)

    Article  Google Scholar 

  6. Flanagan, C., Freund, S.N.: FastTrack: efficient and precise dynamic race detection. In: Proceedings of the 2009 ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2009, Dublin, Ireland, 15–21 June 2009, pp. 121–133 (2009)

    Google Scholar 

  7. Hoefler, T., Dinan, J., Thakur, R., Barrett, B., Balaji, P., Gropp, W., Underwood, K.D.: Remote memory access programming in MPI-3. TOPC 2(2), 9:1–9:26 (2015)

    Article  Google Scholar 

  8. Kshemkalyani, A.D.: A framework for viewing atomic events in distributed computations. Theor. Comput. Sci. 196(1–2), 45–70 (1998)

    Article  MathSciNet  Google Scholar 

  9. Kshemkalyani, A.D., Khokhar, A.A., Shen, M.: Encoded vector clock: using primes to characterize causality in distributed systems. In: Proceedings of the 19th International Conference on Distributed Computing and Networking, ICDCN 2018, Varanasi, India, 4–7 January 2018, pp. 12:1–12:8 (2018)

    Google Scholar 

  10. Kshemkalyani, A.D., Singhal, M.: Distributed Computing: Principles, Algorithms, and Systems. Cambridge University Press, Cambridge (2011)

    MATH  Google Scholar 

  11. Kulkarni, S.S., Demirbas, M., Madappa, D., Avva, B., Leone, M.: Logical physical clocks. In: Aguilera, M.K., Querzoni, L., Shapiro, M. (eds.) OPODIS 2014. LNCS, vol. 8878, pp. 17–32. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-14472-6_2

    Chapter  Google Scholar 

  12. Kulkarni, S.S., Vaidya, N.H.: Effectiveness of delaying timestamp computation. In: Proceedings of the ACM Symposium on Principles of Distributed Computing, PODC 2017, Washington, DC, USA, 25–27 July 2017, pp. 263–272 (2017)

    Google Scholar 

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

    Article  Google Scholar 

  14. Mattern, F.: Virtual time and global states of distributed systems. In: Proceedings of the Parallel and Distributed Algorithms Conference, pp. 215–226 (1988)

    Google Scholar 

  15. Meldal, S., Sankar, S., Vera, J.: Exploiting locality in maintaining potential causality. In: Proceedings of the Tenth Annual ACM Symposium on Principles of Distributed Computing, PODC 1991, pp. 231–239 (1991)

    Google Scholar 

  16. Pozniansky, E., Schuster, A.: MultiRace: efficient on-the-fly data race detection in multithreaded C++ programs. Concurr. Comput. Pract. Exp. 19(3), 327–340 (2007)

    Article  Google Scholar 

  17. Schwarz, R., Mattern, F.: Detecting causal relationships in distributed computations: in search of the holy grail. Distrib. Comput. 7(3), 149–174 (1994)

    Article  Google Scholar 

  18. Shen, M., Kshemkalyani, A.D., Khokhar, A.A.: Detecting unstable conjunctive locality-aware predicates in large-scale systems. In: IEEE 12th International Symposium on Parallel and Distributed Computing, ISPDC 2013, Bucharest, Romania, 27–30 June 2013, pp. 127–134 (2013)

    Google Scholar 

  19. Singhal, M., Kshemkalyani, A.D.: An efficient implementation of vector clocks. Inf. Process. Lett. 43(1), 47–52 (1992)

    Article  Google Scholar 

  20. Torres-Rojas, F.J., Ahamad, M.: Plausible clocks: constant size logical clocks for distributed systems. Distrib. Comput. 12(4), 179–195 (1999)

    Article  Google Scholar 

  21. Ward, P.A.S., Taylor, D.J.: A hierarchical cluster algorithm for dynamic, centralized timestamps. In: Proceedings of the 21st International Conference on Distributed Computing Systems (ICDCS 2001), Phoenix, Arizona, USA, 16–19 April 2001, pp. 585–593 (2001)

    Google Scholar 

  22. Yen, L., Huang, T.: Resetting vector clocks in distributed systems. J. Parallel Distrib. Comput. 43(1), 15–20 (1997)

    Article  Google Scholar 

Download references

Acknowledgements

We thank Rahul Sathe for his help with the simulations.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ajay D. Kshemkalyani .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Kshemkalyani, A.D., Voleti, B. (2019). On the Growth of the Prime Numbers Based Encoded Vector Clock. In: Fahrnberger, G., Gopinathan, S., Parida, L. (eds) Distributed Computing and Internet Technology. ICDCIT 2019. Lecture Notes in Computer Science(), vol 11319. Springer, Cham. https://doi.org/10.1007/978-3-030-05366-6_14

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-05366-6_14

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-05365-9

  • Online ISBN: 978-3-030-05366-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics