Dynamic Domain Allocation for Hyper-Threading Interference
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Hyper-threading in processors leads to decreased performance in systems like storage servers due to resource interference and suboptimal processor utilization, with conventional scheduling algorithms only achieving about half the maximum possible processor utilization.
Innovation Solution
A scheduling algorithm that dynamically allocates multiple domains to subsets of logical processors based on measured processor utilization, allowing for adaptive resource allocation and minimizing interference by moving high-utilization domains to dedicated physical processors.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If conventional scheduling algorithms treat logical processors as physically separate processors, then functional independence is achieved, but processor utilization decreases to about half of maximum possible utilization
Solution Approach 1:
The scheduling algorithm dynamically adapts its behavior based on system state. It monitors processor utilization and dynamically adjusts domain allocation between logical processors and physical processors, transitioning between different scheduling modes to optimize both functional independence and processor utilization under varying workload conditions
Solution Approach 2:
The system changes scheduling parameters based on measured processor utilization. When utilization exceeds thresholds, the algorithm modifies allocation parameters to move domains from shared logical processors to dedicated physical processors, thereby adjusting the degree of resource sharing to maintain performance while improving utilization
2Productivity
If multiple processes share the execution engine and system bus interface through hyper-threading, then concurrent execution is enabled, but resource interference increases and performance decreases
Solution Approach 1:
The system segments processes into domains and allocates them to different subsets of logical processors. This segmentation reduces resource interference by ensuring that not all processes compete for the same shared resources simultaneously, while still enabling concurrent execution through the hyper-threading architecture
Solution Approach 2:
When processor utilization exceeds thresholds, the scheduling algorithm extracts high-utilization domains from shared logical processors and moves them to dedicated physical processors. This extraction removes the harmful resource interference from the shared execution engine and system bus interface while maintaining the benefits of hyper-threading for other processes
Data Source
AI summary
In a processing system which includes a physical processor that includes multiple logical processors, multiple domains are defined for multiple processes that can execute on the physical processor. Each of the processes is assigned to one of the domains. Processor utilization associated with the logical processors is measured, and each of the domains is allocated to a subset of the logical processors according to the processor utilization.


