CPU Core Partitioning by I/O Type for Storage Workloads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data storage systems face inefficiencies due to interleaved execution of different types of I/O operations, such as reads and writes, leading to inaccurate branch prediction and cache inefficiencies, which degrade performance.

Innovation Solution

The system segregates CPU cores into subsets based on I/O types, with one subset handling reads and another subset handling writes, dynamically adjusting core counts based on outstanding requests and queue depths to optimize performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If CPU cores execute interleaved I/O operations (reads and writes), then general processing capability is maintained, but branch prediction accuracy degrades and cache efficiency decreases

Engineering Contradiction:
ImproveI/O processing throughputVSAvoidbranch prediction accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent divides CPU cores into distinct subsets: read I/O cores dedicated to handling read operations and write I/O cores dedicated to handling write operations. This segmentation prevents interleaved execution of different I/O types on the same core, thereby maintaining accurate branch prediction and cache efficiency while preserving overall processing capability through parallel operation of separate core subsets.

Inventive Principle:
Principle #1Segmentation

2Reliability

If CPU cores are segregated into read-specific and write-specific subsets, then branch prediction accuracy and cache efficiency improve, but system complexity increases

Engineering Contradiction:
Improvebranch prediction accuracyVSAvoidcore management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a unified I/O request distribution mechanism that dynamically routes both read and write requests to appropriate core subsets based on request type. This universal distribution approach simplifies core management by providing a single entry point for all I/O requests while maintaining the benefits of specialized core subsets, thereby reducing system complexity compared to having separate management paths for reads and writes.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Loss of energy

If CPU cores are dedicated to specific I/O types, then cache efficiency improves, but adaptability to varying I/O workloads decreases

Engineering Contradiction:
Improvecache efficiencyVSAvoidworkload adaptability
Core Design Contradiction:
Loss of energyVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic workload distribution that monitors I/O request patterns and adjusts the allocation and utilization of read and write core subsets accordingly. This dynamic approach allows the system to adapt to varying workload conditions (e.g., read-heavy or write-heavy periods) while maintaining the cache efficiency benefits of dedicated core subsets, as the distribution mechanism can shift request routing based on current workload characteristics.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12493574B2Techniques for CPU core management based on operation types
Publication Date: 2025.12.09 DELL PROD LP
  • US12493574B2 patent drawing
  • US12493574B2 patent drawing
  • US12493574B2 patent drawing

AI summary

In at least one embodiment, processing can include: partitioning a first set of CPU cores into a plurality of CPU core subsets each associated with a single corresponding one of a plurality of predefined I/O types; classifying each of a plurality of I/O requests as one of the plurality of predefined I/O types; for each of the plurality of I/O requests, selecting a CPU core from a first CPU core subset of the plurality of CPU core subsets based, at least in part, on the first CPU core subset having a corresponding one of the plurality of predefined I/O types that matches an associated one of the plurality of predefined I/O types of said each I/O request; and processing the plurality of I/O requests on their selected CPU cores.