Adaptive job scheduling using neural network priority functions
First Claim
1. A method for scheduling jobs from among a plurality of job classes for service by a resource of a work-producing system, comprising the steps of:
- defining a set of performance goals for said job classes;
training a neural network for producing a delay cost value function, said delay cost value function implementing said set of performance goals as output from at least one input, wherein at least one input to said neural network represents a delay time with respect to a job waiting for service by said resource;
assigning a respective job delay cost to each of a plurality of jobs waiting for service by said resource using said delay cost value function produced by said neural network; and
selecting a next job for service by said resource based on said job delay cost.
1 Assignment
0 Petitions
Accused Products
Abstract
A job scheduler makes decisions concerning the order and frequency of access to a resource according to a substantially optimum delay cost function. The delay cost function is a single value function of one or more inputs, where at least one of the inputs is a delay time which increases as a job waits for service. The job scheduler is preferably used by a multi-user computer operating system to schedule jobs of different classes. The delay cost functions are preferably implemented by neural networks. The user specifies desired performance objectives for each job class. The computer system runs for a specified period of time, collecting data on system performance. The differences between the actual and desired performance objectives are computed, and used to adaptively train the neural network. The process repeats until the delay cost functions stabilize near optimum value. However, if the system configuration, workload, or desired performance objectives change, the neural network will again start to adapt.
143 Citations
14 Claims
-
1. A method for scheduling jobs from among a plurality of job classes for service by a resource of a work-producing system, comprising the steps of:
-
defining a set of performance goals for said job classes; training a neural network for producing a delay cost value function, said delay cost value function implementing said set of performance goals as output from at least one input, wherein at least one input to said neural network represents a delay time with respect to a job waiting for service by said resource; assigning a respective job delay cost to each of a plurality of jobs waiting for service by said resource using said delay cost value function produced by said neural network; and selecting a next job for service by said resource based on said job delay cost. - View Dependent Claims (2, 3, 4)
-
-
5. An apparatus for scheduling jobs in a computer system, comprising:
-
means for storing a set of user-defined performance goals for a plurality of job classes; at least one job queue for jobs awaiting service by a resource in said computer system; means for automatically constructing a substantially optimum delay cost value function, said delay cost value function implementing said set of performance goals, wherein at least one input to said delay cost value function represents a delay time with respect to a job waiting for service by said resource; means for applying said delay cost value function to each of a plurality of jobs awaiting service by said resource in said at least one job queue for producing a respective delay cost value for each job; means for comparing the respective delay cost value of each of said jobs to select a next job for service by said resource, wherein the next job for service selected is a job having highest delay cost value. - View Dependent Claims (6)
-
-
7. A computer implemented method for scheduling jobs from among a plurality of job classes for service by a resource, comprising the steps of:
-
inputting a set of performance goals for said job classes to a computer; automatically constructing, with said computer, a substantially optimum delay cost value functions, said delay cost value function implementing said set of performance goals, wherein at least one input to said delay cost value function represents a delay time with respect to a job waiting for service by said resource; assigning a respective job delay cost to each of a plurality of jobs waiting for service by said resource using said substantially Optimum delay cost will function automatically constructed by said computer; and selecting a next job for service by said resource based on said job delay cost. - View Dependent Claims (8)
-
-
9. A multi-user computer system for processing a plurality of jobs, comprising:
-
at least one processing unit; storage means for storing data and programs in said computer system; I/O means for communicating with a plurality of users and for receiving requests to perform jobs from said plurality of users; means for automatically constructing a non-linear delay cost value function in response to a set of performance goals input by a user, wherein at least one input to said delay cost value function represents a delay time with respect to a job waiting for service by a resource of said computer system; means for computing a respective delay cost value for each of said plurality of jobs in accordance with said delay cost value function; a job scheduler for scheduling jobs from different users for service, said service being provided by one or more resources of said computer system, wherein said jobs are selected for service 1 in accordance with said delay cost value. - View Dependent Claims (10, 11)
-
-
12. A program product apparatus for scheduling jobs from among a plurality of job classes for service by a resource in a work-producing system, said program product being a plurality of computer executable instructions recorded on a computer-readable medium, said program product comprising:
-
means for receiving as input a set of performance goals for said job classes; means for training a neural network to produce a delay cost value function, said delay cost value function implementing said set of performance goals as output from at least one input, wherein at least one input to said neural network represents a delay time with respect to a job waiting for service by said resource; means for using said delay cost value function produced using said neural network for assigning a respective job delay cost to each of a plurality of jobs waiting for service by said resource; and means for selecting a next job for service by said resource based on said job delay cost. - View Dependent Claims (13, 14)
-
Specification