Client side initiated caching control
US-2015373140-A1 · Dec 24, 2015 · US
US10652353B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10652353-B2 |
| Application number | US-201514864369-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 24, 2015 |
| Priority date | Sep 24, 2015 |
| Publication date | May 12, 2020 |
| Grant date | May 12, 2020 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.