Distributed processing system, task processing method, and storage medium
US-2018041600-A1 · Feb 8, 2018 · US
US10771584B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10771584-B2 |
| Application number | US-201715827969-A |
| Country | US |
| Kind code | B2 |
| Filing date | Nov 30, 2017 |
| Priority date | Nov 30, 2017 |
| Publication date | Sep 8, 2020 |
| Grant date | Sep 8, 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.
A method for data provisioning a serverless computing cluster. A plurality of user defined functions (UDFs) are received for execution on worker nodes of the serverless computing cluster. For a first UDF, one or more data locations of UDF data needed to execute the first UDF are determined. At a master node of the serverless computing cluster, a plurality of worker node tickets are received, each ticket indicating a resource availability of a corresponding worker node. The one or more data locations and the plurality of worker node tickets are analyzed to determine eligible worker nodes capable of executing the first UDF. The master node transmits a pre-fetch command to one or more of the eligible worker nodes, causing the eligible worker nodes to become a provisioned worker node for the first UDF by storing a pre-fetched first UDF data before the first UDF is assigned for execution.
Opening claim text (preview).
We claim: 1. A method for data provisioning, comprising: receiving, at a serverless computing cluster, a plurality of user defined functions (UDFs) for execution on one or more worker nodes of the serverless computing cluster; determining, via the serverless computing cluster, one or more data locations of a first UDF data needed for future execution of a first UDF of the plurality of UDFs; receiving, at a master node of the serverless computing cluster, a plurality of worker node tickets, each of the plurality of worker node tickets indicating a resource availability of a corresponding worker node; analyzing, via the master node, the one or more data locations and the plurality of worker node tickets to determine eligible worker nodes capable of executing the first UDF; generating, by the master node, a pre-fetch command from the one or more data locations, the pre-fetch command being an instruction for a worker node to pre-fetch UDF data and store pre-fetched UDF data; transmitting, via the master node, the pre-fetch command to one or more of the eligible worker nodes such that the one or more of the eligible worker nodes become provisioned worker nodes, wherein each of the provisioned worker nodes stores the pre-fetched UDF data before the first UDF has been assigned for execution to reduce execution latency of the serverless computing cluster; and performing UDF allocation across the provisioned worker nodes. 2. The method of claim 1 , wherein, the eligible worker nodes are idle worker nodes, the provisioned worker nodes each store the pre-fetched UDF data; and the performing of the UDF allocation includes selecting one of the provisioned worker nodes to execute the first UDF. 3. The method of claim 2 , wherein the performing of the UDF allocation includes selecting one or more remaining worker nodes from a remaining portion of the provisioned worker nodes to execute one or more additional UDFs that are each determined to require the first UDF data. 4. The method of claim 3 , wherein a number of provisioned worker nodes in the remaining portion is equal to a number of the additional UDFs determined to require the first UDF data. 5. The method of claim 1 , further comprising: determining the first UDF can be processed in parallel; and transmitting multiple pre-fetch commands to cause the provisioned worker nodes to store the pre-fetched UDF data and different pre-fetched UDF data, and wherein the performing of the UDF allocation includes selecting two or more of the provisioned worker nodes to execute the first UDF, such that a combination of the pre-fetched UDF data and the different pre-fetched UDF data stored by the two or more of the provisioned worker nodes contains all of the first UDF data. 6. The method of claim 1 , wherein each of the plurality of worker node tickets is generated by a worker node in response to a resource availability or state change at the worker node, or in response to an expiration of a pre-defined ticket refresh period that resets when the worker node generates a new worker node ticket. 7. The method of claim 1 , wherein pre-fetch commands are transmitted such that the pre-fetched UDF data is stored for multiple UDFs before any of the multiple UDFs have been assigned to a worker node for execution. 8. The method of claim 1 , wherein pre-fetch commands are transmitted such that each of the one or more worker nodes is provisioned to store the pre-fetched UDF data for at least one UDF of the plurality of UDFs. 9. The method of claim 1 , wherein the one or more data locations comprise Uniform Resource Identifiers (URIs) that point to: worker nodes of the serverless computing cluster; dedicated storage nodes of the serverless computing cluster, the dedicated storage nodes distinct from the worker nodes; and/or outside nodes external to the serverless computing cluster. 10. The method of claim 1 , further comprising: determining that each of the provisioned worker nodes are no longer eligible worker nodes capable of executing the first UDF, the determining based at least in part on worker node tickets received from the corresponding provisioned worker nodes; and analyzing the remaining worker nodes to identify a new worker node capable of receiving the first UDF data from one or more of the provisioned worker nodes and subsequently executing the first UDF, wherein the new worker node is identified based on its proximity to the provisioned worker nodes such that a transfer time of the first UDF data to the new worker node is minimized. 11. A computer-readable device having stored therein instructions which, when executed by at least one processor, cause the at least one processor to perform operations comprising: receiving, at a serverless computing cluster, a plurality of user defined functions (UDFs) for execution on one or more worker nodes of the serverless computing cluster; determining one or more data locations of a first UDF data needed for future execution of a first UDF of the plurality of UDFs; receiving, at a master node of the serverless computing cluster, a plurality of worker node tickets, each of the plurality of worker node tickets indicating a resource availability of a corresponding worker node; analyzing, via the master node, the one or more data locations and the plurality of worker node tickets to determine eligible worker nodes capable of executing the first UDF; generating, by the master node, a pre-fetch command from the one or more data locations, the pre-fetch command being an instruction for a worker node to pre-fetch UDF data and store pre-fetched UDF data; transmitting, via the master node, the pre-fetch command to one or more of the eligible worker nodes, the pre-fetch command generated from the one or more data locations such that the one or more of the eligible worker nodes become provisioned worker nodes, wherein each of the provisioned worker nodes stores the pre-fetched UDF data before the first UDF has been assigned for execution to reduce execution latency of the serverless computing cluster; and performing UDF allocation across the provisioned worker nodes. 12. The computer-readable device of claim 11 , wherein, the eligible worker nodes are idle worker nodes, the provisioned worker nodes each store the pre-fetched UDF data; and the performing of the UDF allocation includes selecting one of the provisioned worker nodes to execute the first UDF. 13. The computer-readable device of claim 11 , wherein the performing of the UDF allocation includes selecting one or more remaining worker nodes from a remaining portion of the provisioned worker nodes to execute one or more additional UDFs that are each determined to require the first UDF data. 14. The computer-readable device of claim 13 , wherein a number of provisioned worker nodes in the remaining portion is equal to a number of the additional UDFs determined to require the first UDF data. 15. The computer-readable device of claim 11 , wherein, the operations include determining the first UDF can be processed in parallel and transmitting multiple pre-fetch commands such that the provisioned worker nodes store the pre-fetched UDF data and different pre-fetched UDF data, and the performing of the UDF allocation includes selecting two or more of the provisioned worker nodes to execute the first UDF, such that a combination of the pre-fetched UDF data and the different pre-fetched UDF data stored by the selected two or more provisioned worker nodes contains all of the first UDF data. 16. The computer-readable device of claim 11 , wherein each of the
the resource being a machine, e.g. CPUs, Servers, Terminals · CPC title
Pre-fetching or pre-delivering data based on network characteristics · CPC title
Grid computing · CPC title
considering data affinity · CPC title
Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.