Legal claims defining the scope of protection, as filed with the USPTO.
1. A method for scheduling a task from a plurality of tasks to a processor core of a cluster of processor cores, the processor cores sharing caches, the method being performed by a controller, the method comprising: determining group-wise task relationships between the plurality of tasks based on duration of cache misses resulting from running groups of the plurality of tasks on processor cores sharing the same cache; and scheduling the task to one of the processor cores based on the group-wise task relationships of the task; wherein each group-wise task relationship is based on individual task relationships and each individual task relationship is based on a ratio between the duration (tc1−tc0) of cache misses and total duration (t1−t0) of running one of the plurality of tasks.
2. The method according to claim 1 , wherein the task is scheduled to the processor core corresponding to the group-wise task relationship of the task with minimum value.
3. The method according to claim 1 , wherein each group-wise task relationship is based on averaged individual task relationships.
4. The method according to claim 1 , wherein the individual task relationship at time index n for running task A on the processor core sharing cache X depends on the individual task relationship at time index n−1 for running task A on the processor core sharing cache X.
6. The method according to claim 3 , wherein group-wise task relationships for all tasks using a same one of the caches are updated every time one of the individual task relationships of the same one of the caches is updated.
7. The method according to claim 3 , wherein there are as many individual task relationships per group-wise task relationship as there are processor cores per group-wise task relationship.
8. The method according to claim 1 , wherein there are as many group-wise task relationships as there are caches.
9. The method according to claim 1 , wherein all caches are shared by equally as many of the processor cores.
10. The method according to claim 1 , wherein the caches are shared by unequally as many of the processor cores.
11. The method according to claim 1 , wherein the plurality of tasks are run-to-completion tasks.
12. The method according to claim 1 , wherein the plurality of tasks are software threads.
13. The method according to claim 1 , wherein the cluster of processor cores is part of one single digital signal processor.
14. The method according to claim 1 , wherein the cluster of processor cores is part of a cloud computing system.
15. A controller configured for scheduling a task from a plurality of tasks to a processor core of a cluster of processor cores, the processor cores sharing caches, the controller comprising processing circuitry, the processing circuitry being configured to cause the controller to: determine group-wise task relationships between the plurality of tasks based on duration of cache misses resulting from running groups of the plurality of tasks on processor cores sharing the same cache; and schedule the task to one of the processor cores based on the group-wise task relationships of the task; wherein each group-wise task relationship is based on individual task relationships and each individual task relationship is based on a ratio between the duration (tc1−tc0) of cache misses and total duration (t1−t0) of running one of the plurality of tasks.
16. A controller configured for scheduling a task from a plurality of tasks to a processor core of a cluster of processor cores, the processor cores sharing caches, the controller comprising: processing circuitry; and a storage medium storing instructions that, when executed by the processing circuitry, cause the controller to: determine group-wise task relationships between the plurality of tasks based on duration of cache misses resulting from running groups of the plurality of tasks on processor cores sharing the same cache; and schedule the task to one of the processor cores based on the group-wise task relationships of the task; wherein each group-wise task relationship is based on individual task relationships and each individual task relationship is based on a ratio between the duration (tc1−tc0) of cache misses and total duration (t1−t0) of running one of the plurality of tasks.
Unknown
December 29, 2020
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.