US2005246461A1PendingUtilityA1
Scheduling threads in a multi-processor computer
Est. expiryApr 29, 2024(expired)· nominal 20-yr term from priority
G06F 9/4812
47
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
Scheduling threads in a multi-processor computer system including establishing an interrupt threshold for a thread, where the interrupt threshold represents a maximum permissible number of interrupts during thread execution on a processor; executing the thread on a current processor, where the thread has thread affinity for one or more processors including the current processor; counting a number of interrupts during execution of the thread on the current processor; and removing thread affinity for the current processor in dependence upon the counted number of interrupts and the interrupt threshold.
Claims
exact text as granted — not AI-modified1 . A method for scheduling threads in a multi-processor computer, the method comprising:
establishing an interrupt threshold for a thread, the interrupt threshold comprising a maximum permissible number of interrupts during thread execution on a processor; executing the thread on a current processor, the thread having thread affinity for one or more processors including the current processor; counting a number of interrupts during execution of the thread on the current processor; and removing thread affinity for the current processor in dependence upon the counted number of interrupts and the interrupt threshold.
2 . The method of claim 1 wherein establishing an interrupt threshold further comprises storing a value of an interrupt threshold in memory associated with the thread.
3 . The method of claim 1 wherein counting a number of interrupts further comprises incrementing by an interrupt handler a value stored in memory associated with the thread.
4 . The method of claim 1 wherein removing thread affinity for the current processor further comprises removing thread affinity by a dispatcher when the thread is preempted from execution on the current processor.
5 . The method of claim 1 wherein removing thread affinity for the current processor further comprises placing the thread in a run queue of another processor.
6 . The method of claim 1 wherein the thread affinity includes only the current processor, and the method further comprises setting thread affinity to include at least one other processor.
7 . The method of claim 1 further comprising:
establishing a maximum count duration for the thread; measuring elapsed count time for the thread during execution of the thread on the current processor; resetting the counted number of interrupts to zero in dependence upon the measured elapsed count time and the maximum count duration; and resetting the measured elapsed count time to zero in dependence upon the measured elapsed count time and the maximum count duration.
8 . The method of claim 1 further comprising:
establishing a maximum count duration for the thread; measuring elapsed count time for the thread during execution of the thread on the current processor; wherein removing thread affinity for the current processor in dependence upon the counted number of interrupts and the interrupt threshold further comprises: resetting the counted number of interrupts to zero; and resetting the measured elapsed count time to zero.
9 . A system for scheduling threads in a multi-processor computer, the system comprising:
means for establishing an interrupt threshold for a thread, the interrupt threshold comprising a maximum permissible number of interrupts during thread execution on a processor; means for executing the thread on a current processor, the thread having thread affinity for one or more processors including the current processor; means for counting a number of interrupts during execution of the thread on the current processor; and means for removing thread affinity for the current processor in dependence upon the counted number of interrupts and the interrupt threshold.
10 . The system of claim 9 wherein means for establishing an interrupt threshold further comprises means for storing a value of an interrupt threshold in memory associated with the thread.
11 . The system of claim 9 wherein means for counting a number of interrupts further comprises means for incrementing by an interrupt handler a value stored in memory associated with the thread.
12 . The system of claim 9 wherein means for removing thread affinity for the current processor further comprises means for removing thread affinity by a dispatcher when the thread is preempted from execution on the current processor.
13 . The system of claim 9 wherein means for removing thread affinity for the current processor further comprises means for placing the thread in a run queue of another processor.
14 . The system of claim 9 wherein the thread affinity includes only the current processor, and the system further comprises means for setting thread affinity to include at least one other processor.
15 . The system of claim 9 further comprising:
means for establishing a maximum count duration for the thread; means for measuring elapsed count time for the thread during execution of the thread on the current processor; means for resetting the counted number of interrupts to zero in dependence upon the measured elapsed count time and the maximum count duration; and means for resetting the measured elapsed count time to zero in dependence upon the measured elapsed count time and the maximum count duration.
16 . The system of claim 9 further comprising:
means for establishing a maximum count duration for the thread; means for measuring elapsed count time for the thread during execution of the thread on the current processor; wherein means for removing thread affinity for the current processor in dependence upon the counted number of interrupts and the interrupt threshold further comprises: means for resetting the counted number of interrupts to zero; and means for resetting the measured elapsed count time to zero.
17 . A computer program product for scheduling threads in a multi-processor computer, the computer program product comprising:
a recording medium; means, recorded on the recording medium, for establishing an interrupt threshold for a thread, the interrupt threshold comprising a maximum permissible number of interrupts during thread execution on a processor; means, recorded on the recording medium, for executing the thread on a current processor, the thread having thread affinity for one or more processors including the current processor; means, recorded on the recording medium, for counting a number of interrupts during execution of the thread on the current processor; and means, recorded on the recording medium, for removing thread affinity for the current processor in dependence upon the counted number of interrupts and the interrupt threshold.
18 . The computer program product of claim 17 wherein means, recorded on the recording medium, for establishing an interrupt threshold further comprises means, recorded on the recording medium, for storing a value of an interrupt threshold in memory associated with the thread.
19 . The computer program product of claim 17 wherein means, recorded on the recording medium, for counting a number of interrupts further comprises means, recorded on the recording medium, for incrementing by an interrupt handler a value stored in memory associated with the thread.
20 . The computer program product of claim 17 wherein means, recorded on the recording medium, for removing thread affinity for the current processor further comprises means, recorded on the recording medium, for removing thread affinity by a dispatcher when the thread is preempted from execution on the current processor.
21 . The computer program product of claim 17 wherein means, recorded on the recording medium, for removing thread affinity for the current processor further comprises means, recorded on the recording medium, for placing the thread in a run queue of another processor.
22 . The computer program product of claim 17 wherein the thread affinity includes only the current processor, and the computer program product further comprises means, recorded on the recording medium, for setting thread affinity to include at least one other processor.
23 . The computer program product of claim 17 further comprising:
means, recorded on the recording medium, for establishing a maximum count duration for the thread; means, recorded on the recording medium, for measuring elapsed count time for the thread during execution of the thread on the current processor; means, recorded on the recording medium, for resetting the counted number of interrupts to zero in dependence upon the measured elapsed count time and the maximum count duration; and means, recorded on the recording medium, for resetting the measured elapsed count time to zero in dependence upon the measured elapsed count time and the maximum count duration.
24 . The computer program product of claim 17 further comprising:
means, recorded on the recording medium, for establishing a maximum count duration for the thread; means, recorded on the recording medium, for measuring elapsed count time for the thread during execution of the thread on the current processor; wherein means, recorded on the recording medium, for removing thread affinity for the current processor in dependence upon the counted number of interrupts and the interrupt threshold further comprises: means, recorded on the recording medium, for resetting the counted number of interrupts to zero; and means, recorded on the recording medium, for resetting the measured elapsed count time to zero.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.