Patent ID: 8650582

Claim:
A method of processing data communications messages in a parallel computer with a plurality of Input/Output Control Blocks (‘IOCBs’), each IOCB characterized by a priority, the IOCBs arranged in sequential priority for serial operations, the method comprising: depositing message data in one or more IOCBs according to depositing criteria for each IOCB; processing, by a message processing module associated with an IOCB having a priority less than a present value of a state counter, the message data in the IOCB having a priority less than the present value of the state counter while a message processing module associated with an IOCB having a next priority waits; increasing, upon completion of processing the message data of the IOCB having a priority less than the present value of the state counter, the present value of the state counter to a value greater than the next priority; and processing, by the message processing module associated with the IOCB having the next priority, the message data in the IOCB having the next priority; wherein: the IOCBs comprise a message descriptor injection IOCB and a payload injection IOCB, the message descriptor injection IOCB having a priority less than the priority of the payload injection IOCB; depositing message data further comprises: depositing message descriptors in a particular order in the message descriptor IOCB until the depositing criteria for the message descriptor injection IOCB is met; and depositing message payloads in the payload injection IOCB until the depositing criteria for the payload injection IOCB is met; processing the message data in the IOCB having a priority less than the present value of the state counter further comprises: injecting, by a message descriptor injection module, the message descriptors on a network to a designated recipient in the particular order when the priority of the IOCB is less than the present value of the state counter while a payload injection module associated with the payload injection IOCB waits; increasing the present value of the state counter to a value greater than the next priority further comprises increasing by the message descriptor injection module the present value of the state counter to a value greater than the priority of the payload injection IOCB; and processing the message data in the IOCB having the next priority further comprises injecting, by the payload injection module, into the network to the designated recipient the message payloads.