Dynamically modifying program execution capacity
First Claim
1. A computer-implemented method comprising:
- obtaining, by a configured computing system of a program execution service including a plurality of computing resources available to users, instructions from a first user of the program execution service for use in later modifying an amount of allocated computing resources in a group provided for the first user by the program execution service from the plurality of computing resources, wherein the obtained instructions from the first user specify a threshold for CPU (central processing unit) utilization of the allocated computing resources in the group during executing of one or more programs for the first user and further specify to add to or remove from the group a quantity of multiple computing nodes if the specified threshold is satisfied, wherein the quantity of multiple computing nodes is specified by the first user to be determined using a defined proportion of an existing quantity of allocated computing nodes in the group;
monitoring, by the program execution service, the CPU utilization of the allocated computing resources in the group during the executing of the one or more programs;
determining, by the program execution service and based at least in part on the monitoring indicating that the CPU utilization of the allocated computing resources in the group satisfies the threshold specified by the first user, to modify the allocated computing resources in the group, including to determine the quantity of multiple computing nodes for the modifying by using the defined proportion of the existing quantity of allocated computing nodes in the group as specified by the first user; and
initiating, by the program execution service and based at least in part on the determining, modifying an amount of the allocated computing resources in the group by the determined quantity of multiple computing nodes.
0 Assignments
0 Petitions
Accused Products
Abstract
Techniques are described for managing program execution capacity, such as for a group of computing nodes that are provided for executing one or more programs for a user. In some situations, dynamic program execution capacity modifications for a computing node group that is in use may be performed periodically or otherwise in a recurrent manner, such as to aggregate multiple modifications that are requested or otherwise determined to be made during a period of time, and with the aggregation of multiple determined modifications being able to be performed in various manners. Modifications may be requested or otherwise determined in various manners, including based on dynamic instructions specified by the user, and on satisfaction of triggers that are previously defined by the user. In some situations, the techniques are used in conjunction with a fee-based program execution service that executes multiple programs on behalf of multiple users of the service.
27 Citations
31 Claims
-
1. A computer-implemented method comprising:
-
obtaining, by a configured computing system of a program execution service including a plurality of computing resources available to users, instructions from a first user of the program execution service for use in later modifying an amount of allocated computing resources in a group provided for the first user by the program execution service from the plurality of computing resources, wherein the obtained instructions from the first user specify a threshold for CPU (central processing unit) utilization of the allocated computing resources in the group during executing of one or more programs for the first user and further specify to add to or remove from the group a quantity of multiple computing nodes if the specified threshold is satisfied, wherein the quantity of multiple computing nodes is specified by the first user to be determined using a defined proportion of an existing quantity of allocated computing nodes in the group; monitoring, by the program execution service, the CPU utilization of the allocated computing resources in the group during the executing of the one or more programs; determining, by the program execution service and based at least in part on the monitoring indicating that the CPU utilization of the allocated computing resources in the group satisfies the threshold specified by the first user, to modify the allocated computing resources in the group, including to determine the quantity of multiple computing nodes for the modifying by using the defined proportion of the existing quantity of allocated computing nodes in the group as specified by the first user; and initiating, by the program execution service and based at least in part on the determining, modifying an amount of the allocated computing resources in the group by the determined quantity of multiple computing nodes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory computer-readable medium including stored contents that cause a computing system of a program execution service to:
-
obtain, by the computing system, instructions from a client of the program execution service for modifying allocated computing resources of a group of computing nodes provided by the program execution service on behalf of the client if a threshold for CPU (central processing unit) utilization is satisfied for the computing nodes of the group, wherein the obtained instructions specify a quantity of multiple computing nodes to add to or remove from the group if the threshold is satisfied; monitor, by the computing system, the CPU utilization of the computing nodes of the group; determine, by the computing system and based at least in part on the monitoring indicating that the CPU utilization of the computing nodes of the group satisfies the threshold, to modify the allocated computing resources of the group by the quantity of multiple computing nodes specified by the client; and initiate, by the computing system, modifying an amount of the allocated computing resources of the group by the quantity of multiple computing nodes specified by the client. - View Dependent Claims (18, 19, 20)
-
-
21. A system comprising:
-
one or more hardware processors; and one or more memories with stored instructions that, when executed by at least one of the hardware processors, cause the system to; provide, for a first user of a program execution service, an initial amount of computing resources using a group of computing nodes provided by the program execution service; obtain instructions from the first user for use in later modifying an amount of computing resources of the group of computing nodes if a specified threshold is satisfied for CPU (central processing unit) utilization of the computing nodes of the group, wherein the obtained instructions specify a quantity of multiple computing nodes to add to or remove from the group if the specified threshold is satisfied; monitor the CPU utilization of the computing nodes of the group; determine, based at least in part on the monitoring indicating that the CPU utilization of the computing nodes of the group satisfies the specified threshold, to modify the amount of computing resources of the group of computing nodes by the specified quantity of multiple computing nodes; and initiate modifying of the amount of computing resources of the group of computing nodes by the specified quantity of multiple computing nodes. - View Dependent Claims (22, 23)
-
-
24. A computer-implemented method comprising:
-
obtaining, by a configured computing system of a program execution service including a plurality of computing resources available to users, instructions from a first user of the program execution service for modifying an amount of allocated computing resources in a group provided for the first user by the program execution service from the plurality of computing resources, wherein the obtained instructions from the first user specify a threshold for network bandwidth utilization by the allocated computing resources in the group during executing of one or more programs for the first user and further specify a quantity of multiple computing nodes to add to or remove from the group if the specified threshold is satisfied; monitoring, by the program execution service, the network bandwidth utilization by the allocated computing resources in the group during the executing of the one or more programs; determining, by the program execution service and based at least in part on the monitoring indicating that the network bandwidth utilization by the allocated computing resources in the group satisfies the threshold specified by the first user, to modify the allocated computing resources in the group by the quantity of multiple computing nodes specified by the first user; and initiating, by the program execution service and based at least in part on the determining, modifying an amount of the allocated computing resources in the group by the quantity of multiple computing nodes specified by the first user. - View Dependent Claims (25)
-
-
26. A computer-implemented method comprising:
-
obtaining, by a configured computing system of a program execution service including a plurality of computing resources available to users, instructions from a first user of the program execution service for modifying an amount of allocated computing resources in a group provided for the first user by the program execution service from the plurality of computing resources, wherein the obtained instructions from the first user specify a threshold for memory utilization by the allocated computing resources in the group during executing of one or more programs for the first user and further specify a quantity of multiple computing nodes to add to or remove from the group if the specified threshold is satisfied; monitoring, by the program execution service, the memory utilization by the allocated computing resources in the group during the executing of the one or more programs; determining, by the program execution service and based at least in part on the monitoring indicating that the memory utilization by the allocated computing resources in the group satisfies the threshold specified by the first user, to modify the allocated computing resources in the group by the quantity of multiple computing nodes specified by the first user; and initiating, by the program execution service and based at least in part on the determining, modifying an amount of the allocated computing resources in the group by the quantity of multiple computing nodes specified by the first user. - View Dependent Claims (27)
-
-
28. A computer-implemented method comprising:
-
obtaining, by a configured computing system of a program execution service including a plurality of computing resources available to users, instructions from a first user of the program execution service for modifying an amount of allocated computing resources in a group provided for the first user by the program execution service from the plurality of computing resources, wherein the obtained instructions from the first user specify a threshold for storage utilization by the allocated computing resources in the group during executing of one or more programs for the first user and further specify a quantity of multiple computing nodes to add to or remove from the group if the specified threshold is satisfied; monitoring, by the program execution service, the storage utilization by the allocated computing resources in the group during the executing of the one or more programs; determining, by the program execution service and based at least in part on the monitoring indicating that the storage utilization by the allocated computing resources in the group satisfies the threshold specified by the first user, to modify the allocated computing resources in the group by the quantity of multiple computing nodes specified by the first user; and initiating, by the program execution service and based at least in part on the determining, modifying an amount of the allocated computing resources in the group by the quantity of multiple computing nodes specified by the first user. - View Dependent Claims (29)
-
-
30. A computer-implemented method comprising:
-
obtaining, by a configured computing system of a program execution service including a plurality of computing resources available to users, instructions from a first user of the program execution service for modifying an amount of allocated computing resources in a group provided for the first user by the program execution service from the plurality of computing resources, wherein the obtained instructions from the first user specify a threshold for utilization, with respect to one or more indicated metrics, by the allocated computing resources in the group during executing of one or more programs for the first user; monitoring, by the program execution service, the utilization by the allocated computing resources in the group with respect to the one or more indicated metrics during the executing of the one or more programs; determining, by the program execution service and based at least in part on the monitoring indicating that the utilization by the allocated computing resources in the group with respect to the one or more indicated metrics satisfies the threshold specified by the first user, to modify the allocated computing resources in the group; and initiating, by the program execution service and based at least in part on the determining, modifying an amount of the allocated computing resources in the group. - View Dependent Claims (31)
-
Specification