Automated profiling of resource usage
First Claim
1. A system for managing shared computing resources, the system comprising:
- one or more processors; and
a computer-readable memory storing executable instructions that, when executed by the one or more processors, configure the system to;
receive a request to initialize a first instance of a first virtual machine, the first instance associated with a first expected usage amount of a computing resource and a first reserved amount of the computing resource, wherein the first expected usage amount is based at least in part on operating metrics determined from previously running at least an instance of a similar virtual machine, and wherein the first reserved amount corresponds to an amount of the computing resource reserved for the first instance by a customer associated with the first instance;
select a computing device of a plurality of computing devices configured to provide the computing resource, wherein a second instance of a second virtual machine is executing on the computing device, wherein the second instance is associated with a second expected usage amount and a second reserved amount of the computing resource, and wherein the selected computing device is selected based at least partly on;
calculating a total reserved amount, the total reserved amount comprising a sum of the first reserved amount and the second reserved amount;
determining that the total reserved amount is greater than an amount of the computing resource available on the computing device;
in response to the determination that the total reserved amount is greater than the amount of the computing resource available on the computing device, calculating a total expected usage amount, the total expected usage amount comprising a sum of the first expected usage amount and second expected usage amount; and
determining that the total expected usage amount is less than the amount of the computing resource available on the computing device; and
cause, at least in part, the first instance to be initialized on the selected computing device, wherein the first instance and the second instance share the available amount of the computing resource.
1 Assignment
0 Petitions
Accused Products
Abstract
Operating profiles for consumers of computing resources may be automatically determined based on an analysis of actual resource usage measurements and other operating metrics. Measurements may be taken while a consumer, such as a virtual machine instance, uses computing resources, such as those provided by a host. A profile may be dynamically determined based on those measurements. Profiles may be generalized such that groups of consumers with similar usage profiles are associated with a single profile. Assignment decisions may be made based on the profiles, and computing resources may be reallocated or oversubscribed if the profiles indicate that the consumers are unlikely to fully utilize the resources reserved for them. Oversubscribed resources may be monitored, and consumers may be transferred to different resource providers if contention for resources is too high.
792 Citations
26 Claims
-
1. A system for managing shared computing resources, the system comprising:
-
one or more processors; and a computer-readable memory storing executable instructions that, when executed by the one or more processors, configure the system to; receive a request to initialize a first instance of a first virtual machine, the first instance associated with a first expected usage amount of a computing resource and a first reserved amount of the computing resource, wherein the first expected usage amount is based at least in part on operating metrics determined from previously running at least an instance of a similar virtual machine, and wherein the first reserved amount corresponds to an amount of the computing resource reserved for the first instance by a customer associated with the first instance; select a computing device of a plurality of computing devices configured to provide the computing resource, wherein a second instance of a second virtual machine is executing on the computing device, wherein the second instance is associated with a second expected usage amount and a second reserved amount of the computing resource, and wherein the selected computing device is selected based at least partly on; calculating a total reserved amount, the total reserved amount comprising a sum of the first reserved amount and the second reserved amount; determining that the total reserved amount is greater than an amount of the computing resource available on the computing device; in response to the determination that the total reserved amount is greater than the amount of the computing resource available on the computing device, calculating a total expected usage amount, the total expected usage amount comprising a sum of the first expected usage amount and second expected usage amount; and determining that the total expected usage amount is less than the amount of the computing resource available on the computing device; and cause, at least in part, the first instance to be initialized on the selected computing device, wherein the first instance and the second instance share the available amount of the computing resource. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer-implemented method for managing shared computing resources, the computer-implemented method comprising:
-
receiving, by a data center management system comprising one or more computing devices, a request to initialize a first software workload associated with a first operating constraint and a first reserved resource amount, wherein the first operating constraint is based at least in part on a first plurality of historical operating metrics regarding operation of the first software workload on a host computing device, and wherein the first reserved resource amount comprises an amount of a computing resource reserved for use by the first software workload; in response to the request, identifying a first host computing device of a plurality of host computing devices based at least on the first operating constraint and one or more operating characteristics associated with the first host computing device, wherein the first host computing device comprises a second software workload associated with a second operating constraint and a second reserved resource amount, and wherein the identifying comprises; calculating a total reserved resource amount, the total reserved resource amount comprising a sum of the first reserved resource amount and the second reserved resource amount; determining that an available amount of the computing resource is less than the total reserved resource amount; and in response to the determination that the available amount of the computing resource is less than the total reserved resource amount, determining that the one or more operating characteristics of the first host computing device are sufficient to satisfy both the first operating constraint and the second operating constraint during operation of the first software workload and the second software workload; and causing, at least in part, the first software workload to be placed on the first host computing device. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A system for managing shared computing resources, the system comprising:
-
one or more processors; a computer-readable memory storing executable instructions that, when executed by the one or more processors, configure the system to; receive a request to initialize a first computer-executable program associated with a first operating constraint and a first reserved resource amount, wherein the first operating constraint is based at least in part on a first plurality of historical operating metrics regarding operation of the first computer-executable program on a host computing device, and wherein the first reserved resource amount comprises an amount of a computing resource reserved for use by the first computer-executable program; and identify a first host computing device of a plurality of host computing devices, the first host computing device associated with one or more operating characteristics, wherein the first host computing device comprises a second computer-executable program associated with a second operating constraint and a second reserved resource amount, and wherein the first host computing device is identified based at least in part on; calculating a total reserved resource amount, the total reserved resource amount comprising the sum of the first reserved resource amount and the second reserved resource amount; determining that an available amount of the computing resource is less than the total reserved resource amount; and in response to the determination that the available amount of the computing resource is less than the total reserved resource amount, determining that the one or more operating characteristics satisfy both the first operating constraint and the second operating constraint; and cause, at least in part, the first computer-executable program to execute on the first host computing device. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26)
-
Specification