EXECUTING MULTIPLE THREADS IN A PROCESSOR
First Claim
Patent Images
1. An article of manufacture comprising a computer readable storage medium including code executed by a processor to access buffers and perform operations, the operations comprising:
- setting credits in the buffers for a plurality of threads executed by the processor, wherein the credits for a thread comprise a number of credits, wherein a thread having credits can be selected for execution and wherein a thread having no credits is not selected for execution;
alternating among executing the threads having available credits;
decrementing the credits available for one of the threads to reduce the number of available credits for the thread in response to executing the thread;
setting a replenish flag for a replenish thread to indicate that the replenish thread will not execute until all the other threads have no available credits; and
initiating by the replenish thread an operation to reassign credits to the threads in response to the plurality of the threads other than the replenish thread having no available credits.
0 Assignments
0 Petitions
Accused Products
Abstract
Provided are a method, system, and program for executing multiple threads in a processor. Credits are set for a plurality of threads executed by the processor. The processor alternates among executing the threads having available credit. The processor decrements the credit for one of the threads in response to executing the thread and initiates an operation to reassign credits to the threads in response to depleting all the thread credits.
35 Citations
21 Claims
-
1. An article of manufacture comprising a computer readable storage medium including code executed by a processor to access buffers and perform operations, the operations comprising:
-
setting credits in the buffers for a plurality of threads executed by the processor, wherein the credits for a thread comprise a number of credits, wherein a thread having credits can be selected for execution and wherein a thread having no credits is not selected for execution; alternating among executing the threads having available credits; decrementing the credits available for one of the threads to reduce the number of available credits for the thread in response to executing the thread; setting a replenish flag for a replenish thread to indicate that the replenish thread will not execute until all the other threads have no available credits; and initiating by the replenish thread an operation to reassign credits to the threads in response to the plurality of the threads other than the replenish thread having no available credits. - View Dependent Claims (2, 3, 4, 7, 8, 9)
-
-
5-6. -6. (canceled)
-
10. A system, comprising:
-
a processor; buffers accessible to the processor; an operating system schedule executed by the processor to perform operations, the operations comprising; setting credits in the buffers for a plurality of threads executed by the processor wherein the credits for a thread comprise a number of credits, wherein a thread having credits can be selected for execution and wherein a thread having no credits is not selected for execution; and code executed by the processor to perform operations, the operations comprising; alternating among executing the threads having available credits; decrementing the credits available for one of the threads to reduce the number of available credits for the thread in response to executing the thread; setting a replenish flag for a replenish thread to indicate that the replenish thread will not execute until all the other threads have no available credits; and initiating, by the replenish thread, an operation to reassign credits to the threads in response to the plurality of the threads other than the replenish thread having no available credits. - View Dependent Claims (11, 12, 13, 15)
-
-
14. (canceled)
-
16. A method, comprising:
-
setting credits for a plurality of threads executed by a processor, wherein the credits for a thread comprise a number of credits, wherein a thread having credits can be selected for execution and wherein a thread having no credits is not selected for execution; alternating, by the processor, among executing the threads having available credits; decrementing, by the processor, the credits available for one of the threads to reduce the number of available credits for the thread in response to executing the thread; setting, by the processor, a replenish flag for a replenish thread to indicate that the replenish thread will not execute until all the other threads have no available credits; and initiating an operation, by the processor, to execute a replenish thread to reassign credits to the threads in response to the plurality of the threads other than the replenish thread having no available credits. - View Dependent Claims (17, 18, 19, 21)
-
-
20. (canceled)
Specification