Patent ID: 8065681

Claim:
A method with a parallel processing system for performing synchronization operations between participants of a program, each participant including at least one of a set of processes and a set of threads, and including a first local vector and a second local vector that are local to the respective participant, the method comprising: updating, by each participant in a first subset of participants of a program, a portion of a first local vector that is local to, and that indicates an arrival status at a synchronization barrier by, the respective each participant of the first subset, wherein the first local vector is within a private address space of the respective each participant; updating, by each participant in a second subset of participants of the program, a portion of a second local vector that is local to, and that indicates an arrival status at the synchronization barrier by, the respective each participant of the second subset, wherein the second local vector is within the private address space of the respective each participant; determining, by the participants in the second subset of participants, that all of the participants in the first subset of participants have reached the synchronization barrier; and exiting the synchronization barrier, by the participants in the second subset of participants, in response to the determining that all of the participants in the first subset of participants have reached the synchronization barrier, wherein the participants in the first subset of participants remain at the synchronization barrier after the participants in the second subset of participants exit the synchronization barrier until the participants in the second subset of participants return to the synchronization barrier.