Relative displaceable capacity integration
A system may include a memory and a processor in communication with the memory. The processor may be configured to perform operations. The operations may include analyzing a host system, detecting one or more specifications of the host system, and determining a displaceable capacity of the host system. The determining a displaceable capacity of the host system may include identifying a workload on the host system, establishing a workload priority for the workload, and defining a task priority of a task. The operations may include computing service metrics of the host system. The operations may include displacing a portion of the workload using the displaceable capacity.
1 . A system, said system comprising:
a memory; and
a processor in communication with said memory, said processor being configured to perform operations, said operations comprising:
executing a scheduler and an agent;
analyzing, by said agent, a host system;
detecting, by said agent, one or more specifications of said host system;
receiving, by said scheduler, a task for scheduling on said host system, wherein said task has a task priority;
subsequent to said receiving, determining, by said agent, a displaceable capacity for said host system, wherein said displaceable capacity is calculated by summing one or more component displaceable capacities within a host system capacity with a free capacity of said host system, wherein said one or more component displaceable capacities each represent capacity used for a respective workload in said host system, wherein said workloads each have a workload priority, and wherein said task priority is greater than said workload priorities;
displacing, with a scheduler for said host system, a portion of said workloads to make said displaceable capacity used by said portion of said workloads available for said task, wherein said displacing further performs:
based on said determining that said task priority is greater than said workload priorities; and the calculated displaceable capacity for the host system, displacing said portion of said workloads executing on said host system using said displaceable capacity, wherein a scheduler for said host system displaces said portion of said workloads to make said displaceable capacity available for said task by either pausing said portion of said workloads until enough resources for the execution are available, stopping said portion of said workloads, or transferring said portion of said workloads to a different host system; and
executing said task on said host system.
2 . The system of claim 1 , further comprising: quantifying said one or more component displaceable capacities, wherein said quantifying said one or more component displaceable capacities comprises:
for each of the one or more workloads:
associating said workload with a component;
establishing a component workload priority;
comparing said component workload priority to said task priority;
identifying said task priority is greater than said component workload priority; and
quantitating said component workload priority.
3 . The system of claim 2 , wherein: said one or more components is selected from the group comprising: a pod, a node, a cluster, an open-source container, or a sysplex.
4 . The system of claim 1 , further comprising: deploying a task workload associated with said task into an available capacity.
5 . The system of claim 1 , further comprising: transforming service metrics of said host system; and normalizing said service metrics to generate normalized service metrics.
6 . The system of claim 5 , further comprising: incorporating said normalized service metrics into a scheduling algorithm; and scheduling, with said scheduling algorithm, said task to said host system.
7 . A computer-implemented method, said method comprising:
executing a scheduler and an agent;
analyzing, by said agent, a host system;
detecting, by said agent, one or more specifications of said host system;
receiving, by said scheduler, a task for scheduling on said host system, wherein said task has a task priority;
subsequent to said receiving, determining, by said agent, a displaceable capacity for said host system, wherein said displaceable capacity is calculated by summing one or more component displaceable capacities within a host system capacity with a free capacity of said host system, wherein said one or more component displaceable capacities each represent capacity used for a respective workload in said host system, wherein said workloads each have a workload priority, and wherein said task priority is greater than said workload priorities;
displacing, with a scheduler for said host system, a portion of said workloads to make said displaceable capacity used by said portion of said workloads available for said task, wherein said displacing further performs:
based on said determining that said task priority is greater than said workload priorities; and the calculated displaceable capacity for the host system, displacing said portion of said workloads executing on said host system using said displaceable capacity, wherein a scheduler for said host system displaces said portion of said workloads to make said displaceable capacity available for said task by either pausing said portion of said workloads until enough resources for the execution are available, stopping said portion of said workloads, or transferring said portion of said workloads to a different host system; and
executing said task on said host system.
8 . The computer-implemented method of claim 7 , further comprising: quantifying said one or more component displaceable capacities, wherein said quantifying said one or more component displaceable capacities comprises:
for each of the one or more workloads:
associating said workload with a component;
establishing a component workload priority;
comparing said component workload priority to said task priority;
identifying said task priority is greater than said component workload priority; and
quantitating said component workload priority.
9 . The computer-implemented method of claim 8 , wherein: said one or more components is selected from the group comprising: a pod, a node, a cluster, an open-source container, or a sysplex.
10 . The computer-implemented method of claim 7 , further comprising:
deploying a task workload associated with said task into an available capacity.
11 . The computer-implemented method of claim 7 , further comprising:
transforming service metrics of said host system; and normalizing said service metrics to generate normalized service metrics.
12 . The computer-implemented method of claim 11 , further comprising: incorporating said normalized service metrics into a scheduling algorithm; and scheduling, with said scheduling algorithm, said task to said host system.
13 . A computer program product, said computer program product comprising a computer readable storage medium having program instructions embodied therewith, said program instructions executable by a processor to cause said processor to perform a function, said function comprising:
executing a scheduler and an agent;
analyzing, by said agent, a host system;
detecting, by said agent, one or more specifications of said host system;
receiving, by said scheduler, a task for scheduling on said host system, wherein said task has a task priority;
subsequent to said receiving, determining, by said agent, a displaceable capacity for said host system, wherein said displaceable capacity is calculated by summing one or more component displaceable capacities within a host system capacity with a free capacity of said host system, wherein said one or more component displaceable capacities each represent capacity used for a respective workload in said host system, wherein said workloads each have a workload priority, and wherein said task priority is greater than said workload priorities;
displacing, with a scheduler for said host system, a portion of said workloads to make said displaceable capacity used by said portion of said workloads available for said task, wherein said displacing further performs:
based on said determining that said task priority is greater than said workload priorities; and the calculated displaceable capacity for the host system, displacing said portion of said workloads executing on said host system using said displaceable capacity, wherein a scheduler for said host system displaces said portion of said workloads to make said displaceable capacity available for said task by either pausing said portion of said workloads until enough resources for the execution are available, stopping said portion of said workloads, or transferring said portion of said workloads to a different host system; and
executing said task on said host system.
14 . The computer program product of claim 13 , further comprising: quantifying said one or more component displaceable capacities, wherein said quantifying said one or more component displaceable capacities comprises:
for each of the one or more workloads:
associating said workload with a component;
establishing a component workload priority;
comparing said component workload priority to said task priority;
identifying said task priority is greater than said component workload priority; and
quantitating said component workload priority.
15 . The computer program product of claim 13 , further comprising: deploying a task workload associated with said task into an available capacity.