Distributed computing system, and data transmission method and apparatus in distributed computing system

US11010681B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11010681-B2
Application numberUS-202016805007-A
CountryUS
Kind codeB2
Filing dateFeb 28, 2020
Priority dateAug 31, 2017
Publication dateMay 18, 2021
Grant dateMay 18, 2021

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.

A distributed computing system is provided. Both a first computing node and a second computing node in the distributed computing system store information about a name, a size, and a communication peer side identifier of a first data flow graph parameter in a data flow graph. The first computing node stores the first data flow graph parameter, where the first computing node and the second computing node generate respective triplets based on same interface parameter generation algorithms and information about the first data flow graph parameter that are stored in the respective nodes. The triplet is used as an interface parameter of a message passing interface (MPI) primitive that is used to transmit the first data flow graph parameter between the first computing node and the second computing node.

First claim

Opening claim text (preview).

What is claimed is: 1. A distributed computing system, comprising: a first computing node and a second computing node, a first graph data structure in the first computing node that stores a name, a size, and a communication peer side identifier of a first data flow graph parameter in a first data flow graph, wherein the first data flow graph parameter is a parameter carried by a connection edge of the first data flow graph, a second graph data structure in the second computing node that stores the name, the size, and a communication peer side identifier of the first data flow graph parameter in a second data flow graph, the communication peer side identifier of the first data flow graph parameter in the first data flow graph corresponds to the second computing node, and the communication peer side identifier of the first data flow graph parameter in the second data flow graph corresponds to the first computing node; wherein the first computing node is configured to generate a first triplet based on the name, the size, and the communication peer side identifier of the first data flow graph parameter in the first graph data structure according to a first interface parameter generation algorithm, wherein the first triplet comprises a message tag, a message size, and a destination process sequence number, the message tag corresponds to the name of the first data flow graph parameter, the message size corresponds to the size of the first data flow graph parameter, and the destination process sequence number corresponds to a process that is on the second computing node and that receives the first data flow graph parameter; wherein the second computing node is configured to generate a second triplet based on the name, the size, and the communication peer side identifier of the first data flow graph parameter in the second graph data structure according to a second interface parameter generation algorithm, wherein the second interface parameter generation algorithm is the same as the first interface parameter generation algorithm, the second triplet comprises the message tag, the message size, and a source process sequence number, and the source process sequence number corresponds to a process that is on the first computing node and that sends the first data flow graph parameter; wherein the first computing node is configured to invoke a message passing interface (MPI) sending primitive by using the first triplet as an interface parameter, to send the first data flow graph parameter to the second computing node; and wherein the second computing node is configured to invoke an MPI receiving primitive based on the second triplet to process the first data flow graph parameter. 2. The system according to claim 1 , wherein the first computing node is configured to read the first data flow graph parameter from a host memory in the first computing node by using the first triplet as the interface parameter and by using the MPI sending primitive to send the first data flow graph parameter to the second computing node. 3. The system according to claim 2 , wherein the first computing node further stores information about a storage device in which the first data flow graph parameter is located, the information about the storage device indicates another storage device, and the first computing node is further configured to: copy the first data flow graph parameter from the other storage device into the host memory in the first computing node, wherein the other storage device is a memory in the first computing node other than the host memory. 4. The system according to claim 1 , wherein the first interface parameter generation algorithm comprises a first algorithm, a second algorithm, and a third algorithm, and the first computing node is configured to: determine the message tag in the first triplet based on the name of the first data flow graph parameter in the first graph data structure according to the first algorithm, determine the message size in the first triplet based on the size of the first data flow graph parameter in the first graph data structure according to the second algorithm, and determine the destination process sequence number in the first triplet based on the communication peer side identifier of the first data flow graph parameter in the first graph data structure according to the third algorithm; and the second computing node is configured to: determine the message tag in the second triplet based on the name of the first data flow graph parameter in the second graph data structure according to a first algorithm in the second interface parameter generation algorithm, determine the message size in the second triplet based on the size of the first data flow graph parameter in the second graph data structure according to a second algorithm in the second interface parameter generation algorithm, and determine the source process sequence number in the second triplet based on the communication peer side identifier of the first data flow graph parameter in the second graph data structure according to a third algorithm in the second interface parameter generation algorithm. 5. The system according to claim 1 , wherein the second computing node is configured to: detect a data cache in a host memory in the second computing node by using an MPI probe primitive, and obtain the second triplet of the first data flow graph parameter, the data cache is configured to store data processed by using an MPI primitive, and invoke the MPI receiving primitive to process the first data flow graph parameter, wherein an interface parameter of the MPI receiving primitive comprises the second triplet. 6. The system according to claim 1 , wherein the receiving primitive of the first data flow graph parameter carries a destination address of the first data flow graph parameter, and the second computing node is configured to invoke the MPI receiving primitive by using the second triplet as an interface parameter of the MPI receiving primitive to store the first data flow graph parameter into the destination address from a data cache. 7. A method of data transmission in a distributed computing system comprising a first computing node and a second computing node, the method comprising: determining a name, a size, and a communication peer side identifier of a first data flow graph parameter in a first data flow graph from a first graph data structure in the first computing node, wherein the first data flow graph parameter is a parameter carried by a connection edge of the first data flow graph, and the communication peer side identifier corresponds to the second computing node; generating a first triplet based on the name, the size, and the communication peer side identifier of the first data flow graph parameter in the first graph data structure according to a first interface parameter generation algorithm, wherein the first triplet comprises a message tag, a message size, and a destination process sequence number, the message tag corresponds to the name of the first data flow graph parameter, the message size corresponds to the size of the first data flow graph parameter, and the destination process sequence number corresponds to a process that is on the second computing node and that receives the first data flow graph parameter; and invoking a message passing interface (MPI) sending primitive by using the first triplet as an interface parameter to send the first data flow graph parameter to the second computing node, so that the second computing node invokes an MPI receiving primitive by using, as an interface parameter, a second triplet corresponding to the first triplet, to process the first data flow graph parameter, wherein the second triplet is generated based on a second graph data structure in the second comput

Assignees

Inventors

Classifications

  • G06N7/01Primary

    Probabilistic graphical models, e.g. probabilistic networks · CPC title

  • G06F9/546Primary

    Message passing systems or structures, e.g. queues · CPC title

  • Task transfer initiation or dispatching · CPC title

  • Data stream processing; Continuous queries · CPC title

  • Graphs; Linked lists (G06F16/9027 takes precedence) · 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 US11010681B2 cover?
A distributed computing system is provided. Both a first computing node and a second computing node in the distributed computing system store information about a name, a size, and a communication peer side identifier of a first data flow graph parameter in a data flow graph. The first computing node stores the first data flow graph parameter, where the first computing node and the second comput…
Who is the assignee on this patent?
Huawei Tech Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06N7/01. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 18 2021 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 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).