System and method of scheduling computing threads
First Claim
1. A method of scheduling a thread of a plurality of threads, the method comprising:
- identifying a lead thread index of a runnable thread based on a plurality of precycle signals;
identifying an alternative thread index of another runnable thread based on the plurality of precycle signals; and
selecting either the lead thread index or the alternative thread index during a scheduling cycle, based on a same cycle signal.
3 Assignments
0 Petitions
Accused Products
Abstract
A system and method for scheduling a thread identifies runnable threads based on precycle signals determined before the scheduling cycle. The thread indexes of the runnable threads are grouped according to the thread priorities of the runnable threads, and the thread indexes are ranked within each group. The runnable threads that will be runnable in the next scheduling cycle are identified based on same cycle signals determined during the scheduling cycle. The highest ranked thread index of the runnable threads that will also be runnable in the next scheduling cycle is selected as the scheduled thread.
72 Citations
47 Claims
-
1. A method of scheduling a thread of a plurality of threads, the method comprising:
-
identifying a lead thread index of a runnable thread based on a plurality of precycle signals;
identifying an alternative thread index of another runnable thread based on the plurality of precycle signals; and
selecting either the lead thread index or the alternative thread index during a scheduling cycle, based on a same cycle signal. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A system for scheduling a thread of a plurality of threads, the system comprising:
-
a thread ranking module configured to identify both a lead thread index of a runnable thread and an alternative thread index of another runnable thread, based on a plurality of precycle signals; and
a thread selector configured to select either the lead thread index or the alternative thread index during a scheduling cycle, based on a same cycle signal. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A computer program product including computer program code for performing the steps of:
-
identifying a lead thread index of a runnable thread based on a plurality of precycle signals;
identifying an alternative thread index of another runnable thread based on the plurality of precycle signals; and
selecting either the lead thread index or the alternative thread index during a scheduling cycle, based on a same cycle signal. - View Dependent Claims (31, 32, 33, 34, 35)
-
-
36. A system for scheduling a thread during a scheduling cycle, the system comprising:
-
means for identifying a lead thread index of a runnable thread based on a plurality of precycle signals;
means for identifying an alternative thread index of another runnable thread based on the plurality of precycle signals; and
means for selecting either the lead thread index or the alternative thread index during a scheduling cycle, based on a same cycle signal. - View Dependent Claims (37, 38, 39, 40)
-
-
41. A method of scheduling a thread of a plurality of threads, the method comprising:
-
identifying at least one runnable thread index based on at least one precycle signal in a plurality of precycle signals, each runnable thread index identifying a thread being runnable at the start of a scheduling cycle;
ranking each of the at least one runnable thread index based on at least one precycle signal in the plurality of precycle signals and a ranking algorithm; and
selecting a highest ranked runnable thread index identifying a thread being runnable in a next scheduling cycle, based on at least one same cycle signal occurring during the scheduling cycle. - View Dependent Claims (42, 43)
-
-
44. A system for scheduling a thread of a plurality of threads, the system comprising:
-
a runnable thread identification module configured to identify at least one runnable thread index based on at least one precycle signal in a plurality of precycle signals, each runnable thread index identifying a thread being runnable at the start of a scheduling cycle;
a runnable thread ranking module configured to rank each of the at least one runnable thread index based on at least one precycle signal in the plurality of precycle signals and a ranking algorithm; and
a thread selector configured to select a highest ranked runnable thread index identifying a thread being runnable in a next scheduling cycle, based on at least one same cycle signal determined during a scheduling cycle. - View Dependent Claims (45, 46, 47)
-
Specification