Dynamic Resource Allocation for Cloud Micro-Service Containers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In Open RAN systems, the static allocation of CPU cores and memory resources to micro-services in cloud native environments leads to inefficiencies, as many micro-services have variable load and processing requirements, resulting in underutilization of resources due to the inability to allocate partial resources and guarantee availability when needed.
Innovation Solution
A dynamic resource allocation system where an agent monitors and adjusts resource allocation to micro-services based on consumption thresholds, incrementing resources when demand exceeds an upper threshold and decrementing when below a lower threshold, and schedules micro-services to idle areas during low activity periods to optimize resource usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If static allocation of CPU cores and memory resources is used to micro-services, then resource availability is guaranteed, but resource utilization efficiency deteriorates due to underutilization
Solution Approach 1:
The patent implements dynamic resource allocation by continuously monitoring resource consumption metrics (CPU utilization, memory usage, I/O operations) and adjusting the number of allocated CPU cores and memory size based on current demand. This transforms the static allocation model into a dynamic one that adapts to varying workloads, ensuring both availability and efficiency.
Solution Approach 2:
The system employs feedback mechanisms by monitoring resource consumption patterns and using this information to adjust allocations. The monitoring component tracks actual resource usage, and this data feeds back into the allocation decision-making process, allowing the system to optimize resource distribution based on real-world performance data.
2Productivity
If partial resource allocation is implemented to micro-services, then resource utilization efficiency improves, but the complexity of resource management increases
Solution Approach 1:
The patent implements self-service mechanisms where micro-services automatically report their resource consumption patterns and requirements. The allocation system uses this self-reported data along with monitoring information to automatically adjust allocations without manual intervention, reducing the operational complexity of managing partial resource allocations across multiple services.
Solution Approach 2:
The system manages complexity by focusing on changing key parameters (CPU core count, memory size, I/O bandwidth) in a structured manner. By establishing clear parameter thresholds and adjustment rules, the system transforms the complex problem of partial resource allocation into a manageable set of parameter adjustments based on monitored performance metrics.
3Reliability
If resources are allocated based on peak demand, then resource availability is ensured, but resource waste increases during low activity periods
Solution Approach 1:
The patent implements periodic monitoring and adjustment of resource allocations based on observed usage patterns. By analyzing resource consumption over time periods and identifying cyclical patterns, the system adjusts allocations periodically to match anticipated demand, reducing waste during low-activity periods while maintaining availability during peak periods.
Solution Approach 2:
The system uses historical monitoring data to predict future resource requirements and makes preliminary allocation adjustments before peak demand occurs. This proactive approach allows the system to pre-allocate resources based on predicted patterns rather than reacting to peak demand, reducing waste during low-activity periods while ensuring availability when needed.
Data Source
AI summary
Dynamic allocation of resources to application micro-services is performed by receiving, by an agent executed on a server of a cloud computing environment, a request to provision a container for a micro-service of an application, provisioning, by the agent, the container for the micro-service on the worker server with an allocated resource amount, detecting, by the agent, a resource consumption amount of the micro-service, increasing, by the agent in response to the resource consumption amount exceeding an upper resource consumption threshold value, the allocated resource amount by a resource increment, and reducing, by the agent in response to the resource consumption amount exceeding a lower resource consumption threshold value, the allocated resource amount by the resource increment.


