Patent ID: 9749266
Date: 2017-08-29
CPC Classifications: H04L

Claim:
1. A computer implemented method for coalescing messages, the method comprising: storing, in a memory, an injection descriptor, the injection descriptor corresponding to a destination node; determining, by a network interface controller (NIC), that two or more messages added to the injection descriptor are to be transmitted to the destination node, the NIC having direct memory access (DMA) to the memory; locking, by the NIC, the injection descriptor to prevent an additional message from being added to the injection descriptor; loading, by the NIC, the two or more messages; clearing, by the NIC and after loading the two or more messages, the injection descriptor; unlocking, by the NIC and after clearing the injection descriptor, the injection descriptor; determining whether the network is busy; in response to determining that the network is busy, generating, by the NIC, a network packet, the network packet including the two or more messages, and transmitting the network packet to the destination node; and in response to determining that the network is not busy, generating, by the NIC, a set of network packets, the set of network packets including a separate packet for each of the two or more messages, and transmitting, by the NIC, the set of network packets to the destination node.