IP Library Granted Patent US 11,144,443
Granted Patent B2
US 11,144,443 · App. 16/565,397 · Granted Oct 12, 2021

Optimization of workloads based on constraints

Inventors: Jeremy Haubold (Portage, IN); Derek Kiwamu Tsuchida (Kirkland, WA)
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
G06F11/3692G06F9/505G06F9/5011G06F11/3612G06F11/3688
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,144,443
App. No.
16/565,397
Granted
Oct 12, 2021
Kind
B2
Abstract

Techniques are disclosed for allocating computing resources. Historical verification test data for one or more workloads is accessed. The accessed data is updated by removing data for workloads that are mathematical outliers. Based on the updated data, for one or more workload groups, resource allocations for a range of test times are determined. Based on the allocations, costs for the one or more workload groups are predicted. One or more test configurations are updated based on the predicting.

Claims (35)

1. A computer-implemented method for allocating computing resources for workloads having different requirements, the method comprising:

accessing historical verification test data for the workloads;

grouping, by a computing device, tasks based on analysis of the workloads based on the requirements;

updating the accessed data by removing data for workloads that are mathematical outliers, wherein the mathematical outliers are those in a top and bottom quartile;

based on the updated data, determining, for one or more workload groups, resource allocations for a range of test times, wherein the determining comprises for predetermined time intervals in a range from minimum to maximum, determining an amount of resources to be allocated to each of the workload groups;

discarding changes that negatively impact cost without improving runtime or changes that negatively impact runtime without improving cost;

predicting, based on the resource allocations and historical data, costs for the one or more workload groups, the costs indicative of how much each workload group will cost for current and optimized resource allocations, the costs including resource preparation cost and actual work duration; and

allocating computing resources in a computing environment based on the predicting.

2. The method of claim 1 , wherein the historical verification test data comprises runtime test data for a predetermined time period.

3. The method of claim 1 , further comprising removing predictions that negatively impact cost without improving runtime or negatively impact runtime without improving cost.

4. The method of claim 1 , further comprising generating a report of predicted time deltas and cost deltas.

5. The method of claim 1 , further comprising generating alerts when predicted resource consumption or runtime exceed predetermined limits.

6. The method of claim 1 , wherein the updating comprises restriping computing resources.

7. A system, comprising:

one or more processors; and

a memory in communication with the one or more processors, the memory having computer-readable instructions stored thereupon that, when executed by the one or more processors, cause the system to perform operations comprising:

accessing historical verification test data for one or more workloads having different requirements;

grouping tasks based on analysis of the workloads based on the requirements;

updating the accessed data by removing data for workloads that are mathematical outliers, wherein the mathematical outliers are those in a top and bottom quartile;

based on the test data, determining, for one or more workload groups, resource allocations for a range of test times, wherein an amount of resources is allocated to each of the workload groups from a minimum predetermined time interval to a maximum predetermined time interval;

discarding changes that negatively impact cost without improving runtime or changes that negatively impact runtime without improving cost;

predicting, based on the resource allocations and historical data, costs associated with the one or more workload groups, the costs indicative of how much each workload group will cost for current and optimized resource allocations, the costs including resource preparation cost and actual work duration; and

allocating computing resources in a computing environment based on the predicting.

8. The system of claim 7 , wherein the historical verification test data comprises runtime test data for a predetermined time period.

9. The system of claim 7 , further comprising removing predictions that negatively impact cost without improving runtime or negatively impact runtime without improving cost.

10. The system of claim 7 , further comprising generating a report of predicted time deltas and cost deltas.

11. A computer-readable storage medium having computer-executable instructions stored thereupon which, when executed by one or more processors of a computing device, cause the computing device to:

access historical verification test data for one or more workloads having different requirements;

group tasks based on analysis of the workloads based on the requirements;

update the accessed data by removing data for workloads that are mathematical outliers, wherein the mathematical outliers are those in a top and bottom quartile;

based on the updated data, determine, for one or more workload groups, resource allocations for a range of test times, wherein an amount of resources is allocated to each of the workload groups for predetermined time intervals in a range from minimum to maximum;

discarding changes that negatively impact cost without improving runtime or changes that negatively impact runtime without improving cost;

predict, based on the allocations and historical data, costs for the one or more workload groups, the costs indicative of how much each workload group will cost for current and optimized resource allocations, the costs including resource preparation cost and actual work duration; and

allocate computing resources in a computing environment based on the predicting.

12. The computer-readable storage medium of claim 11 , further comprising computer-executable instructions stored thereupon which, when executed by the one or more processors of the computing device, cause the computing device to generate alerts when predicted resource consumption or runtime exceed predetermined limits.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2019
From: HAUBOLD, JEREMY; TSUCHIDA, DEREK KIWAMU
To: MICROSOFT TECHNOLOGY LICENSING, LLC.
Reel/Frame 050319/0922 →
Continuity (1)
Related Publication 20210073114A1 · Mar 11, 2021
Cited By (1)
US 12,210,903