Fabric-integrated data pulling engine

US10200310B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10200310-B2
Application numberUS-201514757892-A
CountryUS
Kind codeB2
Filing dateDec 24, 2015
Priority dateDec 24, 2015
Publication dateFeb 5, 2019
Grant dateFeb 5, 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.

In an example, there is disclosed a compute node, comprising: first one or more logic elements comprising a data producer engine to produce a datum; and a host fabric interface to communicatively couple the compute node to a fabric, the host fabric interface comprising second one or more logic elements comprising a data pulling engine, the data pulling engine to: publish the datum as available; receive a pull request for the datum, the pull request comprising a node identifier for a data consumer; and send the datum to the data consumer via the fabric. There is also disclosed a method of providing a data pulling engine.

First claim

Opening claim text (preview).

What is claimed is: 1. A compute node, comprising: a processor; a memory; one or more tangible, non-transitory computer-readable mediums having stored thereon instructions to provide a data producer engine to produce a datum according to a high-performance computing (HPC) problem, and to publish the datum as available; and a host fabric interface to communicatively couple the compute node to a fabric, the host fabric interface comprising one or more logic elements for providing a data pulling engine, the data pulling engine to: provide a data pool comprising a species of data, wherein the species of data comprises a plurality of data, wherein each datum is an operator for the HPC problem, receive a pull request for a datum of the species, the request comprising a tag including a species identifier for the species and not requiring a specific datum of the species, the pull request further comprising a node identifier for a data consumer; select a datum of the species from the data pool; send the selected datum to the data consumer via the fabric; and remove the selected datum from the data pool. 2. The compute node of claim 1 , wherein the compute node is to store the selected datum in a local memory at a memory location. 3. The compute node of claim 2 , wherein the data pulling engine is further to release the memory location after sending the selected datum. 4. The compute node of claim 3 , wherein releasing the memory location comprises marking the memory location as available for reuse. 5. The compute node of claim 2 , wherein the selected datum is of a first species, and the local memory is further to receive a second datum of a second species. 6. The compute node of claim 5 , wherein the data pulling engine is to select between the datum of the first species and the second datum of the second species based at least in part on the species designation. 7. The compute node of claim 1 , wherein the data pulling engine is further to unpublish the data after sending the selected datum. 8. The compute node of claim 1 , wherein the data pulling engine is further to: send a pull request to a second data pulling engine; and receive a datum from the second data pulling engine. 9. A multichip package comprising the compute node of claim 1 , wherein the data producer engine is provided on a first chip and the data pulling engine is provided on a second chip. 10. A system-on-a-chip comprising the compute node of claim 1 , wherein the data producer engine is provided on a first subassembly and the data pulling engine is provided on a second subassembly. 11. An apparatus comprising the compute node of claim 1 , wherein the host fabric interface comprises a pluggable network card. 12. A high-performance computing system comprising a plurality of the compute node of claim 1 . 13. A host fabric interface, comprising: a network interface comprising circuitry to communicatively couple the host fabric interface to a fabric; a bus interface engine comprising circuitry to communicatively couple the fabric interface to a data producer; and a data pulling engine, the data pulling engine to: provide a data pool comprising a species of data, wherein the species of data comprises a plurality of data, wherein each datum is an operator for a high-performance computing (HPC) problem, determine that a datum according to the HPC problem is available from the data producer and is stored in a memory location of a local memory; publish the datum as available via the fabric; receive a pull request via the fabric for a datum of the species, the request comprising a tag including a species identifier for the species and not requiring a specific datum of the species, the pull request further comprising a node identifier for a data consumer; select a datum of the species from the data pool; send the selected datum to the data consumer via the fabric; and remove the selected datum from the data pool. 14. The host fabric interface of claim 13 , wherein the data producer is to store the selected datum in a local memory at a memory location. 15. The host fabric interface of claim 14 , wherein the data pulling engine is further to release the memory location after sending the selected datum. 16. The host fabric interface of claim 15 , wherein releasing the memory location comprises marking the memory location as available for reuse. 17. The host fabric interface of claim 14 , wherein the selected datum is of a first species, and the local memory is further to receive a second datum of a second species. 18. The host fabric interface of claim 17 , wherein the data pulling engine is to select between the datum of the first species and the second datum of the second species based at least in part on the species designation. 19. The host fabric interface of claim 13 , wherein the data pulling engine is further to unpublish the data after sending the selected datum. 20. The host fabric interface of claim 13 , wherein the data pulling engine is further to: send a pull request to a second data pulling engine; and receive a datum from the second data pulling engine. 21. A method of providing data, comprising: determining that a datum according to a high-performance computing (HPC) problem is available from a data producer and is stored in a memory location of a local memory; publishing the datum as available via a fabric; providing a data pool comprising a species of data, wherein the species of data comprises a plurality of data, wherein each datum is an operator for the HPC problem; receiving a pull request for a datum of the species via the fabric, the request comprising a tag including a species identifier for the species and not requiring a specific datum of the species, the pull request further comprising a node identifier for a data consumer; selecting a datum of the species from the data pool; sending the selected datum to the data consumer via the fabric; and removing the selected datum from the data pool. 22. The method of claim 21 , further comprising releasing the memory location after sending the selected datum. 23. The method of claim 22 , wherein releasing the memory location comprises marking the memory location as available for reuse. 24. The method of claim 23 , wherein the selected datum is of a first species, and the local memory is further to receive a second datum of a second species. 25. The method of claim 24 , further comprising selecting between the datum of the first species and the second datum of the second species based at least in part on the species designation. 26. The method of claim 21 , further comprising unpublishing the data after sending the selected datum.

Assignees

Inventors

Classifications

  • Distributed shared memory [DSM], e.g. remote direct memory access [RDMA] · CPC title

  • H04L49/35Primary

    Switches specially adapted for specific applications · 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 US10200310B2 cover?
In an example, there is disclosed a compute node, comprising: first one or more logic elements comprising a data producer engine to produce a datum; and a host fabric interface to communicatively couple the compute node to a fabric, the host fabric interface comprising second one or more logic elements comprising a data pulling engine, the data pulling engine to: publish the datum as available;…
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification G06F15/17331. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 05 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).