Receive buffer architecture method and apparatus
First Claim
1. An apparatus comprising:
- a communication chip comprising a receive buffer that stores a first data packet associated with a first context, among a plurality of contexts, and a second data packet associated with a second context, among the plurality of contexts, wherein the first and second contexts identify respective first and second processes to be performed by a compute node in association with the respective first and second data packets, and the first and second data packets are stored in the receive buffer to be delivered to the compute node for operation of the first and second processes,wherein the receive buffer includes logic that is to determine that the compute node is unavailable to perform the first process with respect to the first data packet, determine that the compute node is available to perform the second process with respect to the second data packet, and read the second data packet for delivery to the compute node while the first data packet is retained.
1 Assignment
0 Petitions
Accused Products
Abstract
Apparatus and method to facilitate delivery of data packets to compute nodes are disclosed herein. A receive buffer may store a first data packet associated with a first context, among a plurality of contexts, and a second data packet associated with a second context, among the plurality of contexts, wherein the first and second contexts identify respective first and second processes to be performed by a compute node in association with the respective first and second data packets, and wherein the receive buffer includes logic that is to determine that the compute node is unavailable to perform the first process with respect to the first data packet, determine that the compute node is available to perform the second process with respect to the second data packet, and read the second data packet for delivery to the compute node while the first data packet is retained.
-
Citations
25 Claims
-
1. An apparatus comprising:
-
a communication chip comprising a receive buffer that stores a first data packet associated with a first context, among a plurality of contexts, and a second data packet associated with a second context, among the plurality of contexts, wherein the first and second contexts identify respective first and second processes to be performed by a compute node in association with the respective first and second data packets, and the first and second data packets are stored in the receive buffer to be delivered to the compute node for operation of the first and second processes, wherein the receive buffer includes logic that is to determine that the compute node is unavailable to perform the first process with respect to the first data packet, determine that the compute node is available to perform the second process with respect to the second data packet, and read the second data packet for delivery to the compute node while the first data packet is retained. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computerized method comprising:
-
determining, by a receive buffer within a communication chip, whether a host buffer location is available to accept delivery of a first data packet associated with a first context of a plurality of contexts, wherein the first data packet is buffered in the receive buffer and the first context identifies a first process to be performed by a host compute node including the host buffer location; when the host buffer location is determined to be unavailable for the first data packet, determining, by the receiver buffer, whether a host buffer location is available to accept delivery of a second data packet associated with a second context of the plurality of contexts, wherein the second data packet is buffered in the receive buffer and the second context identifies a second process to be performed by the host compute node including the host buffer location; and when the host buffer location is determined to be available for the second data packet, retaining the first data packet in the receive buffer and reading out at least a portion of the second data packet from the receive buffer. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A system comprising:
-
a compute node in a network; and a compute node interface in communication with the compute node, the compute node interface including a receive buffer in a communication chip that stores a first data packet associated with a first context of a plurality of contexts and a second data packet associated with a second context of the plurality of contexts, wherein the first and second contexts identify respective first and second processes to be performed by the compute node in association with the respective first and second data packets, and the first and second data packets are stored in the receive buffer to be delivered to the compute node for operation of the first and second processes, and wherein, when the compute node is unavailable to perform the first process with respect to the first data packet, the receive buffer is to determine that the compute node is available to perform the second process with respect to the second data packet and transmit the second data packet to the compute node prior to transmission of the first data packet. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
-
22. An apparatus comprising:
-
means for determining a first host buffer location in a host compute node to which a first data packet associated with a first context of a plurality of contexts is to be delivered, wherein the first data packet is buffered in a receive buffer in a communications chip and the first context identifies a first process to be performed by the host compute node; when the first host buffer location is determined to be unavailable for the first data packet, means for determining whether a second host buffer location in the host compute node is available to accept delivery of a second data packet associated with a second context of the plurality of contexts, wherein the second data packet is buffered in the receive buffer and the second context identifies a second process to be performed by the host compute node; and when the second host buffer location is determined to be available for the second data packet, means for retaining the first data packet in the receive buffer and means for delivering at least a portion of the second data packet from the receive buffer. - View Dependent Claims (23, 24, 25)
-
Specification