Dynamic resource management for stream analytics
A computer implemented method is provided for resource management of stream analytics at each individual node that includes computing a mean of output processing rate of microservices in a pipeline; and evaluating a state of each microservice of the microservices in the pipeline. The computer implemented method also includes selecting a single microservice from the pipeline for updating resources for an action that changes the state in single the microservice that is selected; and performing resource allocation update for the selected microservice. The computer implemented method may also include updating the state of the selected microservice.
1 . A computer implemented method for resource management of stream analytics at each individual node comprising:
computing a mean of output processing rate of microservices in a pipeline;
evaluating a state of each microservice of the microservices in the pipeline, wherein the evaluating of the state employs a Q-learning workflow of a reinforcement learning (RL) method;
selecting a single microservice from the pipeline for updating resources for an action that changes the state in the single microservice that is selected, wherein in exploitation mode the microservice with a maximum Q-value is selected from the Q-learning workflow, wherein a Q-value illustrates a positive change in state for an allocation change;
performing resource allocation updates for the selected microservice; and
updating the state of the selected microservice with a chosen resource allocation.
2 . The computer implemented method of claim 1 , wherein the evaluating of the state of each activation state comprising storing a best Q-value for the each microservice.
3 . The computer implemented method of claim 1 , wherein in exploration mode to select the microservice for updating resources, the microservice for updating the resources is selected randomly.
4 . The computer implemented method of claim 1 , wherein performing the resource allocation updates includes computing an expected output processing rate.
5 . The computer implemented method of claim 1 , wherein the updating the state of the selected microservice with the resource allocation includes a reward computation and updating of a Q-value for the selected microservice using a Bellman's equation.
6 . The computer implemented method of claim 1 , wherein the resources are selected from nodes by availability of CPU cores and random access memory (RAM) availability.
7 . The computer implemented method of claim 1 , wherein the microservices are directed towards object identification from a video stream.
8 . The computer implemented method of claim 7 , wherein the object identification is facial recognition.
9 . A system for resource management of stream analytics at each individual node comprising:
a hardware processor; and
a memory that stores a computer program product, the computer program product when executed by the hardware processor, causes the hardware processor to:
compute a mean of output processing rate of microservices in a pipeline;
evaluate a state of each microservice of the microservices in the pipeline, wherein the evaluate of the state employs a Q-learning workflow of a reinforcement learning (RL) method;
select a single microservice from the pipeline for updating resources for an action that changes the state in the single microservice that is selected, wherein in exploitation mode the microservice with a maximum Q-value is selected from the Q-learning workflow, where a Q-value illustrates a positive change in state for an allocation change;
perform resource allocation updates for the selected microservice; and
update the state of the selected microservice with a chosen resource allocation.
10 . The system of claim 9 , wherein the evaluate of the state of each activation state comprising storing a best Q-value for the each microservice.
11 . The system of claim 9 , wherein in exploration mode to select the microservice for updating resources, the microservice for updating the resources is selected randomly.
12 . The system of claim 9 , wherein the perform the resource allocation updates includes computing an expected output processing rate.
13 . The system of claim 9 , wherein the updating the state of the selected microservice with the resource allocation includes a reward computation and updating of a Q-value for the selected microservice using a Bellman's equation.
14 . The system of claim 9 , wherein the resources are selected from nodes by availability of CPU cores and random access memory (RAM) availability.
15 . The system of claim 9 , wherein the microservices are directed towards object identification from a video stream.
16 . A computer program product for resource management of stream analytics at each individual node comprising a computer readable storage medium having computer readable program code embodied therewith the computer readable program code executable by a hardware processor to cause the hardware processor to:
compute, using the hardware processor, a mean of output processing rate of microservices in pipeline of edge node;
evaluate, using the hardware processor, a state of each microservice of the microservices in the pipeline, wherein the evaluate of the state employs a Q-learning workflow of a reinforcement learning (RL) method;
select, using the hardware processor, a single microservice from the pipeline for updating resources for an action that changes the state in the single microservice that is selected, wherein in exploitation mode the microservice with a maximum Q-value is selected from the Q-learning workflow, wherein a Q-value illustrates a positive change in state for an allocation change;
perform, using the hardware processor, resource allocation update for the selected microservice; and
update, using the hardware processor, the state of the selected microservice with a chosen resource allocation.