Asymmetric CPU Core Sharing for Low-Latency Storage I/O
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data storage systems lack flexibility in sharing processor cores between storage system applications and containerized services, leading to inflexible utilization and potential increases in host I/O request processing latency.
Innovation Solution
Allocate a shared portion of processor cores for both storage system applications and containerized services, with a non-shared portion exclusively for storage system applications, dynamically assigning tasks based on load balancing and core availability to optimize task execution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If processor cores are exclusively allocated to storage system applications, then storage system application performance is improved, but containerized service utilization deteriorates
Solution Approach 1:
The processor cores are segmented into a shared portion and a non-shared portion. The non-shared portion is dedicated exclusively to the storage system application to ensure its performance and reliability, while the shared portion is allocated to both the storage system application and containerized services to enable flexible utilization. This segmentation resolves the contradiction by providing both dedicated resources for reliability and shared resources for adaptability.
2Adaptability or versatility
If processor cores are shared between storage system applications and containerized services, then resource utilization is improved, but host I/O request processing latency increases
Solution Approach 1:
By segmenting processor cores into shared and non-shared portions, the system ensures that the non-shared portion is exclusively available for host I/O request processing, guaranteeing low latency for critical storage operations. The shared portion can be dynamically utilized by containerized services when not needed for I/O processing, thus improving overall resource utilization without compromising I/O performance.
Solution Approach 2:
Different portions of processor cores are assigned different qualities or priorities. The non-shared portion has high priority and is dedicated to time-critical host I/O request processing, while the shared portion has lower priority and is used for containerized services. This local differentiation in quality allows the system to optimize both resource utilization and I/O latency by matching resource allocation to task requirements.
3Productivity
If all processor cores are allocated to storage system applications, then storage system application performance is improved, but flexibility in sharing with containerized services deteriorates
Solution Approach 1:
The processor cores are divided into a non-shared portion allocated exclusively to the storage system application for maintaining high productivity, and a shared portion that can be flexibly allocated to containerized services. This segmentation allows the system to simultaneously achieve high storage application performance and flexible resource sharing, resolving the contradiction between productivity and adaptability.
Data Source
AI summary
A shared portion of processor cores in a data storage system are allocated for sharing between a storage system application and a containerized service also executing in the data storage system. A non-shared portion of the processor cores are allocated for exclusive use by the storage system application. The storage system application preferentially uses processor cores in the shared portion of the processor cores to execute background tasks, and preferentially uses processor cores in the non-shared portion to perform host I/O request processing. The storage system application may from time to time voluntarily yield one or more of the processor cores in the shared portion of the processor cores for execution of the containerized service.


