Patent ID: 7080379

Claim:
A method of load-balancing a multi-processor system, said system including at least a first and a second processor run queues, the first and the second processor run queues for holding threads to be processed, the method comprising the steps of: dividing the first and the second processor run queues each into a plurality of priority bands, each band in the first processor run queue being similar to each band in the second processor run queue; assigning a priority to each created thread and placing the created thread into either the first processor run queue or the second processor run queue, the assigned priority categorizing the created thread into one of the plurality of priority bands; determining whether the system is load-imbalanced, the system being load-imbalanced if there are more threads classified into one priority band of the first processor run queue than there are threads classified in a similar priority band of the second processor run queue; and load-balancing the system, if the system is load-imbalanced, by moving threads from the one priority band of the first processor run queue to the similar priority band of the second processor run queue.