Dynamic allocation of processing tasks using variable performance hardware platforms
First Claim
1. A method for dynamically allocating tasks in a computer system, comprising:
- dynamically assigning a maximum computer resource load to each of a plurality of computer platforms, wherein a first of said computer platforms has a dynamically assigned first maximum computer resource capability and load and a second of said computer platforms has a dynamically assigned second maximum resource capability and load;
providing a computer resources table, wherein indications of dynamically assigned maximum computer resource capabilities for each of said plurality of computer platforms are maintained;
assigning a computer resource requirement to a task having a processor load value;
referencing said computer resources table for dynamically assigned maximum computer resource capabilities of at least one of said plurality of computer platforms;
assigning said task to the second of said plurality of computer platforms, wherein said processor load value of said task plus said first resource load of said first computer platform is greater than said first dynamically assigned maximum computer resource capability of said first computer platform and said processor load value of said task plus said second resource load of said second computer platform is less than said dynamically assigned second maximum computer resource capability of said second computer platform; and
performing said task in connection with said second computer platform.
26 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides for the dynamic allocation of processing tasks using variable performance hardware. In addition, the present invention allows tasks to be assigned to computer resources according to the ability of a computer resource to perform the task. In particular, in accordance with an embodiment of the present invention, a computer resource may reject a task of a type that is incompatible with the computer resource or that cannot be performed by the resource in a timely manner. The task may then be assigned to another computer resource. In accordance with a further embodiment of the present invention, a table containing information concerning the available capabilities of computer resources associated with a system is maintained. This table may be updated dynamically, as computer resource capabilities change. Tasks may then be assigned with reference to the table to ensure that only computer resources capable of performing a task in a timely manner are assigned that task. The present invention allows computer resources having differing, including variable, performance characteristics to be integrated into a computer system and allows these resources to be dynamically added and removed.
-
Citations
27 Claims
-
1. A method for dynamically allocating tasks in a computer system, comprising:
-
dynamically assigning a maximum computer resource load to each of a plurality of computer platforms, wherein a first of said computer platforms has a dynamically assigned first maximum computer resource capability and load and a second of said computer platforms has a dynamically assigned second maximum resource capability and load; providing a computer resources table, wherein indications of dynamically assigned maximum computer resource capabilities for each of said plurality of computer platforms are maintained; assigning a computer resource requirement to a task having a processor load value; referencing said computer resources table for dynamically assigned maximum computer resource capabilities of at least one of said plurality of computer platforms; assigning said task to the second of said plurality of computer platforms, wherein said processor load value of said task plus said first resource load of said first computer platform is greater than said first dynamically assigned maximum computer resource capability of said first computer platform and said processor load value of said task plus said second resource load of said second computer platform is less than said dynamically assigned second maximum computer resource capability of said second computer platform; and performing said task in connection with said second computer platform. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17)
-
-
15. A method for dynamically allocating computer processor tasks, comprising:
-
dynamically specifying a first maximum capability of a first computer processor; dynamically specifying a second maximum capability of a second computer processor; maintaining a computer processor capability table, wherein dynamically adjusted capability values for said first and second computer processors are stored that are related to said first and second maximum capabilities of said first and second computer processors; receiving a first task requiring processing, wherein a first processor load value is associated with said first task; referencing said computer processor capability table to determine that said first processor load value of said first task is greater than said second maximum capability of said second computer processor; assigning said first task to said first computer processor, wherein said first processor load value is less than said first maximum capability of said first computer processor; processing said first task using said first computer processor; receiving a second task requiring processing, wherein a second processor load value is associated with said second task; and assigning said second task to said second computer processor, wherein said second processor load value of said second task plus a current load value of said first computer processor is greater than said dynamically specified first maximum capability of said first computer processor and said second processor load value of said second task plus a current load value of said second computer processor is less than said dynamically specified second maximum capability of said second computer processor. - View Dependent Claims (18, 19)
-
-
20. A computer resource allocation system, comprising:
-
at least a first computer platform comprising at least a first computer resource and a second computer platform comprising at least a second computer resource, wherein said at least a first computer platform has a first task type capability and a first dynamically specified resource amount capability, wherein said second computer platform has a second task type capability and a second dynamically specified resource amount capability, wherein said first and second task type capabilities do not have to be the same, and wherein said dynamically specified first and second resource amount capabilities do not have to be the same; processing software running on a server processor, comprising; memory including a table, wherein said dynamically specified first and second resource amount capabilities of said first and second computer platforms are stored in said table; and a software task allocation unit, operable to reference dynamically specified resource amount capabilities in said table and further operable to allocate a task having a first processor load value associated therewith to the second computer platform, wherein said first processor load value of said task plus a current load value of said first computer platform is greater than said first dynamically specified resource amount capability of said first computer platform and said first processor load value of said task plus a current load value of said second computer platform is less than said second dynamically specified resource amount capability of said second computer platform. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27)
-
Specification