Patent ID: 8655962

Claim:
A device for communication in message passing interface applications with multiple processes running on a compute node connected to a global network of compute nodes, comprising: a shared address space on a compute node, operable to store data coming in from a network and data to be written out to the network, wherein the shared address space includes an application buffer that can be directly operated upon by a plurality of processes; and a shared counter operable to be used for performing different roles during a message collective operation of a message passing interface, the different roles comprising signaling arrival of the data across the plurality of processes running on the compute node, signaling completion of an operation performed by one or more of the plurality of processes, obtaining reservation slots by one or more of the plurality of processes, wherein the shared counter is shared by and visible to the plurality of processes, wherein the shared counter functions as completion counter during a broadcast operation wherein a process of the plurality of processes designated as a master process receives broadcast data from the global network into a buffer associated with the master process and notifies other of the plurality of processes of the received data, wherein each of the other of the plurality of processes increments the completion counter after copying the received data to a memory region associated with said each of the other of the plurality of processes, and in response to the completion counter reaching a total number of the other of the plurality of processes, the master process reuses the buffer.