Title :
Dynamically instrumenting message-passing programs using virtual clocks
Author :
Zhang, Kang ; Sun, Chengzheng ; Li, Kei-Chun
Author_Institution :
Dept. of Comput., Macquarie Univ., North Ryde, NSW, Australia
Abstract :
Analysing and visualising the run time behaviour of a distributed program requires collecting performance data during its execution. This is usually done through program instrumentation that inserts trace recording instructions into the program. The intrusiveness of inserted extra code to the original program may make the existing errors vanish, or can cause new errors to appear. It will not only change the real time execution speed, but also change the probability of making particular non deterministic choices. W. Cai and S.J. Turner (1994) proposed a logical clock approach (LCA) to control the inter process communication. It uses a logical clock in each process to reflect the real time execution of the process when running without monitoring. Not relying on any special hardware, this approach achieves minimum intrusiveness and makes the monitoring effect on the original program completely independent from the amount of time spent on monitoring activities. A main problem with LCA is that in an event of non deterministic communication and when several processes wait on each other´s logical clock to advance, a deadlock may occur. LCA uses a carrier null message algorithm to break the deadlock situation. But sending an extra null message will distort the event timing information. Therefore, LCA is only suitable for debugging rather than for performance tuning. We present a major improvement to LCA, which preserves the timing information without introducing any deadlock. Our improved approach can support both debugging and performance tuning. We call our clocks virtual clocks to avoid confusion
Keywords :
concurrency control; message passing; program debugging; program diagnostics; real-time systems; software performance evaluation; carrier null message algorithm; deadlock; debugging; distributed program; event timing information; inter process communication; logical clock approach; message passing programs; non deterministic choices; non deterministic communication; performance tuning; program instrumentation; real time execution; real time execution speed; run time behaviour; trace recording instructions; virtual clocks; Clocks; Communication system control; Data visualization; Debugging; Instruments; Monitoring; Performance analysis; Process control; System recovery; Timing;
Conference_Titel :
High Performance Distributed Computing, 1998. Proceedings. The Seventh International Symposium on
Conference_Location :
Chicago, IL
Print_ISBN :
0-8186-8579-4
DOI :
10.1109/HPDC.1998.710020