skip to main content
10.1145/1073814.1073818acmconferencesArticle/Chapter ViewAbstractPublication PagespodcConference Proceedingsconference-collections
Article

Efficient dependency tracking for relevant events in shared-memory systems

Published:17 July 2005Publication History

ABSTRACT

In a concurrent system with N processes, vector clocks of size N are used for tracking dependencies between the events. Using vectors of size N leads to scalability problems. Moreover, association of components with processes makes vector clocks cumbersome and inefficient for systems with a dynamic number of processes. We present a class of logical clock algorithms, called chain clock, for tracking dependencies between relevant events based on generalizing a process to any chain in the computation poset. Chain clocks are generally able to track dependencies using fewer than N components and also adapt automatically to systems with dynamic number of processes. We compared the performance of Dynamic Chain Clock (DCC) with vector clock for multithreaded programs in Java. With 1% of total events being relevant events, DCC requires 10 times fewer components than vector clock and the timestamp traces are smaller by a factor of 100. Although DCC requires shared data structures, it is still 10 times faster than vector clock in our experiments.

References

  1. A. Agarwal and V. K. Garg. Chain clocks: Efficient dependency tracking for shared-memory systems. Technical report, University of Texas at Austin, 2004. Available as "http://maple.ece.utexas.edu/TechReports/2004/TR-PDS-2004-005.ps".Google ScholarGoogle Scholar
  2. S. Alagar and S. Venkatesan. Techniques to tackle state explosion in global predicate detection. IEEE Transactions on Software Engineering, 27(8):704--714, Aug. 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. K. Audenaert. Clock trees: Logical clocks for programs with nested parallelism. IEEE Transactions on Software Engineering, 23(10):646--658, October 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. O. Babaoglu and K. Marzullo. Consistent global states of distributed systems: Fundamental concepts and mechanisms. In S. Mullender, editor, Distributed Systems, pages 55--96. Addison-Wesley, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. R. Baldoni and G. Melideo. Tradeoffs in message overhead versus detection time in causality tracking. Technical Report 06-01, Dipartimento di Informatica e Sistemistica, Univ. of Rome, 2000.Google ScholarGoogle Scholar
  6. B. Charron-Bost. Concerning the size of logical clocks in distributed systems. Inf. Process. Lett., 39:11--16, July 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. R. Cooper and K. Marzullo. Consistent detection of global predicates. In Proc. of the Workshop on Parallel and Distributed Debugging, pages 163--173, Santa Cruz, CA, May 1991. ACM/ONR. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. B. A. Davey and H. A. Priestley. Introduction to Lattices and Order. Cambridge University Press, 1990.Google ScholarGoogle Scholar
  9. S. Felsner. On-line chain partitions of orders. Theoretical Computer Science, 175:283--292, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. C. J. Fidge. Timestamps in message-passing systems that preserve the partial ordering. Proc. of the 11th Australian Computer Science Conference, 10(1):56--66, Feb 1988.Google ScholarGoogle Scholar
  11. V. K. Garg and C. Skawratananond. String realizers of posets with applications to distributed computing. In 20th Annual ACM Symposium on Principles of Distributed Computing (PODC-00), pages 72 -- 80. ACM, Aug. 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. V. K. Garg and C. Skawratananond. On timestamping synchronous communications. In 22nd International Conference on Distributed Computing Systems (ICDCS' 02), pages 552--560. IEEE, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. V. K. Garg and B. Waldecker. Detection of unstable predicates. In Proc. of the Workshop on Parallel and Distributed Debugging, Santa Cruz, CA, May 1991. ACM/ONR.Google ScholarGoogle Scholar
  14. H. A. Kierstead. Recursive colorings of highly recursive graphs. Canad. J. Math, 33(6):1279--1290, 1981.Google ScholarGoogle ScholarCross RefCross Ref
  15. L. Lamport. Time, clocks, and the ordering of events in a distributed system. Commun. ACM, 21(7):558--565, July 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. K. Marzullo and L. S. Sabel. Efficient detection of a class of stable properties. Distributed Computing, 8(2):81--91, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. F. Mattern. Virtual time and global states of distributed systems. In Parallel and Distributed Algorithms: Proc. of the Int'l Workshop on Parallel and Distributed Algorithms, pages 215--226, 1989.Google ScholarGoogle Scholar
  18. K. Sen, G. Rosu, and G. Agha. Runtime safety analysis of multithreaded programs. In Proc. of the 11th ACM Symposium on the Foundations of Software Engineering 2003, Sept. 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. M. Singhal and A. Kshemkalyani. An efficient implementation of vector clocks. Information Processing Letters, 43(10):47--52, August 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. R. E. Strom and S. Yemeni. Optimistic recovery in distributed systems. ACM Transactions on Computer Systems, 3(3):204--226, 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. F. Torres-Rojas and M. Ahamad. Plausible clocks: Constant size logical clocks for distributed systems. In Proc. of 10th Int'l Workshop Distributed Algorithms, pages 71--88, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. P. A. S. Ward. A framework algorithm for dynamic, centralized dimension-bounded timestamps. In Proc. of the 2000 conference of the Centre for Advanced Studies on Collaborative research, page 14, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. D. B. West. The Art of Combinatorics Volume III: Order and Optimization. Preprint edition.Google ScholarGoogle Scholar

Index Terms

  1. Efficient dependency tracking for relevant events in shared-memory systems

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        PODC '05: Proceedings of the twenty-fourth annual ACM symposium on Principles of distributed computing
        July 2005
        364 pages
        ISBN:1581139942
        DOI:10.1145/1073814

        Copyright © 2005 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 17 July 2005

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • Article

        Acceptance Rates

        Overall Acceptance Rate740of2,477submissions,30%

        Upcoming Conference

        PODC '24

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader