Patent ID: 8397234

Claim:
An apparatus for determining a priority value for a thread for execution on a multithreading processor system, said apparatus comprising: a base value register configured for depositing a priority base rating provided by the thread's application decision making system, wherein said priority base rating represents a priority rating of the thread relative to other threads in said thread's application; and an evaluation unit configured for determining the priority value of the thread for execution on the multithreading processor system, wherein the priority value of the thread is determined as follows: receiving an application priority rating from the thread's application; receiving a main value by adding the priority base rating and the application priority rating; determining a first lower value that is the lower value of the main value and a priority maximum value, the first lower value being made equal to a smallest number between the main and maximum value; receiving an external priority value that represents a priority rating of the thread considering external needs; defining an external limit value for the external priority value, wherein the external limit value is used to prevent starvation of other waiting threads; determining a second lower value that is a lower value of the external priority value and the external limit value; and receiving the priority value for the thread as a function of the first lower value and the second lower value for execution on the multithreading processor system.