Method and apparatus for scheduling requests within a data processing system
AssigneeUnisys Corporation
InventorMichael Lee Haupt
Life of this patent
Estimating the term…
Abstract
A method and apparatus for scheduling the execution of selected requests received in a first-in-time sequence, such that two or more request types are executed in a particular sequence for increased performance. Briefly, the present invention identifies two or more requests that have two or more predetermined request types, and schedules the identified requests in an order that corresponds to the particular sequence.
Claims22
A method for scheduling and executing a number of first requests having a first request type and a number of second requests having a second request type that are stored in a queue of a data processing system, the data processing system configured such that execution of two requests of the first request type or two requests of the second request type is faster than the execution of a request of the first request type followed by a request of the second request type, the method comprising the steps of:
- scheduling a predetermined number of the first requests of the first request type followed by a predetermined number of second requests of the second request type to increase the performance of the data processing system;
- executing the selected number of first requests;
- and
- executing the selected number of second requests.
A data processing system for processing a number of requests, the data processing system issuing a number of requests including two or more request types in a first-in-time sequence, the data processing system configured such that execution of two or more predetermined request types is faster when executed in a predetermined sequence, the data processing system comprising:
- queuing means for queuing the number of requests;
- scheduling means coupled to said queuing means for identifying two or more requests that have the two or more predetermined request types, and for scheduling the two or more requests in an order that corresponds to the predetermined sequence which is different from the first-in-time sequence to increase the performance of the data processing system, said scheduling means further scheduling all requests of a particular request type in the first-in-time sequence;
- and
- execution means coupled to said scheduling means for executing the two or more requests in the predetermined sequence.
A data processing system for processing a number of requests, the data processing system issuing two or more requests including a first request type and a second request type in a first-in-time sequence, the data processing system configured such that execution of a request of the first request type to a request of the second request type is slower than the execution of two requests of the first request type or two requests of the second request type, the data processing system comprising:
- queuing means for queuing the two or more requests;
- executing means for executing the number of requests;
- scheduling means coupled to said queuing means and further coupled to said execution means for taking a snap-shot of the request in the queuing means resulting in a number of current requests, and scheduling back-to-back execution of a number of the current requests of the first request type thereby resulting in a number of first scheduled requests, and for scheduling back-to-back execution of a number of the current requests of the second request type thereby resulting in a number of second scheduled requests;
- and
- said execution means executing the first scheduled requests followed by the execution of the second scheduled requests.
A data processing system for processing a number of requests, the data processing system issuing a number of requests in a first-in-time sequence, the data processing system configured to execute selected requests faster when executed in a predetermined sequence, the data processing system comprising:
- queuing means for queuing the number of requests;
- scheduling means coupled to said queuing means for scheduling selected ones of the number of requests in an order that corresponds to the predetermined sequence resulting in a number of scheduled requests;
- and
- execution means coupled to said scheduling means, said scheduling means sequentially providing the scheduled requests to said execution means in the order that corresponds to the predetermined sequence regardless of whether additional requests are provided to said queuing means before the scheduled requests are completely executed by said execution means.
A data processing system having a memory with a number of addressable memory locations, each of the addressable memory locations capable of storing a data word, the data processing system comprising:
- memory requester means capable of issuing a number of sequential requests including a read request and a write request, the read request for reading a read data word from a selected addressable memory location of the memory, and the write request for writing a write data word to a selected addressable memory location of the memory;
- scheduling means coupled to said memory requester means for scheduling selected ones of the number of requests for execution, said scheduling means scheduling a predetermined number of read requests for execution, followed by a predetermined number of write requests for execution;
- and
- execution means coupled to said scheduling means for executing the selected number of read requests and the selected number of write requests.
A method for scheduling and executing a number of first requests having a first request type and a number of second requests having a second request type that are stored in a queue of a data processing system, the data processing system configured such that execution of two requests of the first request type or two requests of the second request type is faster than the execution of a request of the first request type followed by a request of the second request type, the method comprising the steps of:
- scheduling all but “n” of the first requests of the first request type, where “n” is greater than zero;
- executing the scheduled first requests;
- scheduling all but “m” of the second requests of the second request type stored, where “m” is greater than zero;
- and
- executing the scheduled second requests.
Dependencies are inferred from the claim text.