COALESCING MESSAGES USING A NETWORK INTERFACE CONTROLLER
First Claim
Patent Images
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 one 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 one or more messages;
generating, by the NIC, a network packet, the network packet including the one or more messages; and
transmitting, by the NIC, the network packet to the destination node.
1 Assignment
0 Petitions
Accused Products
Abstract
An injection descriptor corresponding to a destination node may be stored in memory. A network interface controller (NIC) may determine that one or more messages added to the injection descriptor are to be transmitted to the destination node. The NIC may then lock the injection descriptor so that no additional message can be added to the injection descriptor, and the NIC may load the one or more messages. The NIC may then generate a network packet that includes the one or more messages, and the NIC may transmit the network packet to the destination node.
-
Citations
20 Claims
-
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 one 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 one or more messages; generating, by the NIC, a network packet, the network packet including the one or more messages; and transmitting, by the NIC, the network packet to the destination node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system for coalescing messages, the system comprising:
-
a processor; a network interface controller (NIC); a memory containing an injection descriptor and one or more modules, wherein the one or more modules, when executed, cause the processor to; generate a message to be sent to a destination node; add the message a set of memory addresses associated with the injection descriptor; determine whether the message is the only message added to the set of memory addresses associated with the injection descriptor; and add, in response to determining that the message is the only message added to the set of memory addresses, a pointer identifying the injection descriptor to an injection queue served by the NIC. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A computer program product for coalescing messages, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, wherein the computer readable storage medium is not a transitory signal per se, the program instruction executable by a processor to cause the processor to perform a method comprising:
-
generating a message to be sent to a destination node; adding the message a set of memory addresses associated with an injection descriptor; determining whether the message is the only message added to the set of memory addresses associated with the injection descriptor; and adding, in response to determining that the message is the only message added to the set of memory addresses, a pointer identifying the injection descriptor to an injection queue served by a network interface controller (NIC). - View Dependent Claims (19, 20)
-
Specification