Fetch operation scheduling
AssigneeInternational Business Machines Corporation
InventorsHisham El-Shishiny, Ali El-Moursy
Life of this patent
Estimating the term…
Loading patent…
AssigneeInternational Business Machines Corporation
InventorsHisham El-Shishiny, Ali El-Moursy
Estimating the term…
Fetch operations are assigned to different threads in a multithreaded environment. There are provided a number of different sorting algorithms, from which one is periodically selected on the basis of whether the present algorithm is giving satisfactory results or not. The period is preferably a sub-context interval. The different sorting algorithms preferably include a software/OS priority. A second sorting algorithm may include sorting according to hardware performance measurements. Two-level priority scheme is used to combine both priorities. The judgement of satisfactory performance is preferably based on the difference between a desired number of fetch operations attributed per sub-context switch interval to each thread and a real number of fetch operations attributed per sub-context switch interval to each thread.
A method of scheduling fetch operations to (N) different threads in a multithreaded environment wherein a first predetermined number (M) of fetch operations may be carried out in a given cycle, said method comprising the steps of:
The method of any preceding claim wherein in a case where whichever selecting algorithm is used in a given sub-context switch interval;
The method of any preceding claim wherein in a case where whichever selecting algorithm is used solely to select threads that are not currently stalled, and the other selecting algorithm is used to complete said step of attributing each of said first predetermined number (M) of fetch operations to one or more of said threads.
The method of any preceding claim wherein there is defined a warm up period during which the selected sorting algorithm remains said first sorting algorithm regardless of said error value.
A computer program comprising instructions for carrying out the steps of the method according to any one of claims 1 to 16 when said computer program is executed on a suitable computer device.
A computer readable medium having encoded thereon a set of computer programs according to claim 17.
A system comprising means adapted to carry out the steps of the method according to any one of claims 1 to 16.
Dependencies are inferred from the claim text.