Previous: , Up: Communication statements   [Contents][Index]


4.4.7 Synchronizing

coNCePTuaL enables sets of tasks to perform barrier synchronization. The semantics are that no task can finish synchronizing until all tasks have started synchronizing. The syntax is as follows:

<sync_stmt> ::= <source_task>
SYNCHRONIZES

A <sync_stmt> can be used to ensure that one set of statements has completed before beginning another set. For example, a coNCePTuaL program might have a set of tasks post a series of asynchronous receives (see Receiving), then make ‘ALL TASKS SYNCHRONIZE’ before having another set of tasks perform the corresponding UNSUSPECTING sends (see Sending). This procedure ensures that all of the target tasks are ready to receive before the source tasks start sending to them.

Scott Pakin, pakin@lanl.gov