Global events and global breakpoints in distributed systems
Proceedings of the Twenty-First Annual Hawaii International Conference on Software Track
Partial orders for parallel debugging
PADD '88 Proceedings of the 1988 ACM SIGPLAN and SIGOPS workshop on Parallel and distributed debugging
On-the-fly detection of access anomalies
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
An empirical comparison of monitoring algorithms for access anomaly detection
PPOPP '90 Proceedings of the second ACM SIGPLAN symposium on Principles & practice of parallel programming
Logical Time in Distributed Computing Systems
Computer - Distributed computing systems: separate resources acting as one
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
On-the-fly detection of data races for programs with nested fork-join parallelism
Proceedings of the 1991 ACM/IEEE conference on Supercomputing
An efficient implementation of vector clocks
Information Processing Letters
Optimal tracing and replay for debugging message-passing parallel programs
Proceedings of the 1992 ACM/IEEE conference on Supercomputing
Causal controversy at Le Mont St.-Michel
ACM SIGOPS Operating Systems Review
The process group approach to reliable distributed computing
Communications of the ACM
On-the-fly detection of access anomalies in nested parallel loops
PADD '93 Proceedings of the 1993 ACM/ONR workshop on Parallel and distributed debugging
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
IEEE Transactions on Software Engineering
Minimizing the Log Size for Execution Replay of Shared-Memory Programs
CONPAR 94 - VAPP VI Proceedings of the Third Joint International Conference on Vector and Parallel Processing: Parallel Processing
Execution Replay with Compact Logs for Shared-Memory Programs
Proceedings of the IFIP WG10.3 Working Conference on Applications in Parallel and Distributed Computing
Space efficient data race detection for parallel programs with series-parallel task graphs
PDP '95 Proceedings of the 3rd Euromicro Workshop on Parallel and Distributed Processing
Detecting causal relationships in distributed computations: in search of the holy grail
Distributed Computing
A Practical Method for On-the-Fly Data Race Detection
PARA '02 Proceedings of the 6th International Conference on Applied Parallel Computing Advanced Scientific Computing
On Implementation of Logical Time in Distributed Systems Operating over a Wireless IP Network
ICN '01 Proceedings of the First International Conference on Networking-Part 1
Towards an Algorithmic Debugging for Distributed Programs
APSEC '99 Proceedings of the Sixth Asia Pacific Software Engineering Conference
Efficient dependency tracking for relevant events in shared-memory systems
Proceedings of the twenty-fourth annual ACM symposium on Principles of distributed computing
Efficient dependency tracking for relevant events in concurrent systems
Distributed Computing
Hi-index | 0.00 |
A vector clock is a valuable tool for maintaining run-time concurrency information in parallel programs. In this paper a new method is presented for modifying vector clocks to make them suitable for programs with nested fork-join parallelism (having a variable number of tasks). The resulting kind of clock is called a clock tree, due to its tree structure. The clock tree method compares favorably with other timestamping methods for variable parallelism: task identifier reuse and task recycling. The worst case space requirements of clock trees equals the best case for the latter two methods, and the average size of a clock tree is much smaller than the size of a vector with task recycling. Furthermore, the algorithm for maintaining clock trees does not require a shared data structure and thus avoids the serialization bottleneck that task recycling suffers from.