Dynamic computing resource management
Some embodiments of the present disclosure are directed to systems, computer-readable media, and computer-implemented methods for dynamic computing resource management. Some embodiments are directed to identifying a computing resource common between a first workload and a second workload, replacing a label associated with the first workload on the identified computing resource with a label associated with the second workload, executing the second workload using the identified computing resource. Other embodiments may be disclosed or claimed.
1 . A computer system comprising:
a processor; and
a memory coupled to the processor and storing instructions that, when executed by the processor, cause the computer system to:
perform a hierarchal quota enforcement process to confirm acquisition of computing resources, the hierarchal quota process limiting aggregate resource consumption by checking an assigned quota to a user or a node across a plurality of namespaces and being based on a type of computing resource;
acquire, from a cloud-based resource provider, a plurality of computing resources comprising at least one of virtual machine instances or container instances to execute a first workload;
execute the first workload using the plurality of computing resources;
identify a second workload for execution subsequent to the execution of the first workload;
identify a computing resource in the plurality of computing resources common to the first workload and the second workload;
perform a matching strategy for aggregated resource assignment based on workloads in a workload queue to select the identified computing resource;
replace a label associated with the first workload on the identified computing resource with a label associated with the second workload by swapping labels on the identified computing resource to place the second workload on the identified computing resource;
mark resource nodes belonging to the first workload that are not to be re-used by one or more subsequent workloads for deletion;
execute the second workload using the identified computing resource; and
return computing resources corresponding to the resource nodes marked for deletion to the cloud-based resource provider and scale down an aggregated pool of resources based on the resource nodes marked for deletion.
2 . The computer system of claim 1 , wherein acquiring the plurality of computing resources includes adding a label associated with the first workload to each respective resource in the plurality of computing resources.
3 . The computer system of claim 1 , wherein the memory further stores instructions to return resources from the plurality of computing resources to the cloud-based resource provider that are not used by the second workload subsequent to completion of the execution of the first workload.
4 . The computer system of claim 1 , wherein the memory further stores instructions to detect a failure in the execution of the first workload, and to return computing resources from the plurality of computing resources to the cloud-based resource provider that are not used by the second workload in response to detecting the execution failure.
5 . The computer system of claim 1 , wherein acquiring the plurality of computing resources includes performing a hierarchal quota enforcement process to confirm the acquisition of each computing resource in the plurality of computing resources.
6 . The computer system of claim 5 , wherein the hierarchal quota enforcement process is based on a type of computing resource for each computing resource in the plurality of computing resources.
7 . The computer system of claim 6 , wherein the type of computing resource is associated with at least one of: a processor, a computing device, a storage medium, a virtual machine, and a software service.
8 . A computer-readable medium storing instructions that, when executed by a computer system, cause the computer system to:
perform a hierarchal quota enforcement process to confirm acquisition of computing resources, the hierarchal quota process limiting aggregate resource consumption by checking an assigned quota to a user or a node across a plurality of namespaces and being based on a type of computing resource;
acquire, from a cloud-based resource provider, a plurality of computing resources comprising at least one of virtual machine instances or container instances to execute a first workload;
execute the first workload using the plurality of computing resources;
identify a second workload for execution subsequent to the execution of the first workload;
identify a computing resource in the plurality of computing resources common to the first workload and the second workload;
perform a matching strategy for aggregated resource assignment based on workloads in a workload queue to select the identified computing resource;
replace a label associated with the first workload on the identified computing resource with a label associated with the second workload by swapping labels on the identified computing resource to place the second workload on the identified computing resource;
mark resource nodes belonging to the first workload that are not to be re-used by one or more subsequent workloads for deletion;
execute the second workload using the identified computing resource; and
return computing resources corresponding to the resource nodes marked for deletion to the cloud-based resource provider and scale down an aggregated pool of resources based on the resource nodes marked for deletion.
9 . The computer-readable medium of claim 8 , wherein acquiring the plurality of computing resources includes adding a label associated with the first workload to each respective computing resource in the plurality of computing resources.
10 . The computer-readable medium of claim 8 , wherein the instructions, when executed by the computer system, further cause the computer system to return computing resources from the plurality of computing resources to the cloud-based resource provider that are not used by the second workload subsequent to completion of the execution of the first workload.
11 . The computer-readable medium of claim 8 , wherein the instructions, when executed by the computer system, further cause the computer system to detect a failure in the execution of the first workload, and to return computing resources from the plurality of computing resources to the cloud-based resource provider that are not used by the second workload in response to detecting the execution failure.
12 . The computer-readable medium of claim 8 , wherein acquiring the plurality of computing resources includes performing a hierarchal quota enforcement process to confirm the acquisition of each computing resource in the plurality of computing resources.
13 . The computer-readable medium of claim 12 , wherein the hierarchal quota enforcement process is based on a type of computing resource for each computing resource in the plurality of computing resources.
14 . The computer-readable medium of claim 13 , wherein the type of computing resource is associated with at least one of: a processor, a computing device, a storage medium, a virtual machine, and a software service.
15 . A computer-implemented method comprising:
performing, by a computer system, a hierarchal quota enforcement process to confirm acquisition of computing resources, the hierarchal quota process limiting aggregate resource consumption by checking an assigned quota to a user or a node across a plurality of namespaces and being based on a type of computing resource;
acquiring, by the computer system, from a cloud-based resource provider, a plurality of computing resources comprising at least one of virtual machine instances or container instances to execute a first workload;
executing, by the computer system, the first workload using the plurality of computing resources;
identifying, by the computer system, a second workload for execution subsequent to the execution of the first workload;
identifying, by the computer system, a computing resource in the plurality of computing resources common to the first workload and the second workload;
performing, by the computer system, a matching strategy for aggregated resource assignment based on workloads in a workload queue to select the identified computing resource;
replacing, by the computer system, a label associated with the first workload on the identified computing resource with a label associated with the second workload by swapping labels on the identified computing resource to place the second workload on the identified computing resource;
marking, by the computer system, resource nodes belonging to the first workload that are not to be re-used by one or more subsequent workloads for deletion;
executing, by the computer system, the second workload using the identified computing resource; and
returning, by the computer system, computing resources corresponding to the resource nodes marked for deletion to the cloud-based resource provider and scaling down an aggregated pool of resources based on the resource nodes marked for deletion.
16 . The computer-implemented method of claim 15 , wherein acquiring the plurality of computing resources includes adding a label associated with the first workload to each respective computing resource in the plurality of computing resources.
17 . The computer-implemented method of claim 15 , further comprising returning, by the computer system, computing resources from the plurality of computing resources to the cloud-based resource provider that are not used by the second workload subsequent to completion of the execution of the first workload.
18 . The computer-implemented method of claim 15 , further comprising detecting, by the computer system, a failure in the execution of the first workload, and returning computing resources from the plurality of computing resources to the cloud-based resource provider that are not used by the second workload in response to detecting the execution failure.
19 . The computer-implemented method of claim 15 , wherein acquiring the plurality of computing resources includes performing a hierarchal quota enforcement process to confirm the acquisition of each computing resource in the plurality of computing resources.
20 . The computer-implemented method of claim 19 , wherein the hierarchal quota enforcement process is based on a type of computing resource for each computing resource in the plurality of computing resources, and wherein the type of computing resource is associated with at least one of: a processor, a computing device, a storage medium, a virtual machine, and a software service.