MLchartDataset catalogue

Patent · US10461774B2 · B2 · US

Technologies for assigning workloads based on resource utilization phases

(11) Publication number
US10461774B2
(21) Application number
15/395,273
(22) Filing date
2016-12-30
(30) Priority date
2016-07-22
(43) Publication date
2019-10-29
(45) Date of grant
2019-10-29
(51) IPC
B25J 15/00; B65G 1/04; G02B 6/38; G02B 6/42; G02B 6/44; G05D 23/19; G05D 23/20; G06F 1/18; G06F 11/14; G06F 11/34; G06F 12/0862; G06F 12/0893; G06F 12/10; G06F 12/109; G06F 12/14; G06F 13/16; G06F 13/40; G06F 13/42; G06F 15/80; G06F 16/901; G06F 3/06; G06F 8/65; G06F 9/4401; G06F 9/46; G06F 9/50; G06Q 10/00; G06Q 10/06; G06Q 10/08; G06Q 50/04; G07C 5/00; G08C 17/02; G11C 11/56; G11C 14/00; G11C 5/02; G11C 5/06; G11C 7/10; H03M 7/30; H03M 7/40; H04B 10/25; H04L 12/24; H04L 12/26; H04L 12/28; H04L 12/751; H04L 12/781; H04L 12/811; H04L 12/851; H04L 12/911; H04L 12/919; H04L 12/927; H04L 12/931; H04L 12/933; H04L 12/939; H04L 12/947; H04L 29/06; H04L 29/08; H04L 29/12; H04L 9/06; H04L 9/14; H04L 9/32; H04Q 1/04; H04Q 11/00; H04W 4/02; H04W 4/80; H05K 1/02; H05K 1/18; H05K 13/04; H05K 5/02; H05K 7/14; H05K 7/20
(52) CPC
  • G06F Electric digital data processing: 3/061, 1/183, 1/20, 11/141, 11/3414, 12/0862, 12/0893, 12/10, 12/109, 12/1408, 13/161, 13/1668, 13/1694, 13/385, 13/4022, 13/4068, 13/409, 13/42, 13/4282, 15/161, 15/8061, 16/1748, 16/9014, 2209/483, 2209/5019, 2209/5022, 2212/1008, 2212/1024, 2212/1041, 2212/1044, 2212/152, 2212/202, 2212/401, 2212/402, 2212/7207, 3/0611, 3/0613, 3/0616, 3/0619, 3/0625, 3/0631, 3/0638, 3/064, 3/0647, 3/065, 3/0653, 3/0655, 3/0658, 3/0659, 3/0664, 3/0665, 3/067, 3/0673, 3/0679, 3/0683, 3/0688, 3/0689, 8/65, 9/30036, 9/3887, 9/4401, 9/4881, 9/5016, 9/5027, 9/5044, 9/505, 9/5072, 9/5077, 9/544
  • B25J Manipulators; chambers provided with manipulation devices: 15/0014
  • B65G Transport or storage devices, e.g. conveyors for loading or tipping, shop conveyor systems or pneumatic tube conveyors: 1/0492
  • G02B Optical elements, systems or apparatus: 6/3882, 6/3893, 6/3897, 6/4292, 6/4452
  • G05D Systems for controlling or regulating non-electric variables: 23/1921, 23/2039
  • G06Q Information and communication technology [ICT] specially adapted for administrative, commercial, financial, managerial or supervisory purposes; systems or methods specially adapted for administrative, commercial, financial, managerial or supervisory purposes, not otherwise provided for: 10/06, 10/06314, 10/087, 10/20, 50/04
  • G07C Time or attendance registers; registering or indicating the working of machines; generating random numbers; voting or lottery apparatus; arrangements, systems or apparatus for checking not provided for elsewhere: 5/008
  • G08C Transmission systems for measured values, control or similar signals: 17/02, 2200/00
  • G11C Static stores: 11/56, 14/0009, 5/02, 5/06, 7/1072
  • H03M Coding; decoding; code conversion in general: 7/30, 7/3084, 7/3086, 7/40, 7/4031, 7/4056, 7/4081, 7/6005, 7/6023
  • H04B Transmission: 10/25, 10/2504, 10/25891
  • H04J Multiplex communication: 14/00
  • H04L Transmission of digital information, e.g. telegraphic communication: 12/2809, 29/12009, 41/024, 41/046, 41/0813, 41/082, 41/0896, 41/12, 41/145, 41/147, 41/149, 41/40, 41/5019, 43/065, 43/08, 43/0817, 43/0876, 43/0894, 43/16, 45/02, 45/52, 47/24, 47/38, 47/765, 47/782, 47/805, 47/82, 47/823, 47/83, 49/00, 49/15, 49/25, 49/35, 49/357, 49/45, 49/555, 61/00, 67/02, 67/10, 67/1004, 67/1008, 67/1012, 67/1014, 67/1029, 67/1034, 67/1097, 67/12, 67/16, 67/306, 67/34, 67/51, 69/04, 69/18, 69/329, 9/0643, 9/14, 9/3247, 9/3263
  • H04Q Selecting: 1/04, 1/09, 11/00, 11/0003, 11/0005, 11/0062, 11/0071, 2011/0037, 2011/0041, 2011/0052, 2011/0073, 2011/0079, 2011/0086, 2213/13523, 2213/13527
  • H04W Wireless communication networks: 4/023, 4/80
  • H05K Printed circuits; casings or constructional details of electric apparatus; manufacture of assemblages of electrical components: 1/0203, 1/181, 13/0486, 2201/066, 2201/10121, 2201/10159, 2201/10189, 5/0204, 7/1418, 7/1421, 7/1422, 7/1442, 7/1447, 7/1461, 7/1485, 7/1487, 7/1489, 7/1491, 7/1492, 7/1498, 7/2039, 7/20709, 7/20727, 7/20736, 7/20745, 7/20836
  • Y02D Climate change mitigation technologies in information and communication technologies [ICT], i.e. information and communication technologies aiming at the reduction of their own energy use: 10/00, 10/14, 10/151
  • Y02P Climate change mitigation technologies in the production or processing of goods: 90/30
  • Y04S Systems integrating technologies related to power network operation, communication or information technologies for improving the electrical power generation, transmission, distribution, management or usage, i.e. smart grids: 10/50, 10/52
  • Y10S Technical subjects covered by former uspc cross-reference art collections [xracs] and digests: 901/01, 901/30
(73) Assignee
Intel Corp
(72) Inventors
Susanne M. Balle; Rahul Khanna; Nishi Ahuja; Mrittika Ganguli
(54) Title
Technologies for assigning workloads based on resource utilization phases
(57) Abstract

Technologies for assigning workloads based on resource utilization phases include an orchestrator server to assign a set of workloads to the managed nodes. The orchestrator server is also to receive telemetry data from the managed nodes and identify, as a function of the telemetry data, historical resource utilization phases of the workloads. Further, the orchestrator server is to determine, as a function of the historical resource utilization phases and as the workloads are performed, predicted resource utilization phases for the workloads, and apply, as a function of the predicted resources utilization phases, adjustments to the assignments of the workloads among the managed nodes as the workloads are performed.

Full text
View on Google Patents

Claims (26)

  1. An orchestrator server to assign workloads among a set of managed nodes based on resource utilization phases, the orchestrator server comprising: one or more processors; one or more memory devices having stored therein a plurality of instructions that, when executed by the one or more processors, cause the orchestrator server to: assign a set of workloads to the managed nodes; receive telemetry data from the managed nodes, wherein the telemetry data is indicative of resource utilization by each of the managed nodes as the workloads are performed and wherein each managed node includes a set of sleds that define pools of different types of disaggregated resources; identify, as a function of the telemetry data, historical resource utilization phases of the workloads, wherein each historical resource utilization phase is indicative of a utilization of a particular type of managed node component that satisfies a predefined threshold amount over a time period; determine, as a function of the historical resource utilization phases and as the workloads are performed, predicted resource utilization phases for the workloads, wherein each predicted resource utilization phase is indicative of a predicted utilization of a particular type of managed node component that satisfies the predefined threshold amount over a second time period; and apply, as a function of the predicted resources utilization phases, an adjustment to the assignments of the workloads among the managed nodes to delay an execution of a first workload to temporally align a first predicted resource utilization phase of the first workload with a second predicted resource utilization phase of a second workload on the same managed node to cause the first predicted resource utilization phase and the second predicted resource utilization phase to occur concurrently and wherein the first predicted resource utilization phase and the second resource utilization phase are predicted to utilize complementary amounts of the same resource.
  2. The orchestrator server of claim 1, wherein to identify a historical resource utilization phase comprises to determine that the historical resource utilization phase is one of processor intensive, memory intensive, or network bandwidth intensive.
  3. The orchestrator server of claim 1, wherein to determine a predicted resource utilization phase comprises to determine that the predicted resource utilization phase is one of processor intensive, memory intensive, or network bandwidth intensive.
  4. The orchestrator server of claim 1, wherein to apply an adjustment to the assignments of the workloads comprises to assign one of the workloads with a first type of predicted resource utilization phase and a second one of the workloads with a second type of predicted resource utilization phase to the same managed node for execution during the second time period.
  5. The orchestrator server of claim 1, wherein to determine a historical resource utilization phase comprises to: determine whether a utilization of the particular managed node component during the time period is greater than an average utilization of the particular managed node component; and determine, in response to a determination that the utilization is greater than the average utilization, that the historical resource utilization phase is indicative of a utilization of the managed node component that satisfies the predefined threshold amount.
  6. The orchestrator server of claim 1, wherein to determine a historical resource utilization phase comprises to: determine whether a utilization of the particular managed node component during the time period is greater than a predefined amount of available capacity of the particular managed node component; and determine, in response to a determination that the utilization is greater than the predefined amount of available capacity, that the historical resource utilization phase is indicative of a utilization of the particular managed node component that satisfies the predefined threshold amount.
  7. The orchestrator server of claim 1, wherein to identify historical resource utilization phases of the workloads comprises to identify patterns of historical resource utilization phases for one or more of the workloads.
  8. The orchestrator server of claim 1, wherein the plurality of instructions, when executed, further cause the orchestrator server to: determine a probability that the predicted resource utilization of a first workload will occur during the second time period; compare the determined probability to a predefined probability threshold; add, in response to a determination that the probability satisfies the predefined probability threshold, the first workload to a set of workloads to be temporally aligned; and wherein to adjust the assignments of the workloads comprises to adjust the assignments of workloads in the set of workloads to be temporally aligned.
  9. The orchestrator server of claim 1, wherein to identify a historical resource utilization phase comprises to determine a phase residency indicative of the length of the time period in which the utilization of the particular type of managed node component satisfies the predefined threshold amount.
  10. The orchestrator server of claim 1, wherein to apply an adjustment to the assignments of the workloads among the managed nodes comprises to issue a request to perform a live migration of a workload from a first managed node to a second managed node.
  11. The orchestrator server of claim 1, wherein to apply an adjustment to the assignments of the workloads among the managed nodes comprises to assign a first workload with a predicted high processor utilization and a second workload with a predicted low processor utilization to the same managed node for execution during the second time period.
  12. The orchestrator server of claim 1, wherein to cause the first predicted resource utilization phase and the second predicted resource utilization phase to occur concurrently comprises to cause a total concurrent utilization of the same resource by the first resource utilization phase and the second resource utilization phase to satisfy a reference amount of resource utilization defined in policy data.
  13. One or more non-transitory machine-readable storage media comprising a plurality of instructions stored thereon that, in response to being executed, cause an orchestrator server to: assign a set of workloads to the managed nodes; receive telemetry data from the managed nodes, wherein the telemetry data is indicative of resource utilization by each of the managed nodes as the workloads are performed and wherein each managed node includes a set of sleds that define pools of different types of disaggregated resources; identify, as a function of the telemetry data, historical resource utilization phases of the workloads, wherein each historical resource utilization phase is indicative of a utilization of a particular type of managed node component that satisfies a predefined threshold amount over a time period; determine, as a function of the historical resource utilization phases and as the workloads are performed, predicted resource utilization phases for the workloads, wherein each predicted resource utilization phase is indicative of a predicted utilization of a particular type of managed node component that satisfies the predefined threshold amount over a second time period; and apply, as a function of the predicted resources utilization phases, an adjustment to the assignments of the workloads among the managed nodes to delay an execution of a first workload to temporally align a first predicted resource utilization phase of the first workload with a second predicted resource utilization phase of a second workload on the same managed node to cause the first predicted resource utilization phase and the second predicted resource utilization phase to occur concurrently and wherein the first predicted resource utilization phase and the second resource utilization phase are predicted to utilize complementary amounts of the same resource.
  14. The one or more non-transitory machine-readable storage media of claim 13, wherein to identify a historical resource utilization phase comprises to determine that the historical resource utilization phase is one of processor intensive, memory intensive, or network bandwidth intensive.
  15. The one or more non-transitory machine-readable storage media of claim 13, wherein to determine a predicted resource utilization phase comprises to determine that the predicted resource utilization phase is one of processor intensive, memory intensive, or network bandwidth intensive.
  16. The one or more non-transitory machine-readable storage media of claim 13, wherein to apply an adjustment to the assignments of the workloads comprises to assign one of the workloads with a first type of predicted resource utilization phase and a second one of the workloads with a second type of predicted resource utilization phase to the same managed node for execution during the second time period.
  17. The one or more non-transitory machine-readable storage media of claim 13, wherein to determine a historical resource utilization phase comprises to: determine whether a utilization of the particular managed node component during the time period is greater than an average utilization of the particular managed node component; and determine, in response to a determination that the utilization is greater than the average utilization, that the historical resource utilization phase is indicative of a utilization of the managed node component that satisfies the predefined threshold amount.
  18. The one or more non-transitory machine-readable storage media of claim 13, wherein to determine a historical resource utilization phase comprises to: determine whether a utilization of the particular managed node component during the time period is greater than a predefined amount of available capacity of the particular managed node component; and determine, in response to a determination that the utilization is greater than the predefined amount of available capacity, that the historical resource utilization phase is indicative of a utilization of the particular managed node component that satisfies the predefined threshold amount.
  19. The one or more non-transitory machine-readable storage media of claim 13, wherein to identify historical resource utilization phases of the workloads comprises to identify patterns of historical resource utilization phases for one or more of the workloads.
  20. The one or more non-transitory machine-readable storage media of claim 13, wherein the plurality of instructions, when executed, further cause the orchestrator server to: determine a probability that the predicted resource utilization of a first workload will occur during the second time period; compare the determined probability to a predefined probability threshold; add, in response to a determination that the probability satisfies the predefined probability threshold, the first workload to a set of workloads to be temporally aligned; and wherein to adjust the assignments of the workloads comprises to adjust the assignments of workloads in the set of workloads to be temporally aligned.
  21. The one or more non-transitory machine-readable storage media of claim 13, wherein to identify a historical resource utilization phase comprises to determine a phase residency indicative of the length of the time period in which the utilization of the particular type of managed node component satisfies the predefined threshold amount.
  22. The one or more non-transitory machine-readable storage media of claim 13, wherein to apply an adjustment to the assignments of the workloads among the managed nodes comprises to issue a request to perform a live migration of a workload from a first managed node to a second managed node.
  23. The one or more non-transitory machine-readable storage media of claim 13, wherein to apply an adjustment to the assignments of the workloads among the managed nodes comprises to assign a first workload with a predicted high processor utilization and a second workload with a predicted low processor utilization to the same managed node for execution during the second time period.
  24. An orchestrator server to assign workloads among a set of managed nodes based on resource utilization phases, the orchestrator server comprising: circuitry for assigning a set of workloads to the managed nodes; circuitry for receiving telemetry data from the managed nodes, wherein the telemetry data is indicative of resource utilization by each of the managed nodes as the workloads are performed and wherein each managed node includes a set of sleds that define pools of different types of disaggregated resources; means for identifying, as a function of the telemetry data, historical resource utilization phases of the workloads, wherein each historical resource utilization phase is indicative of a utilization of a particular type of managed node component that satisfies a predefined threshold amount over a time period; means for determining, as a function of the historical resource utilization phases and as the workloads are performed, predicted resource utilization phases for the workloads, wherein each predicted resource utilization phase is indicative of a predicted utilization of a particular type of managed node component that satisfies the predefined threshold amount over a second time period; and means for applying, as a function of the predicted resources utilization phases, an adjustment to the assignments of the workloads among the managed nodes to delay an execution of a first workload to temporally align a first predicted resource utilization phase of the first workload with a second predicted resource utilization phase of a second workload on the same managed node to cause the first predicted resource utilization phase and the second predicted resource utilization phase to occur concurrently and wherein the first predicted resource utilization phase and the second resource utilization phase are predicted to utilize complementary amounts of the same resource.
  25. A method for assigning workloads among a set of managed nodes based on resource utilization phases, the method comprising: assigning, by an orchestrator server, a set of workloads to the managed nodes; receiving, by the orchestrator server, telemetry data from the managed nodes, wherein the telemetry data is indicative of resource utilization by each of the managed nodes as the workloads are performed and wherein each managed node includes a set of sleds that define pools of different types of disaggregated resources; identifying, by the orchestrator server and as a function of the telemetry data, historical resource utilization phases of the workloads, wherein each historical resource utilization phase is indicative of a utilization of a particular type of managed node component that satisfies a predefined threshold amount over a time period; determining, by the orchestrator server and as a function of the historical resource utilization phases and as the workloads are performed, predicted resource utilization phases for the workloads, wherein each predicted resource utilization phase is indicative of a predicted utilization of a particular type of managed node component that satisfies the predefined threshold amount over a second time period; and applying, by the orchestrator server and as a function of the predicted resources utilization phases, an adjustment to the assignments of the workloads among the managed nodes to delay an execution of a first workload to temporally align a first predicted resource utilization phase of the first workload with a second predicted resource utilization phase of a second workload on the same managed node to cause the first predicted resource utilization phase and the second predicted resource utilization phase to occur concurrently and wherein the first predicted resource utilization phase and the second resource utilization phase are predicted to utilize complementary amounts of the same resource.
  26. The method of claim 25, wherein identifying a historical resource utilization phase comprises determining that the historical resource utilization phase is one of processor intensive, memory intensive, or network bandwidth intensive.

Description

In a typical cloud based computing environment, a server may assign workloads to compute nodes in a network to perform services on behalf of a client. It is in the interest of the entity operating the cloud environment to maximize the resource utilization in each compute node to enable the cloud environment to provide the most performance with the available hardware. However, a resource (e.g., a component, such as a processor, memory, communication circuitry, etc.) available in a compute node may become overloaded if the server assigns multiple workloads that rely heavily that resource. As a result, the overall performance of the compute node may be adversely affected, even when the other resources in the compute node are nearly idle. A further challenge is that a workload may not consistently have the same resource utilization and may instead vary over time, making heavy use of one resource, and then transitioning to making heavy use of another resource. As such, it may be difficult for an administrator or server to determine an assignment of workloads among the compute nodes that consistently provides high resource utilization without overloading any of the resources.

The concepts described herein are illustrated by way of example and not by way of limitation in the accompanying figures. For simplicity and clarity of illustration, elements illustrated in the figures are not necessarily drawn to scale. Where considered appropriate, reference labels have been repeated among the figures to indicate corresponding or analogous elements.

Citations (24)

  • US20030158884A1
  • US20050005018A1
  • US20080271038A1
  • US20100017506A1
  • US20100115095A1
  • US20110107334A1
  • US20110126203A1
  • US20120266176A1
  • US20140052706A1
  • US20130185433A1
  • US20150229582A1
  • US20130268940A1
  • US20150142524A1
  • US20150150015A1
  • US20150212873A1
  • US20170153925A1
  • US20160094410A1
  • US20160210379A1
  • US20160246842A1
  • US20160323880A1
  • US20170192484A1
  • US20180081729A1
  • US20170272343A1
  • US20170286804A1
Record as JSON
{
  "publication_number": "US10461774B2",
  "country": "US",
  "kind": "B2",
  "title": "Technologies for assigning workloads based on resource utilization phases",
  "abstract": "Technologies for assigning workloads based on resource utilization phases include an orchestrator server to assign a set of workloads to the managed nodes. The orchestrator server is also to receive telemetry data from the managed nodes and identify, as a function of the telemetry data, historical resource utilization phases of the workloads. Further, the orchestrator server is to determine, as a function of the historical resource utilization phases and as the workloads are performed, predicted resource utilization phases for the workloads, and apply, as a function of the predicted resources utilization phases, adjustments to the assignments of the workloads among the managed nodes as the workloads are performed.",
  "claims": [
    "1. An orchestrator server to assign workloads among a set of managed nodes based on resource utilization phases, the orchestrator server comprising: one or more processors; one or more memory devices having stored therein a plurality of instructions that, when executed by the one or more processors, cause the orchestrator server to: assign a set of workloads to the managed nodes; receive telemetry data from the managed nodes, wherein the telemetry data is indicative of resource utilization by each of the managed nodes as the workloads are performed and wherein each managed node includes a set of sleds that define pools of different types of disaggregated resources; identify, as a function of the telemetry data, historical resource utilization phases of the workloads, wherein each historical resource utilization phase is indicative of a utilization of a particular type of managed node component that satisfies a predefined threshold amount over a time period; determine, as a function of the historical resource utilization phases and as the workloads are performed, predicted resource utilization phases for the workloads, wherein each predicted resource utilization phase is indicative of a predicted utilization of a particular type of managed node component that satisfies the predefined threshold amount over a second time period; and apply, as a function of the predicted resources utilization phases, an adjustment to the assignments of the workloads among the managed nodes to delay an execution of a first workload to temporally align a first predicted resource utilization phase of the first workload with a second predicted resource utilization phase of a second workload on the same managed node to cause the first predicted resource utilization phase and the second predicted resource utilization phase to occur concurrently and wherein the first predicted resource utilization phase and the second resource utilization phase are predicted to utilize complementary amounts of the same resource.",
    "2. The orchestrator server of claim 1, wherein to identify a historical resource utilization phase comprises to determine that the historical resource utilization phase is one of processor intensive, memory intensive, or network bandwidth intensive.",
    "3. The orchestrator server of claim 1, wherein to determine a predicted resource utilization phase comprises to determine that the predicted resource utilization phase is one of processor intensive, memory intensive, or network bandwidth intensive.",
    "4. The orchestrator server of claim 1, wherein to apply an adjustment to the assignments of the workloads comprises to assign one of the workloads with a first type of predicted resource utilization phase and a second one of the workloads with a second type of predicted resource utilization phase to the same managed node for execution during the second time period.",
    "5. The orchestrator server of claim 1, wherein to determine a historical resource utilization phase comprises to: determine whether a utilization of the particular managed node component during the time period is greater than an average utilization of the particular managed node component; and determine, in response to a determination that the utilization is greater than the average utilization, that the historical resource utilization phase is indicative of a utilization of the managed node component that satisfies the predefined threshold amount.",
    "6. The orchestrator server of claim 1, wherein to determine a historical resource utilization phase comprises to: determine whether a utilization of the particular managed node component during the time period is greater than a predefined amount of available capacity of the particular managed node component; and determine, in response to a determination that the utilization is greater than the predefined amount of available capacity, that the historical resource utilization phase is indicative of a utilization of the particular managed node component that satisfies the predefined threshold amount.",
    "7. The orchestrator server of claim 1, wherein to identify historical resource utilization phases of the workloads comprises to identify patterns of historical resource utilization phases for one or more of the workloads.",
    "8. The orchestrator server of claim 1, wherein the plurality of instructions, when executed, further cause the orchestrator server to: determine a probability that the predicted resource utilization of a first workload will occur during the second time period; compare the determined probability to a predefined probability threshold; add, in response to a determination that the probability satisfies the predefined probability threshold, the first workload to a set of workloads to be temporally aligned; and wherein to adjust the assignments of the workloads comprises to adjust the assignments of workloads in the set of workloads to be temporally aligned.",
    "9. The orchestrator server of claim 1, wherein to identify a historical resource utilization phase comprises to determine a phase residency indicative of the length of the time period in which the utilization of the particular type of managed node component satisfies the predefined threshold amount.",
    "10. The orchestrator server of claim 1, wherein to apply an adjustment to the assignments of the workloads among the managed nodes comprises to issue a request to perform a live migration of a workload from a first managed node to a second managed node.",
    "11. The orchestrator server of claim 1, wherein to apply an adjustment to the assignments of the workloads among the managed nodes comprises to assign a first workload with a predicted high processor utilization and a second workload with a predicted low processor utilization to the same managed node for execution during the second time period.",
    "12. The orchestrator server of claim 1, wherein to cause the first predicted resource utilization phase and the second predicted resource utilization phase to occur concurrently comprises to cause a total concurrent utilization of the same resource by the first resource utilization phase and the second resource utilization phase to satisfy a reference amount of resource utilization defined in policy data.",
    "13. One or more non-transitory machine-readable storage media comprising a plurality of instructions stored thereon that, in response to being executed, cause an orchestrator server to: assign a set of workloads to the managed nodes; receive telemetry data from the managed nodes, wherein the telemetry data is indicative of resource utilization by each of the managed nodes as the workloads are performed and wherein each managed node includes a set of sleds that define pools of different types of disaggregated resources; identify, as a function of the telemetry data, historical resource utilization phases of the workloads, wherein each historical resource utilization phase is indicative of a utilization of a particular type of managed node component that satisfies a predefined threshold amount over a time period; determine, as a function of the historical resource utilization phases and as the workloads are performed, predicted resource utilization phases for the workloads, wherein each predicted resource utilization phase is indicative of a predicted utilization of a particular type of managed node component that satisfies the predefined threshold amount over a second time period; and apply, as a function of the predicted resources utilization phases, an adjustment to the assignments of the workloads among the managed nodes to delay an execution of a first workload to temporally align a first predicted resource utilization phase of the first workload with a second predicted resource utilization phase of a second workload on the same managed node to cause the first predicted resource utilization phase and the second predicted resource utilization phase to occur concurrently and wherein the first predicted resource utilization phase and the second resource utilization phase are predicted to utilize complementary amounts of the same resource.",
    "14. The one or more non-transitory machine-readable storage media of claim 13, wherein to identify a historical resource utilization phase comprises to determine that the historical resource utilization phase is one of processor intensive, memory intensive, or network bandwidth intensive.",
    "15. The one or more non-transitory machine-readable storage media of claim 13, wherein to determine a predicted resource utilization phase comprises to determine that the predicted resource utilization phase is one of processor intensive, memory intensive, or network bandwidth intensive.",
    "16. The one or more non-transitory machine-readable storage media of claim 13, wherein to apply an adjustment to the assignments of the workloads comprises to assign one of the workloads with a first type of predicted resource utilization phase and a second one of the workloads with a second type of predicted resource utilization phase to the same managed node for execution during the second time period.",
    "17. The one or more non-transitory machine-readable storage media of claim 13, wherein to determine a historical resource utilization phase comprises to: determine whether a utilization of the particular managed node component during the time period is greater than an average utilization of the particular managed node component; and determine, in response to a determination that the utilization is greater than the average utilization, that the historical resource utilization phase is indicative of a utilization of the managed node component that satisfies the predefined threshold amount.",
    "18. The one or more non-transitory machine-readable storage media of claim 13, wherein to determine a historical resource utilization phase comprises to: determine whether a utilization of the particular managed node component during the time period is greater than a predefined amount of available capacity of the particular managed node component; and determine, in response to a determination that the utilization is greater than the predefined amount of available capacity, that the historical resource utilization phase is indicative of a utilization of the particular managed node component that satisfies the predefined threshold amount.",
    "19. The one or more non-transitory machine-readable storage media of claim 13, wherein to identify historical resource utilization phases of the workloads comprises to identify patterns of historical resource utilization phases for one or more of the workloads.",
    "20. The one or more non-transitory machine-readable storage media of claim 13, wherein the plurality of instructions, when executed, further cause the orchestrator server to: determine a probability that the predicted resource utilization of a first workload will occur during the second time period; compare the determined probability to a predefined probability threshold; add, in response to a determination that the probability satisfies the predefined probability threshold, the first workload to a set of workloads to be temporally aligned; and wherein to adjust the assignments of the workloads comprises to adjust the assignments of workloads in the set of workloads to be temporally aligned.",
    "21. The one or more non-transitory machine-readable storage media of claim 13, wherein to identify a historical resource utilization phase comprises to determine a phase residency indicative of the length of the time period in which the utilization of the particular type of managed node component satisfies the predefined threshold amount.",
    "22. The one or more non-transitory machine-readable storage media of claim 13, wherein to apply an adjustment to the assignments of the workloads among the managed nodes comprises to issue a request to perform a live migration of a workload from a first managed node to a second managed node.",
    "23. The one or more non-transitory machine-readable storage media of claim 13, wherein to apply an adjustment to the assignments of the workloads among the managed nodes comprises to assign a first workload with a predicted high processor utilization and a second workload with a predicted low processor utilization to the same managed node for execution during the second time period.",
    "24. An orchestrator server to assign workloads among a set of managed nodes based on resource utilization phases, the orchestrator server comprising: circuitry for assigning a set of workloads to the managed nodes; circuitry for receiving telemetry data from the managed nodes, wherein the telemetry data is indicative of resource utilization by each of the managed nodes as the workloads are performed and wherein each managed node includes a set of sleds that define pools of different types of disaggregated resources; means for identifying, as a function of the telemetry data, historical resource utilization phases of the workloads, wherein each historical resource utilization phase is indicative of a utilization of a particular type of managed node component that satisfies a predefined threshold amount over a time period; means for determining, as a function of the historical resource utilization phases and as the workloads are performed, predicted resource utilization phases for the workloads, wherein each predicted resource utilization phase is indicative of a predicted utilization of a particular type of managed node component that satisfies the predefined threshold amount over a second time period; and means for applying, as a function of the predicted resources utilization phases, an adjustment to the assignments of the workloads among the managed nodes to delay an execution of a first workload to temporally align a first predicted resource utilization phase of the first workload with a second predicted resource utilization phase of a second workload on the same managed node to cause the first predicted resource utilization phase and the second predicted resource utilization phase to occur concurrently and wherein the first predicted resource utilization phase and the second resource utilization phase are predicted to utilize complementary amounts of the same resource.",
    "25. A method for assigning workloads among a set of managed nodes based on resource utilization phases, the method comprising: assigning, by an orchestrator server, a set of workloads to the managed nodes; receiving, by the orchestrator server, telemetry data from the managed nodes, wherein the telemetry data is indicative of resource utilization by each of the managed nodes as the workloads are performed and wherein each managed node includes a set of sleds that define pools of different types of disaggregated resources; identifying, by the orchestrator server and as a function of the telemetry data, historical resource utilization phases of the workloads, wherein each historical resource utilization phase is indicative of a utilization of a particular type of managed node component that satisfies a predefined threshold amount over a time period; determining, by the orchestrator server and as a function of the historical resource utilization phases and as the workloads are performed, predicted resource utilization phases for the workloads, wherein each predicted resource utilization phase is indicative of a predicted utilization of a particular type of managed node component that satisfies the predefined threshold amount over a second time period; and applying, by the orchestrator server and as a function of the predicted resources utilization phases, an adjustment to the assignments of the workloads among the managed nodes to delay an execution of a first workload to temporally align a first predicted resource utilization phase of the first workload with a second predicted resource utilization phase of a second workload on the same managed node to cause the first predicted resource utilization phase and the second predicted resource utilization phase to occur concurrently and wherein the first predicted resource utilization phase and the second resource utilization phase are predicted to utilize complementary amounts of the same resource.",
    "26. The method of claim 25, wherein identifying a historical resource utilization phase comprises determining that the historical resource utilization phase is one of processor intensive, memory intensive, or network bandwidth intensive."
  ],
  "description_excerpt": "In a typical cloud based computing environment, a server may assign workloads to compute nodes in a network to perform services on behalf of a client. It is in the interest of the entity operating the cloud environment to maximize the resource utilization in each compute node to enable the cloud environment to provide the most performance with the available hardware. However, a resource (e.g., a component, such as a processor, memory, communication circuitry, etc.) available in a compute node may become overloaded if the server assigns multiple workloads that rely heavily that resource. As a result, the overall performance of the compute node may be adversely affected, even when the other resources in the compute node are nearly idle. A further challenge is that a workload may not consistently have the same resource utilization and may instead vary over time, making heavy use of one resource, and then transitioning to making heavy use of another resource. As such, it may be difficult for an administrator or server to determine an assignment of workloads among the compute nodes that consistently provides high resource utilization without overloading any of the resources.\n\nThe concepts described herein are illustrated by way of example and not by way of limitation in the accompanying figures. For simplicity and clarity of illustration, elements illustrated in the figures are not necessarily drawn to scale. Where considered appropriate, reference labels have been repeated among the figures to indicate corresponding or analogous elements.",
  "cpc": [
    "G06F 3/061",
    "B25J 15/0014",
    "B65G 1/0492",
    "G02B 6/3882",
    "G02B 6/3893",
    "G02B 6/3897",
    "G02B 6/4292",
    "G02B 6/4452",
    "G05D 23/1921",
    "G05D 23/2039",
    "G06F 1/183",
    "G06F 1/20",
    "G06F 11/141",
    "G06F 11/3414",
    "G06F 12/0862",
    "G06F 12/0893",
    "G06F 12/10",
    "G06F 12/109",
    "G06F 12/1408",
    "G06F 13/161",
    "G06F 13/1668",
    "G06F 13/1694",
    "G06F 13/385",
    "G06F 13/4022",
    "G06F 13/4068",
    "G06F 13/409",
    "G06F 13/42",
    "G06F 13/4282",
    "G06F 15/161",
    "G06F 15/8061",
    "G06F 16/1748",
    "G06F 16/9014",
    "G06F 2209/483",
    "G06F 2209/5019",
    "G06F 2209/5022",
    "G06F 2212/1008",
    "G06F 2212/1024",
    "G06F 2212/1041",
    "G06F 2212/1044",
    "G06F 2212/152",
    "G06F 2212/202",
    "G06F 2212/401",
    "G06F 2212/402",
    "G06F 2212/7207",
    "G06F 3/0611",
    "G06F 3/0613",
    "G06F 3/0616",
    "G06F 3/0619",
    "G06F 3/0625",
    "G06F 3/0631",
    "G06F 3/0638",
    "G06F 3/064",
    "G06F 3/0647",
    "G06F 3/065",
    "G06F 3/0653",
    "G06F 3/0655",
    "G06F 3/0658",
    "G06F 3/0659",
    "G06F 3/0664",
    "G06F 3/0665",
    "G06F 3/067",
    "G06F 3/0673",
    "G06F 3/0679",
    "G06F 3/0683",
    "G06F 3/0688",
    "G06F 3/0689",
    "G06F 8/65",
    "G06F 9/30036",
    "G06F 9/3887",
    "G06F 9/4401",
    "G06F 9/4881",
    "G06F 9/5016",
    "G06F 9/5027",
    "G06F 9/5044",
    "G06F 9/505",
    "G06F 9/5072",
    "G06F 9/5077",
    "G06F 9/544",
    "G06Q 10/06",
    "G06Q 10/06314",
    "G06Q 10/087",
    "G06Q 10/20",
    "G06Q 50/04",
    "G07C 5/008",
    "G08C 17/02",
    "G08C 2200/00",
    "G11C 11/56",
    "G11C 14/0009",
    "G11C 5/02",
    "G11C 5/06",
    "G11C 7/1072",
    "H03M 7/30",
    "H03M 7/3084",
    "H03M 7/3086",
    "H03M 7/40",
    "H03M 7/4031",
    "H03M 7/4056",
    "H03M 7/4081",
    "H03M 7/6005",
    "H03M 7/6023",
    "H04B 10/25",
    "H04B 10/2504",
    "H04B 10/25891",
    "H04J 14/00",
    "H04L 12/2809",
    "H04L 29/12009",
    "H04L 41/024",
    "H04L 41/046",
    "H04L 41/0813",
    "H04L 41/082",
    "H04L 41/0896",
    "H04L 41/12",
    "H04L 41/145",
    "H04L 41/147",
    "H04L 41/149",
    "H04L 41/40",
    "H04L 41/5019",
    "H04L 43/065",
    "H04L 43/08",
    "H04L 43/0817",
    "H04L 43/0876",
    "H04L 43/0894",
    "H04L 43/16",
    "H04L 45/02",
    "H04L 45/52",
    "H04L 47/24",
    "H04L 47/38",
    "H04L 47/765",
    "H04L 47/782",
    "H04L 47/805",
    "H04L 47/82",
    "H04L 47/823",
    "H04L 47/83",
    "H04L 49/00",
    "H04L 49/15",
    "H04L 49/25",
    "H04L 49/35",
    "H04L 49/357",
    "H04L 49/45",
    "H04L 49/555",
    "H04L 61/00",
    "H04L 67/02",
    "H04L 67/10",
    "H04L 67/1004",
    "H04L 67/1008",
    "H04L 67/1012",
    "H04L 67/1014",
    "H04L 67/1029",
    "H04L 67/1034",
    "H04L 67/1097",
    "H04L 67/12",
    "H04L 67/16",
    "H04L 67/306",
    "H04L 67/34",
    "H04L 67/51",
    "H04L 69/04",
    "H04L 69/18",
    "H04L 69/329",
    "H04L 9/0643",
    "H04L 9/14",
    "H04L 9/3247",
    "H04L 9/3263",
    "H04Q 1/04",
    "H04Q 1/09",
    "H04Q 11/00",
    "H04Q 11/0003",
    "H04Q 11/0005",
    "H04Q 11/0062",
    "H04Q 11/0071",
    "H04Q 2011/0037",
    "H04Q 2011/0041",
    "H04Q 2011/0052",
    "H04Q 2011/0073",
    "H04Q 2011/0079",
    "H04Q 2011/0086",
    "H04Q 2213/13523",
    "H04Q 2213/13527",
    "H04W 4/023",
    "H04W 4/80",
    "H05K 1/0203",
    "H05K 1/181",
    "H05K 13/0486",
    "H05K 2201/066",
    "H05K 2201/10121",
    "H05K 2201/10159",
    "H05K 2201/10189",
    "H05K 5/0204",
    "H05K 7/1418",
    "H05K 7/1421",
    "H05K 7/1422",
    "H05K 7/1442",
    "H05K 7/1447",
    "H05K 7/1461",
    "H05K 7/1485",
    "H05K 7/1487",
    "H05K 7/1489",
    "H05K 7/1491",
    "H05K 7/1492",
    "H05K 7/1498",
    "H05K 7/2039",
    "H05K 7/20709",
    "H05K 7/20727",
    "H05K 7/20736",
    "H05K 7/20745",
    "H05K 7/20836",
    "Y02D 10/00",
    "Y02D 10/14",
    "Y02D 10/151",
    "Y02P 90/30",
    "Y04S 10/50",
    "Y04S 10/52",
    "Y10S 901/01",
    "Y10S 901/30"
  ],
  "ipc": [
    "B25J 15/00",
    "B65G 1/04",
    "G02B 6/38",
    "G02B 6/42",
    "G02B 6/44",
    "G05D 23/19",
    "G05D 23/20",
    "G06F 1/18",
    "G06F 11/14",
    "G06F 11/34",
    "G06F 12/0862",
    "G06F 12/0893",
    "G06F 12/10",
    "G06F 12/109",
    "G06F 12/14",
    "G06F 13/16",
    "G06F 13/40",
    "G06F 13/42",
    "G06F 15/80",
    "G06F 16/901",
    "G06F 3/06",
    "G06F 8/65",
    "G06F 9/4401",
    "G06F 9/46",
    "G06F 9/50",
    "G06Q 10/00",
    "G06Q 10/06",
    "G06Q 10/08",
    "G06Q 50/04",
    "G07C 5/00",
    "G08C 17/02",
    "G11C 11/56",
    "G11C 14/00",
    "G11C 5/02",
    "G11C 5/06",
    "G11C 7/10",
    "H03M 7/30",
    "H03M 7/40",
    "H04B 10/25",
    "H04L 12/24",
    "H04L 12/26",
    "H04L 12/28",
    "H04L 12/751",
    "H04L 12/781",
    "H04L 12/811",
    "H04L 12/851",
    "H04L 12/911",
    "H04L 12/919",
    "H04L 12/927",
    "H04L 12/931",
    "H04L 12/933",
    "H04L 12/939",
    "H04L 12/947",
    "H04L 29/06",
    "H04L 29/08",
    "H04L 29/12",
    "H04L 9/06",
    "H04L 9/14",
    "H04L 9/32",
    "H04Q 1/04",
    "H04Q 11/00",
    "H04W 4/02",
    "H04W 4/80",
    "H05K 1/02",
    "H05K 1/18",
    "H05K 13/04",
    "H05K 5/02",
    "H05K 7/14",
    "H05K 7/20"
  ],
  "assignees": [
    "Intel Corp"
  ],
  "inventors": [
    "Susanne M. Balle",
    "Rahul Khanna",
    "Nishi Ahuja",
    "Mrittika Ganguli"
  ],
  "filing_date": "2016-12-30",
  "publication_date": "2019-10-29",
  "grant_date": "2019-10-29",
  "priority_date": "2016-07-22",
  "application_number": "US-201615395273-A",
  "family_id": "60804962",
  "cited_by_count": 29,
  "citations": [
    "US20030158884A1",
    "US20050005018A1",
    "US20080271038A1",
    "US20100017506A1",
    "US20100115095A1",
    "US20110107334A1",
    "US20110126203A1",
    "US20120266176A1",
    "US20140052706A1",
    "US20130185433A1",
    "US20150229582A1",
    "US20130268940A1",
    "US20150142524A1",
    "US20150150015A1",
    "US20150212873A1",
    "US20170153925A1",
    "US20160094410A1",
    "US20160210379A1",
    "US20160246842A1",
    "US20160323880A1",
    "US20170192484A1",
    "US20180081729A1",
    "US20170272343A1",
    "US20170286804A1"
  ]
}

Record 2,477 of 8,000 in Patents full text (MLC-0201). Request the full dataset.