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.
For more information on barriers, see
Setting Barrier Points.