Technologies for aggregation-based message synchronization

US10178041B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10178041-B2
Application numberUS-201514862854-A
CountryUS
Kind codeB2
Filing dateSep 23, 2015
Priority dateSep 23, 2015
Publication dateJan 8, 2019
Grant dateJan 8, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Technologies for aggregation-based message processing include multiple computing nodes in communication over a network. A computing node receives a message from a remote computing node, increments an event counter in response to receiving the message, determines whether an event trigger is satisfied in response to incrementing the counter, and writes a completion event to an event queue if the event trigger is satisfied. An application of the computing node monitors the event queue for the completion event. The application may be executed by a processor core of the computing node, and the other operations may be performed by a host fabric interface of the computing node. The computing node may be a target node and count one-sided messages received from an initiator node, or the computing node may be an initiator node and count acknowledgement messages received from a target node. Other embodiments are described and claimed.

First claim

Opening claim text (preview).

The invention claimed is: 1. A computing node for aggregate message processing, the computing node comprising: messaging circuitry to (i) receive a message from a remote computing node in a message buffer, (ii) increment, by a network interface controller of the computing node, an event counter of the computing node based on a size of the message in response to receipt of the message, (iii) determine, by the network interface controller, whether an event trigger is satisfied in response to an increment of the event counter, wherein to determine whether the event trigger is satisfied comprises to determine whether the event counter has a predefined relationship to a size of the message buffer, (iv), and write, by the network interface controller, a completion event to an event queue in response to a determination that the event trigger is satisfied, wherein the event queue is included in a memory of the computing node, and wherein the event queue is located at a first cache line of the memory and the event counter is located at a second cache line of the memory other than the first cache line, and wherein the memory is separate from the network interface controller; and application circuitry to monitor, by an application executed by a processor core of the computing node, the event queue in the memory for the completion event, wherein to monitor the event queue in the memory comprises to access the memory by the processor core via a coherent cache. 2. The computing node of claim 1 , further comprising: a host fabric interface, wherein the host fabric interface comprises the network interface controller; and a processor, wherein the processor comprises the processor core and the host fabric interface. 3. The computing node of claim 2 , wherein to write the completion event to the event queue comprises to process, by the host fabric interface, a triggered put message to the computing node. 4. The computing node of claim 1 , wherein to monitor the event queue comprises to poll the event queue in the memory. 5. The computing node of claim 1 , wherein the application circuitry is further to: determine, by the application, whether the completion event has been written to the event queue in response to a monitoring of the event queue; and process, by the application, a message buffer in response to a determination that the completion event has been written to the event queue, wherein the message buffer is included in the memory of the computing node. 6. The computing node of claim 1 , wherein: the computing node comprises an initiator computing node; the remote computing node comprises a target computing node; the application circuitry is further to write, by the application, an initiator message in a message buffer, wherein the message buffer is included in the memory of the computing node; the messaging circuitry is further to transmit the initiator message from the message buffer to the remote computing node; to receive the message from the remote computing node comprises to receive an acknowledgement message from the remote computing node in response to transmission of the initiator message; and to increment the event counter comprises to increment the event counter in response to receipt of the acknowledgement message. 7. The computing node of claim 6 , wherein: the application circuitry is further to write, by the application, a plurality of initiator messages in the message buffer, wherein the plurality of initiator messages includes the initiator message; and to determine whether the event trigger is satisfied comprises to compare the event counter to a count of the plurality of initiator messages. 8. The computing node of claim 1 , wherein: the computing node comprises a target computing node; the remote computing node comprises an initiator computing node; to receive the message from the remote computing node comprises to receive an initiator message in the message buffer of the computing node, wherein the message buffer is included in the memory of the computing node; and to increment the event counter comprises to increment the event counter in response to receipt of the initiator message. 9. The computing node of claim 1 , further comprising: a host fabric interface, wherein the host fabric interface comprises the messaging circuitry; wherein to determine whether the event trigger is satisfied comprises to determine whether the message buffer is full. 10. A method for aggregate message processing, the method comprising: receiving, by a computing node, a message from a remote computing node in a message buffer; incrementing, by a network interface controller of the computing node, an event counter of the computing node based on a size of the message in response to receiving the message; determining, by the network interface controller of the computing node, whether an event trigger is satisfied in response to incrementing the event counter, wherein determining whether the event trigger is satisfied comprises determining whether the event counter has a predefined relationship to a size of the message buffer; writing, by the network interface controller of the computing node, a completion event to an event queue in response to determining that the event trigger is satisfied, wherein the event queue is included in a memory of the computing node, and wherein the event queue is located at a first cache line of the memory and the event counter is located at a second cache line of the memory other than the first cache line, and wherein the memory is separate from the network interface controller; and monitoring, by an application executed by a processor core of the computing node, the event queue in the memory for the completion event, wherein monitoring the event queue in the memory comprises accessing the memory by the processor core via a coherent cache. 11. The method of claim 10 , wherein monitoring the event queue comprises polling the event queue in the memory. 12. The method of claim 10 , further comprising: determining, by the application of the computing node, whether the completion event has been written to the event queue in response to monitoring the event queue; and processing, by the application of the computing node, a message buffer in response to determining the completion event has been written to the event queue, wherein the message buffer is included in the memory of the computing node. 13. The method of claim 10 , wherein the computing node comprises an initiator computing node and the remote computing node comprises a target computing node, the method further comprising: writing, by the application of the computing node, an initiator message in a message buffer, wherein the message buffer is included in the memory of the computing node; and transmitting, by the computing node, the initiator message from the message buffer to the remote computing node; wherein receiving the message from the remote computing node comprises receiving an acknowledgement message from the remote computing node in response to transmitting the initiator message; and wherein incrementing the event counter comprises incrementing the event counter in response to receiving the acknowledgement message. 14. The method of claim 13 , further comprising: writing, by the application of the computing node, a plurality of initiator messages in the message buffer, wherein the plurality of initiator messages includes the initiator message; wherein determining whether the event trigger is satisfied comprises comparing the event counter to a count of the plurality of initiator messages. 15. Th

Assignees

Inventors

Classifications

  • in combination with information about buffer occupancy at either end or at transit nodes · CPC title

  • Flow control; Congestion control · CPC title

  • Cross-Sectional Technologies · mapped topic

  • Threshold monitoring · CPC title

  • Processing captured monitoring data, e.g. for logfile generation · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10178041B2 cover?
Technologies for aggregation-based message processing include multiple computing nodes in communication over a network. A computing node receives a message from a remote computing node, increments an event counter in response to receiving the message, determines whether an event trigger is satisfied in response to incrementing the counter, and writes a completion event to an event queue if the …
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification H04L47/62. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jan 08 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).