Claims Analysis
Total Claims: 19
Claim 1
Independent Claim
163 words
A method for scheduling a thread in a multiprocessor system based on a preemptive priority scheduling, said multiprocessor system comprising a plurality of processors, said method comprising: selecting a first thread as a candidate thread to execute from a first local dispatch queue of a plurality of local dispatch queues and a global queue, said plurality of local dispatch queues for storing threads to be scheduled, each of said plurality of local dispatch queues coupled to one of said plurality of processors, said global queue for storing threads to be scheduled, said global queue accessible by each of said plurality of processors; notifying said plurality of processors of the candidate thread; checking whether a higher priority thread having higher priority than said first thread is available in said first local dispatch queue and said global queue; preempting the first thread and selecting the higher priority thread as the candidate thread to execute when said higher priority thread is available; executing the candidate thread.
Claim 2
Independent Claim
163 words
A method for scheduling a thread in a multiprocessor system based on a preemptive priority scheduling, said multiprocessor system comprising a plurality of processors, said method comprising: selecting a first thread as a candidate thread to execute from a first local dispatch queue of a plurality of local dispatch queues and a global queue, said plurality of local dispatch queues for storing threads to be scheduled, each of said plurality of local dispatch queues coupled to one of said plurality of processors, said global queue for storing threads to be scheduled, said global queue accessible by each of said plurality of processors; notifying said plurality of processors of the candidate thread; checking whether a higher priority thread having higher priority than said first thread is available in said first local dispatch queue and said global queue; preempting the first thread and selecting the higher priority thread as the candidate thread to execute when said higher priority thread is available; executing the candidate thread.
Claim 3
Dependent Claim
32 words
The method of claim 1 wherein said step of selecting a thread as a candidate thread to execute further comprises the step of selecting the highest priority thread from said global queue.
Claim 4
Dependent Claim
47 words
The method of claim 2 wherein said step of selecting a thread as a candidate thread to execute further comprises the step of selecting the highest priority thread from one of said plurality of local dispatch queues when there is no runnable thread in said global queue.
Claim 5
Dependent Claim
44 words
The method of claim 3 wherein said step of selecting a thread as a candidate thread to execute further comprises the step of selecting a thread from other processor's local dispatch queue when there is no runnable thread in said processor's local dispatch queue.
Claim 6
Dependent Claim
40 words
The method of claim 4 wherein said step of selecting a thread as a candidate thread to execute further comprises the step of selecting an idle thread when there is no runnable thread in said other processor's local dispatch queue.
Claim 7
Dependent Claim
27 words
The method of claim 1 further comprising the step of: placing a thread on a processor's local dispatch queue when the thread is bound to said processor.
Claim 8
Dependent Claim
24 words
The method of claim 6 further comprising the step of placing the thread on said global queue when the thread has real time property.
Claim 9
Dependent Claim
37 words
The method of claim 7 further comprising the steps of: identifying a last processor that the thread ran on; placing the thread on the last processor's dispatch queue when the thread does not have real time property.
Claim 10
Dependent Claim
29 words
The method of claim 1 wherein said step of notifying processors of the candidate thread comprises: changing a memory register value, said register accessible by said plurality of processors.
Claim 11
Dependent Claim
230 words
An article of manufacture comprising: a computer usable medium having computer readable program code embodied therein for scheduling a thread in a multiprocessor system based on a preemptive priority scheduling, said multiprocessor system comprising a plurality of processors, the computer readable program code in said article of manufacture comprising: computer readable code configured to cause one of said plurality of processors to select a candidate thread to execute using a thread select and verify method comprising the steps of: selecting a first thread as said candidate thread to execute from a first local dispatch queue of a plurality of local dispatch queues and a global queue, said plurality of local dispatch queues for storing threads to be scheduled, each of said plurality of local dispatch queues coupled to one of said plurality of processors, said global queue for storing threads to be scheduled, said global queue accessible by each of said plurality of processors; notifying said plurality of processors of the candidate thread; checking whether a higher priority thread having higher priority than said candidate thread is available in said first local dispatch queue and said global queue; preempting the first thread and selecting the higher priority thread as the candidate thread to execute when said higher priority thread is available; computer readable code configured to cause said one of said plurality of processors to execute the selected candidate thread.
Claim 12
Dependent Claim
230 words
An article of manufacture comprising: a computer usable medium having computer readable program code embodied therein for scheduling a thread in a multiprocessor system based on a preemptive priority scheduling, said multiprocessor system comprising a plurality of processors, the computer readable program code in said article of manufacture comprising: computer readable code configured to cause one of said plurality of processors to select a candidate thread to execute using a thread select and verify method comprising the steps of: selecting a first thread as said candidate thread to execute from a first local dispatch queue of a plurality of local dispatch queues and a global queue, said plurality of local dispatch queues for storing threads to be scheduled, each of said plurality of local dispatch queues coupled to one of said plurality of processors, said global queue for storing threads to be scheduled, said global queue accessible by each of said plurality of processors; notifying said plurality of processors of the candidate thread; checking whether a higher priority thread having higher priority than said candidate thread is available in said first local dispatch queue and said global queue; preempting the first thread and selecting the higher priority thread as the candidate thread to execute when said higher priority thread is available; computer readable code configured to cause said one of said plurality of processors to execute the selected candidate thread.
Claim 13
Dependent Claim
49 words
The article of manufacture of claim 10 wherein said computer readable code configured to cause one of said plurality of processors to select a candidate thread comprises computer readable code configured to cause one of said plurality of processors to select the highest priority thread from said global queue.
Claim 14
Dependent Claim
64 words
The article of manufacture of claim 11 wherein said computer readable code configured to cause one of said plurality of processors to select a candidate thread comprises computer readable code configured to cause one of said plurality of processors to select the highest priority thread from one of said plurality of local dispatch queues when there is no runnable thread in said global queue.
Claim 15
Dependent Claim
62 words
The article of manufacture of claim 12 wherein said computer readable code configured to cause one of said plurality of processors to select a candidate thread comprises computer readable code configured to cause one of said plurality of processors to select a thread from other processor's local dispatch queue when there is no runnable thread in said processor's own local dispatch queue.
Claim 16
Dependent Claim
63 words
The article of manufacture of claim 10 further comprising: computer readable code configured to cause one of said plurality of processors to select one of said plurality of local dispatch queues to place a thread on; computer readable code configured to cause one of said plurality of processors to place the thread on said processor's local dispatch queue when the thread is bound.
Claim 17
Dependent Claim
36 words
The article of manufacture of claim 10 further comprising computer readable code configured to cause one of said plurality of processors to place the thread on said global queue when the thread has real time property.
Claim 18
Dependent Claim
62 words
The article of manufacture of claim 15 further comprising: computer readable code configured to cause one of said plurality of processors to identify a last processor that the thread ran on; computer readable code configured to cause one of said plurality of processors to place the thread on the last processor's dispatch queue when the thread does not have real time property.
Claim 19
Dependent Claim
44 words
The article of manufacture of claim 10 wherein said step of notifying processors of the candidate thread comprising: computer readable code configured to cause one of said plurality of processors to change a memory register value, said register accessible by said plurality of processors.