| US 7,594,228 B2 | ||
| Method and apparatus to perform task scheduling | ||
| Siu H. Lam, 80 Heather Hill La., Woodcliff Lake, N.J. 07677 (US) | ||
| Filed on Sep. 23, 2003, as Appl. No. 10/669,309. | ||
| Prior Publication US 2005/0066328 A1, Mar. 24, 2005 | ||
| Int. Cl. G06F 9/46 (2006.01); G06F 15/16 (2006.01); G06F 15/173 (2006.01); G06F 15/00 (2006.01) | ||
| U.S. Cl. 718—102 [718/104; 718/105; 709/201; 709/202; 709/223; 709/226; 370/229; 370/230] | 9 Claims |

| 1. A method to assign tasks, comprising:
receiving a request to execute a task on one of a plurality of processors;
determining a task type for said task;
retrieving a processor task value of said task type for each processor, said processor task value representing a number of
other task types affected by assigning said task to a processor;
selecting a processor from said plurality of processors based on said processor task values; and
assigning said task to said selected processor; and
updating said processor task values for each task type and each processor, wherein said updating comprises:
retrieving a first resource cost value for a first task type;
retrieving a second resource cost value for a second task type;
generating a modulo of said first resource cost value divided by said second resource cost value to form a first relative
resource value for said first task type relative to said second task type;
determining a remaining resource value for said processor;
generating a modulo of said remaining resource value divided by said second resource cost value to form a second spare resource
value for said second task type;
comparing said first relative resource value to said second spare resource value; and
updating said processor task value for said first task type in accordance with said comparison.
|