Patent ID: 8270299

Claim:
A method for facilitating collective communication in a system for parallel computing, the system including one or more communicators, each of the one or more communicators comprising a plurality of processes, the method comprising: providing a memory pool including one or more early arrival buffers for storing messages; assigning one or more tokens to a specified communicator included in the one or more communicators, wherein each of the plurality of processes comprised by the specified communicator may consume any of the one or more tokens assigned to the specified communicator; performing a collective communication operation using the specified communicator, the collective communication operation comprising one or more point-to-point communication operations between a first process and a second process, the first process and the second process comprised by the specified communicator, wherein at least one of the one or more point-to-point communication operations comprises: eagerly sending a message from the first process such that sending the message is completed without acknowledgement that a recipient of the message is ready to receive the message; requesting memory allocation in the memory pool for an early arrival buffer, the early arrival buffer included in the memory pool, wherein requesting the early arrival buffer requires at least one token; receiving the memory allocation for the early arrival buffer; and receiving the message at the second process via the early arrival buffer; and decrementing a number of tokens available to the specified communicator by a number specific to the collective communication operation.