MANAGEMENT OF PERIODIC REQUESTS FOR COMPUTE CAPACITY
First Claim
1. A system for providing low-latency computational capacity from a virtual compute fleet, the system comprising:
- an electronic data store configured to store at least a program code of a user; and
a virtual compute system comprising one or more hardware computing devices executing specific computer-executable instructions, said virtual compute system in communication with the data store, and configured to at least;
maintain a plurality of virtual machine instances on one or more physical computing devices, wherein the plurality of virtual machine instances comprise;
a warming pool comprising virtual machine instances having one or more software components loaded thereon and waiting to be assigned to a user; and
an active pool comprising virtual machine instances currently assigned to one or more users;
monitor incoming code execution requests to execute program codes on the virtual compute system, at least some of the incoming code execution requests exhibiting a degree of periodicity;
determine the degree of periodicity associated with the at least some of the incoming code execution requests, the determined degree of periodicity indicating a time period at which the at least some of the incoming code execution requests are expected to be received by the virtual compute system;
in response to determining the degree of periodicity associated with the at least some of the incoming code execution requests, cause a reduced number of virtual machine instances to be maintained in the warming pool, wherein the reduced number is determined based on a number of the at least some of the incoming code execution requests and the determined degree of periodicity;
cause at least one virtual machine instance to be added to the active pool before the time period, and cause a program code associated with the at least some of the incoming code execution requests to be loaded on the at least one virtual machine instance; and
in response to receiving a request associated with the at least some of the incoming code execution requests, cause the program code loaded on the at least one virtual machine to be executed.
1 Assignment
0 Petitions
Accused Products
Abstract
A system for monitoring incoming code execution requests and scheduling the corresponding code executions is provided. The system may be configured to maintain a plurality of virtual machine instances. The system may be further configured to determine whether at least some of the incoming code execution requests exhibit periodicity, and cause a reduced amount of idle compute capacity to be maintained on the virtual compute system. The system may be further configured to cause additional compute capacity to be added shortly before code execution requests are expected to be received.
-
Citations
21 Claims
-
1. A system for providing low-latency computational capacity from a virtual compute fleet, the system comprising:
-
an electronic data store configured to store at least a program code of a user; and a virtual compute system comprising one or more hardware computing devices executing specific computer-executable instructions, said virtual compute system in communication with the data store, and configured to at least; maintain a plurality of virtual machine instances on one or more physical computing devices, wherein the plurality of virtual machine instances comprise; a warming pool comprising virtual machine instances having one or more software components loaded thereon and waiting to be assigned to a user; and an active pool comprising virtual machine instances currently assigned to one or more users; monitor incoming code execution requests to execute program codes on the virtual compute system, at least some of the incoming code execution requests exhibiting a degree of periodicity; determine the degree of periodicity associated with the at least some of the incoming code execution requests, the determined degree of periodicity indicating a time period at which the at least some of the incoming code execution requests are expected to be received by the virtual compute system; in response to determining the degree of periodicity associated with the at least some of the incoming code execution requests, cause a reduced number of virtual machine instances to be maintained in the warming pool, wherein the reduced number is determined based on a number of the at least some of the incoming code execution requests and the determined degree of periodicity; cause at least one virtual machine instance to be added to the active pool before the time period, and cause a program code associated with the at least some of the incoming code execution requests to be loaded on the at least one virtual machine instance; and in response to receiving a request associated with the at least some of the incoming code execution requests, cause the program code loaded on the at least one virtual machine to be executed. - View Dependent Claims (2, 3)
-
-
4. A system, comprising:
a virtual compute system comprising one or more hardware computing devices executing specific computer-executable instructions and configured to at least; maintain a plurality of virtual machine instances on one or more physical computing devices; monitor incoming code execution requests to execute program code on the virtual compute system; determine whether at least some of the incoming code execution requests exhibit periodicity, the at least some of the incoming code execution requests associated with one or more execution parameters; in response to determining that the at least some of the incoming code execution requests exhibit periodicity, cause a reduced amount of idle compute capacity to be maintained on the virtual compute system, the reduced amount determined based on the periodicity; and cause an additional virtual machine instance to be pre-initialized based on the one or more execution parameters before an additional periodic request exhibiting the same periodicity as the at least some of the incoming code execution requests is received by the virtual compute system. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11, 12, 13)
-
14. A computer-implemented method comprising:
as implemented by one or more computing devices configured with specific executable instructions, maintaining a plurality of virtual machine instances on one or more physical computing devices; monitoring incoming code execution requests to execute program code on the virtual compute system; determining whether at least some of the incoming code execution requests exhibit periodicity, the at least some of the incoming code execution requests associated with one or more execution parameters; in response to determining that the at least some of the incoming code execution requests exhibit periodicity, causing a reduced amount of unallocated compute capacity to be maintained on the virtual compute system, the reduced amount determined based on the periodicity; determining that the at least some of the incoming code execution requests are expected to be received within a threshold amount of time; and causing an additional virtual machine instance to be configured based on the one or more execution parameters before an additional periodic request exhibiting the same periodicity as the at least some of the incoming code execution requests is received by the virtual compute system. - View Dependent Claims (15, 16, 17)
-
18. Non-transitory physical computer storage comprising instructions that, when executed by one or more computing devices, configure the one or more computing devices to:
-
maintain a plurality of virtual machine instances on one or more physical computing devices; monitor incoming code execution requests to execute program code on the virtual compute system; determine whether at least some of the incoming code execution requests exhibit periodicity, the at least some of the incoming code execution requests associated with one or more execution parameters; in response to determining that the at least some of the incoming code execution requests exhibit periodicity, cause a reduced amount of unallocated compute capacity to be maintained on the virtual compute system, the reduced amount determined based on the periodicity; determine that the at least some of the incoming code execution requests are expected to be received within a threshold amount of time; and cause an additional virtual machine instance to be configured based on the one or more execution parameters before an additional periodic request exhibiting the same periodicity as the at least some of the incoming code execution requests is received by the virtual compute system. - View Dependent Claims (19, 20, 21)
-
Specification