On-line debugging and performance monitoring with barriers
Esteban Novillo, P. Lu · 2002
We introduce the Stupid Barrier Tricks (SBT) library for on-line debugging and performance monitoring of shared-memory parallel programs. Single-program-multiple-data (SPMD) programs often use barriers to synchronize threads of execution and to delimit the start and end of different phases of computation. Through the novel (and simple) named barriers construct, dynamic performance warnings, and integration with lightweight performance counter libraries, SBT helps programmers localize deadlocks and performance bottlenecks in their programs. SBT is a portable library that currently supports both POSIX threads and SGI Irix sproc threads. SBT also supports both the PCL and Irix libperfex performance counter libraries. For production runs, the SBT overheads can be eliminated using conditional compilation.