parasight: a high-level debugger/profiler architecture for shared-memory multiprocessor
Existing debuggers and profilers are inadequate for debugging and profiling parallel programs. They are awkward in their handling of multiple threads of control and highly intrusive in their monitoring of program behavior. Parasight TM is an architecture that is geared towards non-intrusive high-level debugging and profiling. Parasight controls and observes the execution of parallel programs in terms of the set of abstractions that are being employed by the programmer. Different sets of abstractions can be implemented and applied to the same target program to extract different kinds of information. These abstractions are implemented as separate programs that are linked dynamically to the target program by Parasight. This paper describes our experience in implementing and using Parasight on the Encore Multimax, TM a shared-memory multiprocessor running UNIX TM . It has been used successfully in debugging and monitoring the performance of a computer architecture simulator, a complex parallel program.
debugging profiles architecture parallel programming program thread control monitor behavior abstraction programmer extraction informal paper experience performance computation simulation complexity shared memory multiprocessors