Dynamic Core Affinity for Storage System Workloads
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Data storage systems face challenges in efficiently managing dynamically varying input-output (IO) traffic due to the diverse and changing computational workloads from host applications.
Innovation Solution
A method and apparatus that create a model of storage system workload configurations, allowing for the counting of tasks, forecasting of workload changes, and dynamic reconfiguration of processor core allocations to match predicted workloads, thereby optimizing computational efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If processor core allocations are statically assigned to emulations, then system stability and simplicity are maintained, but computational efficiency deteriorates under dynamically varying workloads
Solution Approach 1:
The patent implements dynamic core allocation by transitioning from static processor core assignments to runtime-adaptive allocations. The system continuously monitors workload characteristics and reconfigures core assignments between emulations based on current demands, allowing the storage system to optimize computational efficiency for varying workload types while maintaining manageable complexity through automated control algorithms.
Solution Approach 2:
The system employs self-service mechanisms where the storage system autonomously monitors its own workload characteristics and performs self-reconfiguration of core allocations without external intervention. The workload monitor and core allocation updater work together to automatically detect workload changes and adjust core assignments, enabling the system to adapt to dynamic conditions while maintaining operational simplicity.
2Productivity
If the storage system adapts to changing workloads through reconfiguration, then computational efficiency improves, but system stability and predictability may deteriorate
Solution Approach 1:
The patent implements feedback mechanisms where the workload monitor continuously observes system performance and workload characteristics, feeding this information to the core allocation updater. This closed-loop control allows the system to make informed reconfiguration decisions based on actual workload conditions, improving computational efficiency while maintaining stability through controlled, data-driven adjustments rather than arbitrary changes.
Solution Approach 2:
The system performs preliminary actions by pre-establishing workload models and core allocation strategies before actual workload changes occur. The workload monitor proactively detects trends and anticipates future workload states, allowing the core allocation updater to prepare and execute reconfigurations in advance, thereby maintaining system stability during transitions while optimizing for upcoming workload demands.
3Adaptability or versatility
If manual core allocation management is used, then system complexity is low, but adaptability to varying workloads deteriorates
Solution Approach 1:
The system implements self-service automation where the storage system autonomously monitors workload characteristics and performs core allocation reconfiguration without manual intervention. The workload monitor and core allocation updater work together to automatically detect workload changes and adjust core assignments, enabling the system to adapt to dynamic conditions while maintaining operational simplicity through automated control rather than manual management.
Solution Approach 2:
The patent employs feedback-based automation where the system continuously monitors workload performance and uses this information to automatically adjust core allocations. This closed-loop control enables high adaptability to varying workloads while keeping the extent of manual automation low, as the system self-regulates based on real-time feedback from workload monitoring.
Data Source
AI summary
In a storage system in which processor cores are exclusively allocated to run process threads of individual emulations, the allocations of cores to emulations are dynamically reconfigured based on forecasted workload. A workload configuration model is created by testing different core allocation permutations with different workloads. The best performing permutations are stored in the model as workload configurations. The workload configurations are characterized by counts of tasks required to service the workloads. Actual task counts are monitored during normal operation and used to forecast changes in actual task counts. The forecasted task counts are compared with the task counts of the workload configurations of the model to select the best match. Allocation of cores is reconfigured to the best match workload configuration.


