The merging of the TAU and DAQV-II systems described above has been implemented for performance callstack sampling. Callstack analysis and visualization tools have also been constructed. The TAU portable profiling library captures performance data in parallel C++ programs for functions, methods, basic blocks, statements, and template instatiations. The TAU performance callstack encapsulates the collected profiling data for all the functions currently in the calling stack. Access to this information at runtime can yield a wide range of useful performance information to the user.
However, accessing this data at runtime requires consideration of data consistency, synchronization, application perturbation, ease of use, and client development. DAQV-II provides an interoperability and data exchange infrastructure appropriate for program and performance monitoring. Asynchronous data access minimizes synchronization overhead and application perturbation. DAQV's simple abstraction for application interaction simplifies the development of client tools and facilitates their access to performance callstack data.
We feel that the performance callstack contains performance information that is critical to performance decisions made while an application is executing. The system we have built by merging the TAU portable profiling library with the DAQV-II interaction framework facilitates efficient and convenient access to this information by external tools.