Cache Exclusivity for Critical Task Execution in Multi-Core Processors
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-core processor complexes, critical tasks often execute slowly due to sharing cache resources with non-critical tasks, leading to inefficient performance as they rely on shared L1, L2, and L3 caches.
Innovation Solution
A task scheduler prioritizes critical tasks by identifying the processing entity with the least runtime and allocates exclusive use of the cache, ensuring critical tasks are executed on a clean cache, thereby improving execution speed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If cache resources are shared among multiple tasks in a multi-core processor complex, then resource utilization is improved, but execution speed of critical tasks deteriorates
Solution Approach 1:
The system dynamically adjusts cache allocation based on task priority. Critical tasks receive exclusive cache access when scheduled, while non-critical tasks share cache resources during other periods. This dynamic switching resolves the contradiction by making cache allocation flexible rather than static, allowing high utilization overall while ensuring fast execution when critical tasks need it.
Solution Approach 2:
The cache allocation parameter changes based on the scheduled task's priority level. When a critical task is scheduled on a processing entity, the cache exclusivity parameter is set to true, granting exclusive access. When non-critical tasks are scheduled, the parameter allows shared access. This parameter change enables the system to optimize for either speed or utilization depending on current workload requirements.
2Speed
If critical tasks are prioritized for exclusive cache use, then execution speed is improved, but device complexity increases
Solution Approach 1:
The system segments tasks into two categories: critical and non-critical. This segmentation simplifies the scheduling logic compared to complex priority queues or real-time scheduling algorithms. By dividing the task space into two distinct groups, the scheduler can apply simple rules: grant exclusive cache access to critical tasks and allow sharing for non-critical tasks, reducing overall system complexity while achieving the speed improvement.
3Speed
If tasks are moved between processing entities to provide clean cache, then critical task performance is improved, but loss of time occurs during task migration
Solution Approach 1:
The scheduler identifies processing entities with clean caches in advance and proactively assigns critical tasks to these entities before execution begins. By performing the selection of appropriate processing entities beforehand and maintaining awareness of cache states, the system avoids the need for time-consuming task migrations during critical task execution, thus preserving execution speed while still providing clean cache when needed.
Data Source
AI summary
A plurality of processing entities are maintained in a processor complex. In response to determining that a task is a critical task, the critical task is dispatched to a scheduler, wherein it is preferable to prioritize execution of critical tasks over non-critical tasks. In response to dispatching the critical task to the scheduler, the scheduler determines which processing entity of the plurality of processing entities has a least amount of processing remaining to be performed for currently scheduled tasks. Tasks queued on the determined processing entity are moved to other processing entities, and the currently scheduled tasks on the determined processing entity are completed. In response to moving tasks queued on the determined processing entity to other processing entities and completing the currently scheduled tasks on the determined processing entity, the critical task is dispatched on the determined processing entity.


