Hardware support for thread scheduling on multi-core processors
First Claim
Patent Images
1. A method, comprising:
- scheduling a first thread to run on a first core of a multi-core processor, wherein the determination as to which core of the multi-core processor is the first core the first thread is scheduled on employs one or more ofranking all cores of the multi-core processor specific to a workload of the first thread,establishing a current utilization of each core of the multi-core processor, andcalculating an inter-core migration cost for the first thread.
3 Assignments
0 Petitions
Accused Products
Abstract
A method, device, and system are disclosed. In one embodiment the method includes scheduling a thread to run on first core of a multi-core processor. The determination as to which core the thread is scheduled on uses one or more processes. These processes may include ranking all of the cores specific to a workload of the thread, establishing a current utilization of each core of the multi-core processor, and calculating an inter-core migration cost for the thread.
96 Citations
25 Claims
-
1. A method, comprising:
scheduling a first thread to run on a first core of a multi-core processor, wherein the determination as to which core of the multi-core processor is the first core the first thread is scheduled on employs one or more of ranking all cores of the multi-core processor specific to a workload of the first thread, establishing a current utilization of each core of the multi-core processor, and calculating an inter-core migration cost for the first thread. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
12. A multi-core processor, comprising:
-
a first thread of a plurality of threads to run in the multi-core processor; a core rank map to rank all cores of the multi-core processor specific to one or more thread workloads; one or more usage counters to determine a current utilization of each core of the multi-core processor; a thread migration cost counter to calculate an inter-core migration cost for the first thread; and scheduling logic to schedule the first thread to run on a single core of the multi-core processor, the scheduling logic to employ at least the core rank map, first of the one or more usage counters, and the thread migration cost counter to determine which core in the multi-core processor will be the single core to schedule the thread on. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A system, comprising:
-
a bus; a system memory coupled to the bus; a multi-core processor coupled to the bus; a first thread of a plurality of threads to run in the multi-core processor; a core rank map to rank all cores of the multi-core processor specific to one or more thread workloads, wherein the core rank map includes first pre-established ranked list of all cores in the multi-core processor, wherein the first ranked list is based on a first metric; one or more usage counters to determine a current utilization of each core of the multi-core processor, wherein the one or more usage counters are operable to count a first activity for the first core dynamically during operation of the multi-core processor; a thread migration cost counter to calculate an inter-core migration cost for the first thread; and scheduling logic to schedule the first thread to run on a single core of the multi-core processor, the scheduling logic to employ at least the core rank map, first of the one or more usage counters, and the thread migration cost counter to determine which core in the multi-core processor will be the single core to schedule the thread on. - View Dependent Claims (24, 25)
-
Specification