Dynamic Thread Scheduling for Shared Resource Contention
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-threaded processor cores and multi-processor systems, shared resources can lead to significant slowdowns for threads due to intensive usage by one thread, even when sufficient time slots are allocated, causing real-time threads to miss instruction execution deadlines.
Innovation Solution
A data processing apparatus comprising multiple processing entities and shared resources, where a scheduler detects usage of shared resources and adjusts execution time slots based on this detection, potentially throttling resource-intensive threads to ensure timely execution of other threads, using a combination of hardware, software, and firmware to monitor and manage resource usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If shared resources are used by multiple threads, then resource utilization efficiency is improved, but execution speed of individual threads deteriorates due to resource contention
Solution Approach 1:
A resource usage monitoring mechanism is introduced as an intermediary between threads and shared resources. The scheduler detects resource usage patterns and intervenes by adjusting thread scheduling decisions, effectively mediating the conflict between multiple threads competing for shared resources without requiring physical resource duplication
Solution Approach 2:
The scheduling policy is made dynamic by continuously monitoring resource usage and adapting thread execution timing based on detected contention. The system transitions from static time slot allocation to dynamic adjustment where time slots are modified in real-time based on resource usage detection, allowing the system to optimize both resource utilization and thread execution speed adaptively
2Ease of operation
If time slots are allocated to threads, then thread execution scheduling is improved, but real-time thread deadlines are missed due to shared resource stalls
Solution Approach 1:
A feedback loop is established where the scheduler continuously monitors resource usage and detects when threads are stalled due to resource contention. This feedback information is used to adjust future scheduling decisions, allowing the system to proactively prevent deadline misses by identifying and addressing resource contention issues before they cause real-time failures
Solution Approach 2:
The system performs preliminary detection of resource usage patterns and potential contention before it critically impacts real-time threads. By detecting resource usage in advance and adjusting scheduling proactively, the system prevents deadline misses rather than reacting after they occur, ensuring real-time reliability
Data Source
AI summary
An apparatus is provided comprising at least two processing entities. Shared resources are usable by a first and a second processing entity. A use of the shared resources is detected, and the execution of instructions associated with said processing entities is controlled based on the detection.


