Dynamic CPU Allocation for I/O Resource Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storage controllers face challenges in balancing CPU resource allocation between high-performance I/O resources and other tasks, requiring dynamic adjustment of CPU utilization thresholds to meet performance requirements while optimizing CPU usage across multiple workloads.

Innovation Solution

A method and system that dynamically allocate and reallocate CPUs based on utilization thresholds, configuring them as dedicated or reserved CPUs for I/O resources, allowing for efficient task distribution between I/O operations and other tasks by adjusting CPU allocation in response to changing utilization levels.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If CPUs are allocated as dedicated CPUs for I/O resources, then performance of I/O resources is improved, but CPU resource utilization efficiency deteriorates

Engineering Contradiction:
Improveperformance of I/O resourceVSAvoidCPU resource utilization efficiency
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent implements dynamic CPU allocation where CPUs can switch between dedicated and reserved states based on real-time utilization thresholds. When utilization exceeds a threshold, CPUs are allocated as dedicated to I/O resources; when below the threshold, they revert to reserved status for general use. This dynamic adjustment resolves the contradiction by ensuring dedicated CPU allocation only when performance requirements demand it, thereby maintaining I/O performance while optimizing overall CPU utilization efficiency.

Inventive Principle:
Principle #15Dynamics

2Loss of energy

If CPUs are allocated as reserved CPUs for other tasks, then CPU resource utilization efficiency is improved, but performance of I/O resources deteriorates

Engineering Contradiction:
ImproveCPU resource utilization efficiencyVSAvoidperformance of I/O resource
Core Design Contradiction:
Loss of energyVSReliability

Solution Approach 1:

The system continuously monitors CPU utilization metrics and uses this feedback to dynamically adjust CPU allocation. When utilization exceeds a predetermined threshold, the system responds by allocating CPUs as dedicated to I/O resources, ensuring performance requirements are met. This feedback mechanism resolves the contradiction by preventing I/O performance deterioration while maximizing CPU utilization during periods of lower demand.

Inventive Principle:
Principle #23Feedback

3Reliability

If the number of dedicated CPUs is increased, then performance requirements of I/O resources are met, but system complexity increases

Engineering Contradiction:
Improveperformance requirement of I/O resourceVSAvoidCPU allocation management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements an automated CPU allocation system that self-manages the dynamic assignment of CPUs based on utilization thresholds. The system automatically monitors performance metrics, determines when dedicated CPU allocation is required, and executes the allocation without manual intervention. This self-service approach resolves the contradiction by meeting I/O performance requirements while minimizing the operational complexity of CPU allocation management through automation.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11307900B2Adjustment of the number of central processing units to meet performance requirements of an I/O resource
Publication Date: 2022.04.19 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11307900B2 patent drawing
  • US11307900B2 patent drawing
  • US11307900B2 patent drawing

AI summary

A plurality of central processing units (CPUs) are allocated as a set of dedicated CPUs for processing tasks of an input/output (I/O) resource. In response to determining that a CPU utilization for the set of dedicated CPUs is less than a first predetermined threshold, at least one CPU of the set of dedicated CPUs is configured as a reserved CPU to execute tasks for one or more entities other than the I/O resource. In response to determining that a CPU utilization for the set of dedicated CPUs is greater than a second predetermined threshold, the reserved CPU is configured as a dedicated CPU to process tasks for the I/O resource.