Dynamic CPU Core Assignment for Storage I/O Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data storage systems face inefficiencies due to the potential starvation of CPU resources for host I/O processing tasks when many long-running background tasks are distributed across multiple CPU cores.

Innovation Solution

Implement a dynamic task assignment method that selectively assigns host I/O tasks to CPU cores running fewer long-running background storage tasks, while limiting the number of cores for long-running background tasks and balancing the assignment of short-running background tasks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If many long-running background tasks are distributed to many cores at once, then background storage processing throughput is improved, but host I/O processing latency increases due to CPU resource starvation

Engineering Contradiction:
Improvebackground storage processing throughputVSAvoidhost I/O processing latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements dynamic core assignment where the system continuously monitors CPU core utilization and adjusts task distribution in real-time. Background tasks are dynamically migrated between cores based on current load conditions, and host I/O tasks are selectively assigned to cores with lower background task counts. This dynamic adaptation resolves the contradiction by allowing high background processing throughput when cores are available, while automatically reducing background task concentration on cores handling host I/O, thus preventing latency increases.

Inventive Principle:
Principle #15Dynamics

2Reliability

If cores are exclusively pre-allocated for host I/Os and background storage processing, then resource contention is reduced, but system flexibility and CPU utilization efficiency deteriorate

Engineering Contradiction:
Improveresource contention reductionVSAvoidsystem flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent segments the core selection process into two independent but coordinated components: background task assignment and host I/O task assignment. Background tasks are assigned to available cores without restriction, while host I/O tasks are assigned to cores based on a separate criterion (selecting cores running fewer background tasks). This segmentation allows the system to maintain flexibility in background task distribution while ensuring host I/O tasks receive preferential treatment, resolving the contradiction between resource contention reduction and system flexibility.

Inventive Principle:
Principle #1Segmentation

3Productivity

If all CPU cores are used for both host I/O and background tasks, then CPU utilization efficiency is improved, but host I/O processing reliability deteriorates due to resource starvation

Engineering Contradiction:
ImproveCPU utilization efficiencyVSAvoidhost I/O processing reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies local quality by creating different assignment rules for different task types on different cores. Instead of uniform treatment, host I/O tasks are selectively assigned to cores with favorable conditions (fewer background tasks), while background tasks are assigned more freely. This local differentiation ensures that specific cores become temporarily dedicated to host I/O processing when needed, maintaining high reliability without preventing overall high CPU utilization across the system.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS12271752B2Techniques for managing cores for storage
Publication Date: 2025.04.08 EMC IP HLDG CO LLC
  • US12271752B2 patent drawing
  • US12271752B2 patent drawing
  • US12271752B2 patent drawing

AI summary

A method of managing CPU cores in a data storage apparatus (DSA) configured to perform both host I/O (Input/Output) processing and background storage processing is provided. The method includes (a) selectively classifying background storage tasks in one of a first classification for longer-running tasks and a second classification for shorter-running tasks; (b) selecting CPU cores that are running fewer than a threshold number of first-classification background tasks to process host I/O requests; and (c) processing the host I/O requests on their selected CPU cores. An apparatus, system, and computer program product for performing a similar method are also provided.