Technologies for automatic processor core association management and communication using direct data placement in private caches

US10652353B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10652353-B2
Application numberUS-201514864369-A
CountryUS
Kind codeB2
Filing dateSep 24, 2015
Priority dateSep 24, 2015
Publication dateMay 12, 2020
Grant dateMay 12, 2020

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 communication with direct data placement include a number of computing nodes in communication over a network. Each computing node includes a many-core processor having an integrated host fabric interface (HFI) that maintains an association table (AT). In response to receiving a message from a remote device, the HFI determines whether the AT includes an entry associating one or more parameters of the message to a destination processor core. If so, the HFI causes a data transfer agent (DTA) of the destination core to receive the message data. The DTA may place the message data in a private cache of the destination core. Message parameters may include a destination process identifier or other network address and a virtual memory address range. The HFI may automatically update the AT based on communication operations generated by software executed by the processor cores. Other embodiments are described and claimed.

First claim

Opening claim text (preview).

The invention claimed is: 1. A computing device for data communication, the computing device comprising: a plurality of processor cores; a data transfer agent; and a host fabric interface to: receive, via a communication interface connected to a network, a first message from another computing device connected to the network; determine whether an association table that associates network addresses and virtual memory addresses with each of the processor cores includes a first entry, wherein the first entry associates one or more parameters of the first message to a destination processor core of the plurality of processor cores; cause a data transfer agent associated with the destination processor core to obtain message data of the first message in response to a determination that the association table includes the first entry; wherein the data transfer agent is to: determine whether a private cache that is accessible by the destination processor core and inaccessible by the other processor cores of the plurality of processor cores includes modified data; and write, in response to a determination that the private cache does not include modified data, the message data from the other computing device to the private cache. 2. The computing device of claim 1 , wherein to determine whether the association table includes the first entry comprises to: determine a first network address and a first virtual address range based on the first message; and search the association table for the first network address and the first virtual address range to identify the destination processor core. 3. The computing device of claim 1 , wherein the host fabric interface is further to: intercept a first communication operation, wherein the first communication operation is originated by a thread executed by the destination processor core; determine, in response to interception of the first communication operation, a first network address of the thread executed by the destination processor core and a first virtual address range of the first communication operation; and add the first entry to the association table, wherein the first entry associates the first network address and the first virtual address range to the destination processor core. 4. The computing device of claim 3 , wherein the host fabric interface is further to: determine, in response to the interception of the first communication operation, whether the association table includes a second entry that associates the first network address and the first virtual address range to a second processor core; and update the second entry to associate the first network address and the first virtual address range to the destination processor core in response to a determination that the association table includes the second entry. 5. The computing device of claim 3 , wherein the host fabric interface is further to: determine, in response to the interception of the first communication operation, whether the association table includes a second entry that associates a second network address and the first virtual address range to a processor core; and update the second entry to associate the first network address and the first virtual address range to the destination processor core in response to a determination that the association table includes the second entry. 6. The computing device of claim 1 , further comprising a processor, wherein the processor includes the plurality of processor cores and the host fabric interface. 7. The computing device of claim 1 , wherein the host fabric interface comprises the communication interface. 8. The computing device of claim 1 , wherein the destination processor core comprises the data transfer agent. 9. The computing device of claim 1 , wherein the data transfer agent is further to write, in response to a determination that the private cache does include modified data, the message data to one of a shared cache that is accessible to the plurality of cores or a system memory. 10. A method for data communication, the method comprising: receiving, by a host fabric interface of a computing device and via a communication interface connected to a network, a first message from another computing device connected to the network; determining, by the host fabric interface, whether an association table that associates network addresses and virtual memory addresses with each of a plurality of processor cores includes a first entry, wherein the first entry associates one or more parameters of the first message to a destination processor core of the plurality of processor cores of the computing device; causing, by the host fabric interface, a data transfer agent associated with the destination processor core to obtain message data of the first message in response to determining the association table includes the first entry; determining, by the data transfer agent, whether a private cache that is accessible by the destination processor core and inaccessible by the other processor cores of the plurality of processor cores includes modified data; and writing, in response to a determination that the private cache does not include modified data and by the data transfer agent, the message data from the other computing device to the private cache. 11. The method of claim 10 , wherein determining whether the association table includes the first entry comprises: determining a first network address and a first virtual address range based on the first message; and searching the association table for the first network address and the first virtual address range to identify the destination processor core. 12. The method of claim 10 , further comprising: intercepting, by the host fabric interface, a first communication operation, wherein the first communication operation is originated by a thread executed by the destination processor core; determining, by the host fabric interface in response to intercepting the first communication operation, a first network address of the thread executed by the destination processor core and a first virtual address range of the first communication operation; and adding, by the host fabric interface, the first entry to the association table, wherein the first entry associates the first network address and the first virtual address range to the destination processor core. 13. The method of claim 12 , further comprising: determining, by the host fabric interface in response to intercepting the first communication operation, whether the association table includes a second entry that associates the first network address and the first virtual address range to a second processor core; and updating, by the host fabric interface, the second entry to associate the first network address and the first virtual address range to the destination processor core in response to determining that the association table includes the second entry. 14. The method of claim 12 , further comprising: determining, by the host fabric interface in response to intercepting the first communication operation, whether the association table includes a second entry that associates a second network address and the first virtual address range to a processor core; and updating, by the host fabric interface, the second entry to associate the first network address and the first virtual address range to the destination processor core in response to determining that the association table includes the second entry. 15. One or more non-transitory computer-readable storage media comprising a plurality of instructions that in response to being executed cau

Assignees

Inventors

Classifications

  • Electricity · mapped topic

  • Direct connection machines, e.g. completely connected computers, point to point communication networks (coupling between buses G06F13/4004) · CPC title

  • Policies or rules for updating, deleting or replacing the stored data · 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 US10652353B2 cover?
Technologies for communication with direct data placement include a number of computing nodes in communication over a network. Each computing node includes a many-core processor having an integrated host fabric interface (HFI) that maintains an association table (AT). In response to receiving a message from a remote device, the HFI determines whether the AT includes an entry associating one or …
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification H04L67/2852. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue May 12 2020 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).