Patent ID: 8056090

Claim:
A method for message transfer, in a data processing system, between tasks in support of a collective operation, said method comprising: responsive to invoking at least one collective operation by tasks executing in an application layer, updating, by the tasks executing in the application layer, state information for said at least one collective operation in a control structure accessible to said tasks executing in the application layer, wherein the at least one collective operation comprises processing parceled out cooperatively among the tasks, and wherein the updating comprises: initiating, by an initiating task of the tasks executing, on a processor, in the application layer, a message passing request directly to a communication layer interface in a communication layer, the communication layer having a point-to-point, message passing communication protocol, the message passing request for passing at least one message to at least one targeted task of the tasks executing in the application layer; delivering, by said communication layer interface, said at least one message to said at least one targeted task executing in said application layer; triggering, in said application layer, execution of at least one user defined routine upon said delivering, or upon completion of sending, said at least one message, said execution triggered to asynchronously handle said at least one message; updating, by said at least one user defined routine, state information of said at least one targeted task for said at least one collective communication in said control structure upon arrival of said at least one message; and further updating, by said at least one user defined routine, state information of the initiating task for said at least one collective communication in said control structure upon completion of sending said at least one message.