Assigning workloads in a multi-node processing environment using feedback from each node

US11625285B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11625285-B2
Application numberUS-202016886912-A
CountryUS
Kind codeB2
Filing dateMay 29, 2020
Priority dateMay 29, 2020
Publication dateApr 11, 2023
Grant dateApr 11, 2023

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.

Techniques are provided for assigning workloads in a multi-node processing environment using resource allocation feedback from each node. One method comprises obtaining feedback from distributed nodes that process workloads, wherein the feedback for a given node indicates (i) an allocation of resources, and (ii) a number of executing workloads. In response to receiving a given workload to be processed, candidate nodes are identified to execute the given workload; and the given workload is assigned to a given candidate node based on an amount of available resources on each candidate node and/or a stability of resource adjustments made for each candidate node. The stability of the resource adjustments made for each candidate node can be evaluated based on a maximum resource adjustment made for a given candidate node relative to a maximum resource adjustment made for each of the candidate nodes.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: obtaining feedback from a plurality of distributed nodes in a distributed environment that processes a plurality of workloads, wherein each node comprises a controller and one or more processing devices and wherein the feedback for a given node indicates (i) an allocation of resources associated with the given node, and (ii) a number of workloads executing on the given node; and performing the following steps, in response to receiving a given workload to be processed: identifying one or more candidate nodes of the plurality of distributed nodes to execute the given workload; determining a total amount of available resources on each candidate node; assigning the given workload to a given one of the candidate nodes based at least in part on the determined total amount of available resources on each candidate node and a stability of resource adjustments made for each candidate node, wherein the stability of resource adjustments made for each candidate node comprises an indication of a size of one or more adjustments to the allocation of resources associated with the given node; and initiating an execution of the given workload on the given one of the candidate nodes. 2. The method of claim 1 , wherein the feedback for the given node is stored in a short-term memory that retains the feedback based at least in part on an average workload lifetime for the given node. 3. The method of claim 1 , wherein the identifying the one or more candidate nodes to execute the given workload evaluates, for each of the plurality of distributed nodes, one or more of (i) a response time, (ii) a throughput of computation, (iii) a total available memory, and (iv) whether a sufficient amount of one or more resources required by the given workload is available. 4. The method of claim 1 , wherein the controller for each node controls an assignment of resources to each workload executing on the respective node to satisfy one or more service level requirements. 5. The method of claim 1 , wherein the assigning the given workload to the given candidate node employs a respective weight for each of the amount of available resources on each candidate node and the stability of the resource adjustments made for each candidate node. 6. The method of claim 5 , wherein the assigning the given workload to the given candidate node selects the candidate node based at least in part on a sum of the weighted amount of available resources and the weighted stability of the resource adjustments. 7. The method of claim 1 , wherein the amount of available resources on each candidate node is evaluated based at least in part on the number of workloads executing on each of the candidate nodes relative to the total number of workloads executing in the distributed environment. 8. The method of claim 1 , wherein the stability of the resource adjustments made for each candidate node is evaluated based at least in part on a maximum resource adjustment made for a given candidate node relative to a maximum resource adjustment made for each of the candidate nodes. 9. The method of claim 1 , wherein the feedback further comprises an execution time for each of the plurality of workloads executing on the given node. 10. An apparatus comprising: at least one processing device comprising a processor coupled to a memory; the at least one processing device being configured to implement the following steps: obtaining feedback from a plurality of distributed nodes in a distributed environment that processes a plurality of workloads, wherein each node comprises a controller and one or more processing devices and wherein the feedback for a given node indicates (i) an allocation of resources associated with the given node, and (ii) a number of workloads executing on the given node; and performing the following steps, in response to receiving a given workload to be processed: identifying one or more candidate nodes of the plurality of distributed nodes to execute the given workload; determining a total amount of available resources on each candidate node; assigning the given workload to a given one of the candidate nodes based at least in part on the determined total amount of available resources on each candidate node and a stability of resource adjustments made for each candidate node, wherein the stability of resource adjustments made for each candidate node comprises an indication of a size of one or more adjustments to the allocation of resources associated with the given node; and initiating an execution of the given workload on the given one of the candidate nodes. 11. The apparatus of claim 10 , wherein the feedback for the given node is stored in a short-term memory that retains the feedback based at least in part on an average workload lifetime for the given node. 12. The apparatus of claim 10 , wherein the identifying the one or more candidate nodes to execute the given workload evaluates, for each of the plurality of distributed nodes, one or more of (i) a response time, (ii) a throughput of computation, (iii) a total available memory, and (iv) whether a sufficient amount of one or more resources required by the given workload is available. 13. The apparatus of claim 10 , wherein the assigning the given workload to the given candidate node employs a respective weight for each of the amount of available resources on each candidate node and the stability of the resource adjustments made for each candidate node, and wherein the assigning the given workload to the given candidate node selects the candidate node based at least in part on a sum of the weighted amount of available resources and the weighted stability of the resource adjustments. 14. The apparatus of claim 10 , wherein the stability of the resource adjustments made for each candidate node is evaluated based at least in part on a maximum resource adjustment made for a given candidate node relative to a maximum resource adjustment made for each of the candidate nodes. 15. The apparatus of claim 10 , wherein the feedback further comprises an execution time for each of the plurality of workloads executing on the given node. 16. A non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device causes the at least one processing device to perform the following steps: obtaining feedback from a plurality of distributed nodes in a distributed environment that processes a plurality of workloads, wherein each node comprises a controller and one or more processing devices and wherein the feedback for a given node indicates (i) an allocation of resources associated with the given node, and (ii) a number of workloads executing on the given node; and performing the following steps, in response to receiving a given workload to be processed: identifying one or more candidate nodes of the plurality of distributed nodes to execute the given workload; determining a total amount of available resources on each candidate node; assigning the given workload to a given one of the candidate nodes based at least in part on the determined total amount of available resources on each candidate node and a stability of resource adjustments made for each candidate node, wherein the stability of resource adjustments made for each candidate node comprises an indication of a size of one or more adjustments to the allocation of resources associated with the given node; and initiating an execution of the given workload on the given one of the candidate nodes.

Assignees

Inventors

Classifications

  • Remote procedure calls [RPC]; Web services · CPC title

  • G06F9/5083Primary

    Techniques for rebalancing the load in a distributed system · CPC title

  • G06F9/5027Primary

    the resource being a machine, e.g. CPUs, Servers, Terminals · 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 US11625285B2 cover?
Techniques are provided for assigning workloads in a multi-node processing environment using resource allocation feedback from each node. One method comprises obtaining feedback from distributed nodes that process workloads, wherein the feedback for a given node indicates (i) an allocation of resources, and (ii) a number of executing workloads. In response to receiving a given workload to be pr…
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F9/5083. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 11 2023 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).