Adaptive job scheduling for multiprocessing systems with master and slave processors executing tasks with opposite anticipated execution times respectively
First Claim
1. In a multiprocessor arrangement having a master processor and a slave processor, a method of allocating work to said slave processor and said master processor comprising the steps of:
- assigning an anticipated holding time value of a next segment to program processes to be executed, said program processes executable by either of said master processor or said slave processor;
ordering said program processes in a double ended queue in a monotonically increasing order of anticipated holding time values;
selecting processes for execution by said slave processor from the end of said queue having higher anticipated holding time values; and
selecting processes for execution by said master processor from the end of said queue having lower anticipated holding time values.
0 Assignments
0 Petitions
Accused Products
Abstract
In a master/slave multiprocessor system, process execution tasks are allocated on the basis of anticipated execution time. Work which can be performed by either the master or the slave is entered on a double ended queue in a non-descending order of anticipated execution times. Processes having high anticipated execution times are selected for execution by the slave processor and processes having low anticipated execution times are selected for execution by the master processor. Anticipated holding times are computed on the basis of the time spent by the slave computer in the execution of a segment of a process without requiring interaction with the master processor. The slave processor records the time spent in execution each time a segment of the process is completed and the process has to be returned to the master. The master uses the recorded time as a measure of the anticipated execution time for a next segment of the same process.
-
Citations
4 Claims
-
1. In a multiprocessor arrangement having a master processor and a slave processor, a method of allocating work to said slave processor and said master processor comprising the steps of:
-
assigning an anticipated holding time value of a next segment to program processes to be executed, said program processes executable by either of said master processor or said slave processor; ordering said program processes in a double ended queue in a monotonically increasing order of anticipated holding time values; selecting processes for execution by said slave processor from the end of said queue having higher anticipated holding time values; and selecting processes for execution by said master processor from the end of said queue having lower anticipated holding time values.
-
-
2. In a multiprocessor system comprising a master and a slave processor, a method of scheduling execution of program processes each comprising at least one segment, by said master processor and said slave processor comprising the steps of:
-
recording in a queue indicia identifying a plurality of processes to be executed each of which can be executed by either of said master or said slave processor; recording in association with each identified process an indication of anticipated execution time of a next segment; selecting for execution by said slave processor a process having recorded therewith an indication of a longer anticipated execution time than for other processes; and selecting for execution by said master processor a process having recorded therewith an indication of a shorter anticipated execution time than for other processes. - View Dependent Claims (3, 4)
-
Specification