Dynamic Resource Management for Stream Analytics Microservices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Stream analytics applications deployed on edge devices face challenges in efficiently managing dynamic resource allocation due to varying resource requirements of microservices based on input data and traffic volume, leading to suboptimal performance and increased costs.

Innovation Solution

A dynamic resource management system utilizing reinforcement learning, specifically a modified Q-learning algorithm, to optimize resource allocation for microservices in stream analytics pipelines by analyzing resource profiles and pipeline topology, allowing for continuous learning and efficient allocation of CPU and memory resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional static resource allocation is used for microservices in stream analytics pipelines, then device complexity is reduced and ease of operation is improved, but productivity decreases and resource utilization is suboptimal

Engineering Contradiction:
Improveprocessing rateVSAvoidresource management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements self-service through reinforcement learning algorithms that automatically learn and optimize resource allocation policies for microservices without human intervention. The allocator agent continuously monitors system state and autonomously adjusts resource distribution to maximize processing rate while adapting to changing traffic patterns and data characteristics.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system dynamically changes resource allocation parameters based on learned policies from reinforcement learning. The allocator adjusts CPU, memory, and other resource parameters for each microservice according to the current system state, traffic volume, and data characteristics, enabling optimal performance under varying conditions.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If dynamic resource allocation is implemented to handle varying resource requirements, then productivity is improved, but device complexity increases due to the need for continuous monitoring and adjustment mechanisms

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidmonitoring and control system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements feedback mechanisms where the reinforcement learning allocator continuously monitors microservice performance metrics, resource utilization, and system state. This feedback loop enables the allocator to learn from past decisions and adjust resource allocation dynamically, improving resource utilization efficiency while managing complexity through intelligent automation.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The resource allocation system transitions from static to dynamic operation, allowing resource distribution to adapt automatically to changing conditions. The reinforcement learning-based allocator adjusts resource parameters in real-time based on traffic patterns, data characteristics, and microservice performance, achieving high resource utilization without manual intervention.

Inventive Principle:
Principle #15Dynamics

3Productivity

If reinforcement learning is used to optimize resource allocation, then productivity increases significantly, but the difficulty of detecting and measuring system state increases

Engineering Contradiction:
Improveoverall processing rateVSAvoidsystem state analysis complexity
Core Design Contradiction:
ProductivityVSDifficulty of detecting and measuring

Solution Approach 1:

The system performs preliminary actions by pre-processing and normalizing system state data before feeding it to the reinforcement learning allocator. The allocator agent is trained in advance on simulated environments to learn optimal allocation policies, reducing the complexity of real-time state detection and measurement while maintaining high productivity.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20240118938A1Dynamic resource management for stream analytics
Publication Date: 2024.04.11 NEC CORP
  • US20240118938A1 patent drawing
  • US20240118938A1 patent drawing
  • US20240118938A1 patent drawing

AI summary

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.