Adaptive resource allocation using neural networks
First Claim
1. A computer system, comprising:
- a plurality of resources for performing useful work on said computer system and capable of allocation by said system, wherein the useful work is divided into jobs, the jobs are categorized into a plurality of job classes, and the job classes require different amounts of the plurality of resources;
means for receiving a set of performance objectives from a user, wherein said set of performance objectives represent desired performance of the plurality of job classes in said computer system;
a resource allocation controller that allocates said resources within said computer system responsive to said performance objectives, said resource allocation controller having a plurality of adjustable parameters, wherein said resource controller changes allocation of said resources among the job classes based on said adjustable parameters being adjusted, wherein said resource allocation controller comprises a controller neural network having adjustable parameters, said neural network receiving said performance objectives as input and producing resource allocation information as output,a performance monitor for monitoring performance of said computer system to produce performance data representing actual performance of said computer system;
comparison means for comparing said performance data produced by said performance monitor with said set of performance objectives to determine a difference between said objectives and said actual performance;
feedback means coupled to said comparison means for adjusting said parameters in said resource allocation controller to reduce said difference between said objectives and said actual performance for each of the plurality of classes of work, wherein said feedback means comprises means for training said controller neural network, thereby adjusting said adjustable parameters, using said difference between said objectives and said actual performance.
0 Assignments
0 Petitions
Accused Products
Abstract
In a system comprising a plurality of resources for performing useful work, a resource allocation controller function, which is customized to the particular system'"'"'s available resources and configuration, dynamically allocates resources and/or alters configuration to accommodate a changing workload. Preferably, the resource allocation controller is part of the computer'"'"'s operating system which allocates resources of the computer system. The resource allocation controller uses a controller neural network for control, and a separate system model neural network for modelling the system and training the controller neural network. Performance data is collected by the system and used to train the system model neural network. A system administrator specifies computer system performance targets which indicate the desired performance of the system. Deviations in actual performance from desired performance are propagated back through the system model and ultimately to the controller neural network to create a closed loop system for resource allocation.
-
Citations
13 Claims
-
1. A computer system, comprising:
-
a plurality of resources for performing useful work on said computer system and capable of allocation by said system, wherein the useful work is divided into jobs, the jobs are categorized into a plurality of job classes, and the job classes require different amounts of the plurality of resources; means for receiving a set of performance objectives from a user, wherein said set of performance objectives represent desired performance of the plurality of job classes in said computer system; a resource allocation controller that allocates said resources within said computer system responsive to said performance objectives, said resource allocation controller having a plurality of adjustable parameters, wherein said resource controller changes allocation of said resources among the job classes based on said adjustable parameters being adjusted, wherein said resource allocation controller comprises a controller neural network having adjustable parameters, said neural network receiving said performance objectives as input and producing resource allocation information as output, a performance monitor for monitoring performance of said computer system to produce performance data representing actual performance of said computer system; comparison means for comparing said performance data produced by said performance monitor with said set of performance objectives to determine a difference between said objectives and said actual performance; feedback means coupled to said comparison means for adjusting said parameters in said resource allocation controller to reduce said difference between said objectives and said actual performance for each of the plurality of classes of work, wherein said feedback means comprises means for training said controller neural network, thereby adjusting said adjustable parameters, using said difference between said objectives and said actual performance. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A work-producing system, comprising:
-
a plurality of resources which may be allocated to different classes of work to be performed by said system, wherein work in the work-producing system is categorized into the different classes of work and wherein the work uses the plurality of resources allocated to its class to accomplish the work; a resource control neural network for specifying allocation of said resources within said work-producing system, said controller neural network having a plurality of adjustable parameters, said neural network receiving input comprising a set of performance objectives for the classes of work and producing output comprising resource allocation information, wherein said controller neural network changes its specification allocation of said resources among the classes based on said plurality of adjustable parameters; means for inputting a set of performance objectives to said resource controller neural network, wherein said set of performance objectives indicate desired performance of the classes of work in said work-producing system; means for allocating resources among the classes of work in said work-producing system in response to output produced by said resource control neural network; a performance monitor for monitoring performance of said system to produce performance data representing actual performance of said system; comparison means for comparing said performance data produced by said performance monitor with said set of performance objectives to determine a difference between said objectives and said actual performance; feedback means coupled to said comparison means for adjusting said parameters in said resource allocation neural network to reduce said difference between said objectives and said actual performance. - View Dependent Claims (12, 13)
-
Specification