ACM Home Page
Please provide us with feedback. Feedback
Efficient dependency tracking for relevant events in shared-memory systems
Full text PdfPdf (224 KB)
Source Annual ACM Symposium on Principles of Distributed Computing archive
Proceedings of the twenty-fourth annual ACM symposium on Principles of distributed computing table of contents
Las Vegas, NV, USA
SESSION: Verification and security table of contents
Pages: 19 - 28  
Year of Publication: 2005
ISBN:1-59593-994-2
Authors
Anurag Agarwal  University of Texas at Austin, Austin, TX
Vijay K. Garg  University of Texas at Austin, Austin, TX
Sponsors
SIGOPS: ACM Special Interest Group on Operating Systems
ACM: Association for Computing Machinery
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 0,   Downloads (12 Months): 51,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
Save this Article to a Binder    Display Formats: BibTex  EndNote ACM Ref   
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1073814.1073818
What is a DOI?

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

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked 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".
 
2
 
3
 
4
 
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.
 
6
7
 
8
B. A. Davey and H. A. Priestley. Introduction to Lattices and Order. Cambridge University Press, 1990.
 
9
 
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.
11
 
12
 
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.
 
14
H. A. Kierstead. Recursive colorings of highly recursive graphs. Canad. J. Math, 33(6):1279--1290, 1981.
15
 
16
 
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.
18
 
19
20
 
21
 
22
 
23
D. B. West. The Art of Combinatorics Volume III: Order and Optimization. Preprint edition.

Collaborative Colleagues:
Anurag Agarwal: colleagues
Vijay K. Garg: colleagues