Dynamic CPU Core Assignment for Storage I/O Latency
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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
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.
Data Source
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.


