Results 1 -
3 of
3
Supporting Scalable Performance Monitoring and Analysis of Parallel Programs
- The Journal of Supercomputing
, 1999
"... . Tools for performance monitoring and analysis become indispensable parts of programming environments for parallel computers. As the number of processors increases, the conventional techniques for monitoring the performance of parallel programs will produce large amounts of data in the form of even ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
. Tools for performance monitoring and analysis become indispensable parts of programming environments for parallel computers. As the number of processors increases, the conventional techniques for monitoring the performance of parallel programs will produce large amounts of data in the form of event trace files. On the other hand, this wealth of information is a problem for the programmer who is forced to navigate through it, and for the tools that must store and process it. What makes this situation worse is that most of the time, a large amount of the data are irrelevant to understanding the performance of an application. In this paper, we present a new approach for collecting performance data. By tracing all the events but storing only the statistics of the performance, our approach can provide accurate and useful performance information yet require far less data to be stored. In addition, this approach also supports real-time performance monitoring. Keywords: performance monitori...
Interlock Avoidance in Transparent and Dynamic Parallel Program Instrumentation Using Logical Clocks
, 1999
"... A fundamental problem with runtime monitoring of parallel programs is the intrusion introduced by instrumenting the original program. In order to minimize the amount of intrusion in monitoring parallel programs, the logical clock approach (LCA) was proposed. It uses logical clocks to time and contro ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
A fundamental problem with runtime monitoring of parallel programs is the intrusion introduced by instrumenting the original program. In order to minimize the amount of intrusion in monitoring parallel programs, the logical clock approach (LCA) was proposed. It uses logical clocks to time and control the ordering of communication events during monitoring, and to reflect the real execution behavior when running without monitoring. However, the main problem with LCA is that in the case of non-deterministic communication and when several processes wait on each other's logical clock to advance, an interlock situation may occur, where none of the processes can continue to execute. This paper presents a strategy to avoid the interlock situations, based on the concept of ready condition. How the logical clocks are updated and communications are controlled in order to maintain the ordering of events, using a relaxed communication model, will be described. Compared with the original logical clo...
Dynamically Instrumenting Message-Passing Programs Using Virtual Clocks
"... Introduction 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 ..."
Abstract
- Add to MetaCart
Introduction 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. Cai and Turner proposed a logical clock approach (LCA) to control the inter-process communication [1]. 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 wi

