Cascaded PID CPU Allocation for Service Levels and Utilization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data storage systems face challenges in efficiently allocating and managing CPU resources across multiple applications and services, leading to inefficiencies in resource utilization and potential bottlenecks during peak workloads.

Innovation Solution

A cascaded PID controller system is implemented to monitor and manage CPU resources, using a first PID controller to determine when CPU resources are available and a second PID controller to optimize deallocation and allocation based on resource policies, ensuring efficient distribution and utilization of CPU resources across applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If CPU resources are statically allocated to applications, then service level requirements are guaranteed, but resource utilization efficiency deteriorates during varying workloads

Engineering Contradiction:
Improveservice level requirementsVSAvoidresource utilization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic CPU resource allocation by replacing static allocation with a control system that continuously monitors workload conditions and adjusts resource distribution in real-time. The PID controller dynamically modifies the number of CPUs allocated to applications based on current system state, transforming the rigid static allocation into a flexible dynamic system that adapts to varying workload demands while maintaining service level requirements.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent employs a feedback mechanism where the PID controller continuously monitors system performance metrics and resource usage, then uses this feedback information to adjust CPU allocation decisions. The controller receives feedback about current workload conditions, resource utilization levels, and service level compliance, and uses this feedback to iteratively optimize resource distribution, resolving the contradiction between guaranteeing service levels and maximizing utilization efficiency.

Inventive Principle:
Principle #23Feedback

2Productivity

If CPU resources are dynamically reallocated based on workload, then resource utilization efficiency improves, but system complexity increases

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidresource management system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a PID controller as an intermediary component that mediates between workload conditions and CPU allocation decisions. This intermediary abstracts the complexity of dynamic resource management by implementing a well-established control theory framework, which simplifies the overall system architecture compared to implementing complex custom allocation algorithms. The PID controller serves as a manageable intermediate layer that handles the complexity of dynamic adjustments while presenting a simpler interface to the rest of the system.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent utilizes parameter changes within the PID controller framework to manage dynamic resource allocation. By adjusting the proportional, integral, and derivative parameters of the controller, the system can optimize its response characteristics without changing the fundamental allocation logic. This approach allows for fine-tuning the system's behavior to balance utilization efficiency and complexity, leveraging parameter optimization rather than structural complexity increases.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If more CPUs are allocated to applications, then application performance improves, but available free CPU resources decrease

Engineering Contradiction:
Improveapplication performanceVSAvoidavailable free CPU resources
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent implements periodic monitoring and adjustment of CPU allocation through the PID controller, which continuously evaluates system state at regular intervals and makes incremental adjustments. This periodic action allows the system to allocate CPUs to applications when performance improvement is needed while periodically freeing up resources when they are no longer required, preventing permanent resource exhaustion and maintaining a balance between application performance and available free resources.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The PID controller uses parameter changes to dynamically adjust the number of allocated CPUs based on real-time system conditions. By modifying allocation parameters responsively, the system can increase CPU allocation to improve application performance when workload demands are high, and decrease allocation to preserve free resources when demands are low, thereby dynamically balancing these competing objectives without permanent resource commitment.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11347552B2Resource monitoring and allocation using proportional-integral-derivative controllers
Publication Date: 2022.05.31 EMC IP HLDG CO LLC
  • US11347552B2 patent drawing
  • US11347552B2 patent drawing
  • US11347552B2 patent drawing

AI summary

Techniques for allocating resources in a system may include: monitoring, using a first proportional-integral-derivative (PID) controller, a size of a pool of free shared resources of a first type; responsive to determining the size of the pool of the free shared resources is at least a minimum threshold, providing the size of the pool of free shared resources as an input to a second PID controller; monitoring, using the second PID controller, a total amount of resources of the first type that are available; determining, using the second PID controller and in accordance with one or more resource policies for one or more applications, a deallocation rate or amount; deallocating, using the second PID controller and in accordance with the deallocation rate or amount, resources of the first type; and allocating a least a first of the deallocated resources for use by one of the applications.