Claims
- 1. A method for providing balanced thread scheduling, comprising:
assigning a thread energy level to each of a plurality of system threads; providing at least one of the plurality of system threads with at least one message, wherein the at least one message is assigned a message energy level lower than the thread energy level for the thread from which the message originated; and passing a message between a first thread and a second thread wherein the message energy level assigned to the passed message is also passed between the first thread and the second thread, wherein the message energy level is proportionate to a quantifiable amount of CPU resources.
- 2. The method of claim 1, wherein the plurality of messages are initially allocated to requesting threads from a free message pool.
- 3. The method of claim 2, wherein return of a message to the free message pool, returns the message energy level of the returned message to the initially requesting thread.
- 4. The method of claim 1, further comprising:
suspending the first thread following message passage to the second thread; and passing all of the first thread's remaining energy level to the second thread.
- 5. The method of claim 1, further comprising:
suspending the first thread following message passage to the second thread; and passing all of the first thread's remaining energy level evenly between each remaining thread.
- 6. A system for providing balanced thread scheduling, comprising:
memory for storing an operating system, at least one application; and a central processing unit (CPU) for executing the operating system, the at least one application, and a plurality of threads associated with the at least one application, wherein the operating system assigns a thread energy level to each of the plurality of threads, wherein the operating system provides at least one of the plurality of threads with at least one message, wherein the at least one message is assigned a message energy level lower than the thread energy level for the thread from which the message originated; and wherein the operating system passes a message between a first thread and a second thread such that the message energy level assigned to the passed message is also passed between the first thread and the second thread.
- 7. The system of claim 5, wherein the plurality of messages are initially allocated to requesting threads from a free message pool.
- 8. The system of claim 7, wherein return of a message to the free message pool, returns the message energy level of the returned message to the initially requesting thread.
- 9. The system of claim 6, wherein the operating system suspends the first thread following message passage to the second thread and passes all of the first thread's remaining energy level to the second thread.
- 10. The system of claim 6, wherein the operating system suspends the first thread following message passage to the second thread and passes all of the first thread's remaining energy level evenly between each remaining thread.
- 11. A computer-readable medium incorporating instructions for enabling balanced thread scheduling, comprising:
one or more instructions for assigning a thread energy level to each of a plurality of system threads; one or more instructions for providing at least one of the plurality of system threads with at least one message, wherein the at least one message is assigned a message energy level lower than the thread energy level for the thread from which the message originated; and one or more instructions for passing a message between a first thread and a second thread wherein the message energy level assigned to the passed message is also passed between the first thread and the second thread, wherein the message energy level is proportionate to a quantifiable amount of CPU resources.
- 12. The computer-readable medium of claim 11, further comprising one or more instructions for initially allocating the plurality of messages to requesting threads from a free message pool.
- 13. The computer-readable medium of claim 12, wherein return of a message to the free message pool, also returns the message energy level of the returned message to the initially requesting thread.
- 14. The computer-readable medium of claim 11, further comprising:
one or more instructions for suspending the first thread following message passage to the second thread; and one or more instructions for passing all of the first thread's remaining energy level to the second thread.
- 15. The computer-readable medium of claim 11, further comprising:
one or more instructions for suspending the first thread following message passage to the second thread; and one or more instructions for passing all of the first thread's remaining energy level evenly between each remaining thread.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The present application claims priority to co-pending U.S. Provisional Patent Application No. 60/437,062, filed Dec. 31, 2002, the entirety of which is incorporated by reference herein.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60437062 |
Dec 2002 |
US |