Dynamic container grouping
In an approach for optimally grouping containers, a processor passively monitors a set of parameters for a set of containers within a network. A processor records the set of parameters for each container of the set of containers. A processor deploys a k-nearest neighbor neural network (KNN) to determine a first set of groupings of the set of containers based on the set of parameters. A processor simulates the network having grouped containers based on the first set of groupings of the set of containers output by the KNN. A processor simulates an action on the set of containers. A processor updates a reward function based on the action. A processor determines whether a maximum value of the reward function is reached.
1. A computer-implemented method for optimally grouping containers, the computer-implemented method comprising:
passively monitoring, by one or more processors, a set of parameters for a set of containers within a network;
recording, by one or more processors, the set of parameters for each container of the set of containers;
deploying, by one or more processors, a k-nearest neighbor neural network (KNN) to determine a first set of groupings of the set of containers based on the set of parameters;
simulating, by one or more processors, the network having grouped containers based on the first set of groupings of the set of containers output by the KNN;
simulating, by one or more processors, an action on the set of containers;
updating, by one or more processors, a reward function based on the action; and
determining, by one or more processors, whether a maximum value of the reward function is reached with a set of groupings of the set of containers, the set of groupings dictating a plurality of groups of the set of containers, wherein each group of the plurality of groups comprises a respective one or more containers, of the set of containers, to execute on a common one or more servers, and wherein the maximum value indicates that a maximum reward of execution of the set of containers within the network is obtained using that set of groupings.
2. The computer-implemented method of claim 1 , further comprising:
responsive to determining that the maximum value of the reward function is reached, outputting, by one or more processors, a set of groupings of the set of containers that produced the maximum value of the reward function to a container orchestration system.
3. The computer-implemented method of claim 1 , further comprising:
responsive to determining that the maximum value of the reward function was not reached, simulating, by one or more processors, a second action on the set of containers;
updating, by one or more processors, the reward function based on the second action; and
determining, by one or more processors, whether the maximum value of the reward function is reached.
4. The computer-implemented method of claim 1 , wherein the set of parameters include a set of state parameters, an action parameter, a transition parameter, and a reward parameter.
5. The computer-implemented method of claim 1 , wherein the action is transferring a container from a first grouping to a second grouping.
6. The computer-implemented method of claim 1 , further comprising:
recording, by one or more processors, execution times of the set of containers; and
inputting, by one or more processors, the execution times of the set of containers into the KNN.
7. The computer-implemented method of claim 1 , further comprising:
receiving, by one or more processors, the first set of groupings of the set of containers output by the KNN.
8. A computer program product for optimally grouping containers, the computer program product comprising:
one or more computer readable storage media and program instructions stored on the one or more computer readable storage media, the program instructions comprising:
program instructions to passively monitor a set of parameters of a set of containers within a network;
program instructions to record the set of parameters for each container of the set of containers;
program instructions to deploy a k-nearest neighbor neural network (KNN) to determine a first set of groupings of the set of containers based on the set of parameters;
program instructions to simulate the network having grouped containers based on the first set of groupings of the set of containers output by the KNN;
program instructions to simulate an action on the set of containers;
program instructions to update a reward function based on the action; and
program instructions to determine whether a maximum value of the reward function is reached with a set of groupings of the set of containers, the set of groupings dictating a plurality of groups of the set of containers, wherein each group of the plurality of groups comprises a respective one or more containers, of the set of containers, to execute on a common one or more servers, and wherein the maximum value indicates that a maximum reward of execution of the set of containers within the network is obtained using that set of groupings.
9. The computer program product of claim 8 , further comprising:
responsive to determining that the maximum value of the reward function is reached, program instructions to output a respective set of groupings of the set of containers that produced the maximum value of the reward function to a container orchestration system.
10. The computer program product of claim 8 , further comprising:
responsive to determining that the maximum value of the reward function was not reached, program instructions to simulate a second action on the set of containers;
program instructions to update the reward function based on the second action; and
program instructions to determine whether the maximum value of the reward function is reached.
11. The computer program product of claim 8 , wherein the set of parameters include a set of state parameters, an action parameter, a transition parameter, and a reward parameter.
12. The computer program product of claim 8 , wherein the action is transferring a container from a first grouping to a second grouping.
13. The computer program product of claim 8 , further comprising:
program instructions to record execution times of the set of containers; and
program instructions to input the execution times of the set of containers into the KNN.
14. The computer program product of claim 8 , further comprising:
program instructions to receive the first set of groupings of the set of containers output by the KNN.
15. A computer system for optimally grouping containers, the computer system comprising:
one or more computer processors;
one or more computer readable storage media;
program instructions stored on the computer readable storage media for execution by at least one of the one or more processors, the program instructions comprising:
program instructions to passively monitor a set of parameters of a set of containers within a network;
program instructions to record the set of parameters for each container of the set of containers;
program instructions to deploy a k-nearest neighbor neural network (KNN) to determine a first set of groupings of the set of containers based on the set of parameters;
program instructions to simulate the network having grouped containers based on the first set of groupings of the set of containers output by the KNN;
program instructions to simulate an action on the set of containers;
program instructions to update a reward function based on the action; and
program instructions to determine whether a maximum value of the reward function is reached with a set of groupings of the set of containers, the set of groupings dictating a plurality of groups of the set of containers, wherein each group of the plurality of groups comprises a respective one or more containers, of the set of containers, to execute on a common one or more servers, and wherein the maximum value indicates that a maximum reward of execution of the set of containers within the network is obtained using that set of groupings.
16. The computer system of claim 15 , further comprising:
responsive to determining that the maximum value of the reward function is reached, program instructions to output a respective set of groupings of the set of containers that produced the maximum value of the reward function to a container orchestration system.
17. The computer system of claim 15 , wherein the set of parameters include a set of state parameters, an action parameter, a transition parameter, and a reward parameter.
18. The computer system of claim 15 , wherein the action is transferring a container from a first grouping to a second grouping.
19. The computer system of claim 15 , further comprising:
program instructions to record execution times of the set of containers; and
program instructions to input the execution times of the set of containers into the KNN.
20. The computer system of claim 15 , further comprising:
program instructions to receive the first set of groupings of the set of containers output by the KNN.