Results 1 -
2 of
2
Performance Analysis for OpenMP Applications
, 1999
"... Tuning of parallel applications requires the use of effective tools for detecting performance bottlenecks. Many of the current program analysis tools provide only statistical summaries. This may hide individual situations of performance loss that occur along a parallel program execution. We believe ..."
Abstract
- Add to MetaCart
Tuning of parallel applications requires the use of effective tools for detecting performance bottlenecks. Many of the current program analysis tools provide only statistical summaries. This may hide individual situations of performance loss that occur along a parallel program execution. We believe that exhaustive and time--aware event collection at fine--grain level is essential to capture this kind of situations. This paper presents a tracing mechanism based on code interposition and a low--overhead tracing library implementation for the usual compiler-- directed code injection. It also compares both of them and evaluates the overhead introduced in the execution of the application, distinguishing by the one introduced by the tracing tools and the one introduced by system mechanisms needed for some specific performance analysis (i.e. hardware counters). Both tracing mechanisms are used to collect detailed traces that feed an analysis and visualization tool (Paraver). The whole environ...
DITools: Application--level Support for Dynamic Extension
- in Proceedings of the USENIX Annual Technical Conference
, 2000
"... Today, operating systems set--up process images from executable files using fixed rules. Programs are restricted to run in essentially the same environment at every execution. However, we believe that this behavior is not always convenient, and that many times it is interesting to make variations ..."
Abstract
- Add to MetaCart
Today, operating systems set--up process images from executable files using fixed rules. Programs are restricted to run in essentially the same environment at every execution. However, we believe that this behavior is not always convenient, and that many times it is interesting to make variations to the execution environment, either to introduce new functionality or to specialize critical services, even when their source code is not available. This problem can be mitigated through application--level extensibility and flexible composition of binary modules.

