Totalview® for HPC User Guide : PART II Debugging Tools and Tasks : Chapter 14 Manipulating Processes and Threads : Using Barrier Points : Barrier Point Illustration
Barrier Point Illustration
Creating a barrier point tells TotalView to hold a process when it reaches the barrier. Other processes that can reach the barrier but aren’t yet at it continue executing. One-by-one, processes reach the barrier and, when they do, TotalView holds them.
When a process is held, it ignores commands that tell it to execute. This means, for example, that you can’t tell it to go or to step. If, for some reason, you want the process to execute, you can manually release it using either the Group > Release or Process > Release Threads command.
When all processes that share a barrier reach it, TotalView changes their state from held to released, which means they no longer ignore a command that tells them to begin executing.
The following figure shows seven processes that are sharing the same barrier. (Processes that aren’t affected by the barrier aren’t shown.)
First block: All seven processes are running freely.
Second block: One process hits the barrier and is held. Six processes are executing.
Third block: Five of the processes have now hit the barrier and are being held. Two are executing.
Fourth block: All processes have hit the barrier. Because TotalView isn’t waiting for anything else to reach the barrier, it changes the processes’ states to released. Although the processes are released, none are executing.
Figure 221 – Running To Barriers
For more information on barriers, see "Setting Barrier Points".
 
RELATED TOPICS 
 
Barrier points
 
The CLI dbarrier command
dbarrier in "CLI Commands" in the TotalView for HPC Reference Guide