Optimistic recovery in distributed systems
ACM Transactions on Computer Systems (TOCS)
Concerning the size of logical clocks in distributed systems
Information Processing Letters
Consistent detection of global predicates
PADD '91 Proceedings of the 1991 ACM/ONR workshop on Parallel and distributed debugging
An efficient implementation of vector clocks
Information Processing Letters
On-line chain partitions of orders
Ordal'94 Selected papers from the conference on Orders, algorithms and applications
Clock Trees: Logical Clocks for Programs with Nested Parallelism
IEEE Transactions on Software Engineering
Consistent global states of distributed systems: fundamental concepts and mechanisms
Distributed systems (2nd Ed.)
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
String realizers of posets with applications to distributed computing
Proceedings of the twentieth annual ACM symposium on Principles of distributed computing
Techniques to Tackle State Explosion in Global Predicate Detection
IEEE Transactions on Software Engineering
Plausible Clocks: Constant Size Logical Clocks for Distributed Systems
WDAG '96 Proceedings of the 10th International Workshop on Distributed Algorithms
A framework algorithm for dynamic, centralized dimension-bounded timestamps
CASCON '00 Proceedings of the 2000 conference of the Centre for Advanced Studies on Collaborative research
Timestamping Messages in Synchronous Computations
ICDCS '02 Proceedings of the 22 nd International Conference on Distributed Computing Systems (ICDCS'02)
Runtime safety analysis of multithreaded programs
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
Efficient detection of a class of stable properties
Distributed Computing
Modeling and analyzing periodic distributed computations
SSS'10 Proceedings of the 12th international conference on Stabilization, safety, and security of distributed systems
Effective race detection for event-driven programs
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Modeling, analyzing and slicing periodic distributed computations
Information and Computation
Hi-index | 0.00 |
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.