scispace - formally typeset
Search or ask a question

Showing papers on "Scheduling (computing) published in 1974"


Journal ArticleDOI
TL;DR: In this paper, the authors develop Brinch-Hansen's concept of a monitor as a method of structuring an operating system and describe a possible method of implementation in terms of semaphores and give a suitable proof rule.
Abstract: This paper develops Brinch-Hansen's concept of a monitor as a method of structuring an operating system. It introduces a form of synchronization, describes a possible method of implementation in terms of semaphores and gives a suitable proof rule. Illustrative examples include a single resource scheduler, a bounded buffer, an alarm clock, a buffer pool, a disk head optimizer, and a version of the problem of readers and writers.

1,705 citations


Journal ArticleDOI
TL;DR: The problem of scheduling two or more processors to minimize the execution time of a program which consists of a set of partially ordered tasks and a dynamic programming solution for the case in which execution times are random variables is presented.
Abstract: The problem of scheduling two or more processors to minimize the execution time of a program which consists of a set of partially ordered tasks is studied. Cases where task execution times are deterministic and others in which execution times are random variables are analyzed. It is shown that different algorithms suggested in the literature vary significantly in execution time and that the B-schedule of Coffman and Graham is near-optimal. A dynamic programming solution for the case in which execution times are random variables is presented.

647 citations


Journal ArticleDOI
TL;DR: It is shown that the most general mean-finishing-time problem for independent tasks is polynomial complete, and hence unlikely to admit of a non-enumerative solution.
Abstract: Sequencing to minimize mean finishing time (or mean time in system) is not only desirable to the user, but it also tends to minimize at each point in time the storage required to hold incomplete tasks. In this paper a deterministic model of independent tasks is introduced and new results are derived which extend and generalize the algorithms known for minimizing mean finishing time. In addition to presenting and analyzing new algorithms it is shown that the most general mean-finishing-time problem for independent tasks is polynomial complete, and hence unlikely to admit of a non-enumerative solution.

539 citations


Journal ArticleDOI
TL;DR: Several theoretical results are developed to obtain an efficient branch-and-bound algorithm for the sequencing problem when all jobs are available to process at time zero and are independent (i.e., there are no precedence relationships among jobs).
Abstract: Several theoretical results are developed to obtain an efficient branch-and-bound algorithm for the sequencing problem when all jobs are available to process at time zero and are independent (i.e., there are no a priori precedence relationships among jobs). The branch-and-bound algorithm and its computational results are given for the case of linear penalty functions. The computational experiences are very encouraging. The computer times required to solve the problems are very short and for most problems the optimum is achieved at the early stages of computation.

127 citations


Journal ArticleDOI
Kenneth R. Baker1
TL;DR: A simple algorithm is developed for the problem of assigning days off to full-time staff given a cyclic seven-day demand pattern, which involves only hand calculations, and its computing effort is predictable.
Abstract: A simple algorithm is developed for the problem of assigning days off to full-time staff given a cyclic seven-day demand pattern. The formulation assumes that employees are entitled to two consecutive days off each week and that the objective is to find a minimum staff size capable of meeting the requirements. The algorithm involves only hand calculations, and its computing effort is predictable.

113 citations


Journal ArticleDOI
TL;DR: An efficient dynamic programming formulation is developed for each of the two different flow shop scheduling problems that arise when, in a two machine problem, one machine is characterized by sequence dependent setup times.
Abstract: This paper considers the two different flow shop scheduling problems that arise when, in a two machine problem, one machine is characterized by sequence dependent setup times. The objective is to determine a schedule that minimizes makespan. After establishing the optimally of permutation schedules for both of these problems, an efficient dynamic programming formulation is developed for each of them. Each of these formulations is shown to be comparable, from a computational standpoint, to the corresponding formulation of the traveling salesman problem. Then, the relative merits of the dynamic programming and branch and bound approaches to these two scheduling problems are discussed.

73 citations


Journal ArticleDOI
TL;DR: A multi-pass heuristic scheduling procedure developed for job scheduling problems with deterministic processing times is tested with processing times that are random variables and the delay schedule produced by the heuristic procedure was found to be markedly superior under certain conditions.
Abstract: A multi-pass heuristic scheduling procedure developed for job scheduling problems with deterministic processing times is tested with processing times that are random variables. The heuristic procedure, which uses expected processing times, typically generates a delay schedule (i.e., a schedule in which some operations are delayed while the machine to process these operations is kept idle awaiting the arrival of another operation). Simulation is employed to compare the performance of the schedule generated by the heuristic procedure, a nondelay transformation of that schedule, and the nondelay schedules obtained with four single-pass dispatching rules. The criteria employed are fraction of jobs tardy, mean tardiness, variance of tardiness, and maximum tardiness. The delay schedule produced by the heuristic procedure was found to be markedly superior under certain conditions. Under other conditions, the relative performance of the scheduling rules appears highly problem dependent. Implications of these resu...

60 citations


Journal ArticleDOI
TL;DR: The major results of the paper are the definition of a new scheduling rule based on the known service time distributions, and the proof that expected total loss is always minimized by using this new rule.
Abstract: An analytic model of a single processor scheduling problem is investigated. The scheduling objective is to minimize the total loss incurred by a finite number of initially available requests when each request has an associated linear loss function. The assumptions of the model are that preemption is allowed with negligible loss of processor time, and that the distribution of actual service times is known for each class of requests. A request is associated with a class by any of its characteristics except its actual service time. A contrived example demonstrates that one reasonable scheduling rule does not always minimize expected total loss. The major results of the paper are the definition of a new scheduling rule based on the known service time distributions, and the proof that expected total loss is always minimized by using this new rule. Brief consideration is given to generalizations of the model in which new requests arrive randomly, and preemption requires a non-negligible amount of processor time.

57 citations


Journal ArticleDOI
M.T. Kaufman1
TL;DR: A solution to the multiprocessor scheduling problem for the case where the ordering relation between tasks can be represented as a tree is considered, and the "longest path" scheduling method is almost-optimal in the following sense.
Abstract: This paper considers a solution to the multiprocessor scheduling problem for the case where the ordering relation between tasks can be represented as a tree. Assume that we have n identical processors, and a number of tasks to perform. Each task T i requires an amount of time μ i to complete, 0 i ≤ k, so that k is an upper bound on task time. Tasks are indivisible, so that a processor once assigned must remain assigned until the task completes (no preemption). Then the "longest path" scheduling method is almost-optimal in the following sense.

52 citations


Book
01 Jan 1974

22 citations


Journal ArticleDOI
TL;DR: In this paper, the problem of short run production scheduling is decomposed into two subproblems: the long range planning model and the short run scheduling model, where the long-range planning model is essentially a resource constrained model and has a linear programming formulation with a profit maximization objective function.

Journal ArticleDOI
TL;DR: A statistical evaluation of the performance of the swap scheduling algorithm of an interactive computer system and an investigation into foreground-background scheduling to improve system performance are described.
Abstract: This paper describes a statistical evaluation of the performance of the swap scheduling algorithm of an interactive computer system and an investigation into foreground-background scheduling to improve system performance. Input traffic, computer service time demands, and system performance were statistically analyzed. Based on the results of these analyses performance enhancements for the system were determined and then evaluated through use of a validated simulation model.

Book ChapterDOI
Art Lew1
20 Aug 1974
TL;DR: The problem of optimally allocating limited resources among competing processes may be formulated as a problem in finding the shortest path in a directed graph, provided a quantitative measure of the performance of each process as a function of its resource allocation is suitably defined.
Abstract: The problem of optimally allocating limited resources among competing processes may be formulated as a problem in finding the shortest path in a directed graph, provided a quantitative measure of the performance of each process as a function of its resource allocation can be suitably defined If this measure is also a function of time, scheduling problems arise so that optimal allocations become time-varying and may depend upon various precedence relations or constraints among the processes Dynamic programming approaches to such allocation and scheduling problems are presented in the context of parallel processing

Journal ArticleDOI
TL;DR: A flexible feedback queueing model for a computer system that consists of a single server and a queue into which jobs are inserted at positions which are functions of their attained service is described.
Abstract: A flexible feedback queueing model for a computer system is described. The model consists of a single server and a queue into which jobs are inserted at positions which are functions of their attained service. Special cases of the model include both the round robin and the first-come-first-served disciplines, but a wide variety of other algorithms, having different performance characteristics, can also be obtained. The model is analyzed using Markovian assumptions, and both the finite quantum and processor sharing cases are considered. The relationship of the model to system overhead is also treated.

Proceedings ArticleDOI
01 Jan 1974
TL;DR: A system with two independently-scheduled scarce resources, which may be thought of as a CPU and an I/O channel, and two active programs with distinct service burst time characteristics is considered, and schedules requiring preemption no more frequently than when a program requests service at a resource are shown to be sufficient to achieve maximum average utilization.
Abstract: Few optimality results have been reported for the scheduling of computer systems with more than one resource. This paper considers a system with two independently-scheduled scarce resources, which may be thought of as a CPU and an I/O channel, and two active programs with distinct service burst time characteristics. Schedules requiring preemption no more frequently than when a program requests service at a resource are shown to be sufficient to achieve maximum average utilization (the unweighted average of the utilizations of the two resources). A rule that specifies schedules of this form when applied at both resources is defined and proven optimal. Finally, the more general problem of maximizing weighted utilization is treated.

Journal ArticleDOI
01 Feb 1974-Infor
TL;DR: An optimal algorithm for scheduling a project network when the tasks are operating in a resource pool which has a finite upper bound on each resource type is presented.
Abstract: This paper presents an optimal algorithm for scheduling a project network when the tasks are operating in a resource pool which has a finite upper bound on each resource type A state space description of task processing time is used in the dynamic programming formulation A finite time processing interval and a penalty cost rate ia assigned to each task to cost the system in the optimal search


Proceedings ArticleDOI
01 Jan 1974
TL;DR: A way of using a GPSS (General Purpose Simulation System) discrete event simulation model to test, analyze and find the best heuristic scheduling algorithms that can be applied to patient flow in a diagnostic radiology department is shown.
Abstract: The assignment of patients to examination rooms in a diagnostic radiology department can be categorized as a job-shop scheduling problem. This paper shows a way of using a GPSS (General Purpose Simulation System) discrete event simulation model to test, analyze and find the best heuristic scheduling algorithms that can be applied to patient flow in a diagnostic radiology department. Four main measures of performance are considered; waiting time before examination, total time in the system, utilization of staff and equipment, and the number of patients in the system at the end of a working day. Among the scheduling disciplines tested include the following six; smallest number of patients in each queue, smallest work load in each queue, shortest processing time (SPT), truncated SPT (with priorities), common queue (patients join a single queue versus multiple queues based on examination type), and truncated common queue. Numerical data of Temple University's Radiology Department are included, and results indicate that two scheduling disciplines are superior to the others. Finally, a feasibility study of implementing the findings with and without a computer are discussed.

Journal ArticleDOI
TL;DR: Many production scheduling systems use schedules of planned start/finish times for jobs up to a given planning horizon which includes the period between rescheduling operations, which depends on the accuracy of the estimated time data available on the operations to be performed.
Abstract: Many production scheduling systems use schedules of planned start/finish times for jobs up to a given planning horizon which includes the period between rescheduling operations. The integrity and usefulness of such schedules depends on the accuracy of the estimated time data which is available on the operations to be performed.

Proceedings ArticleDOI
01 Jan 1974
TL;DR: In this paper, a trace-driven modeling technique is used to automatically generate the required load descriptions of a computer system, based on a request sequence generator which uses data found in a system event trace.
Abstract: A complete description of a computer system must include three groups of components:1. The hardware components2. The software components (the operating system), and3. The load components (the stream of tasks to be processed).When computer systems are simulated all of these components are found as features of the simulations. The hardware normally appears as a collection of tables and associated operational data. The operating system appears both as tables and as scheduling or assignment algorithms. The load is represented either as a sequence of requests for service (use of system resources) or as a set of functions which can generate such a sequence of requests. In many applications, the description of the load turns out to be the most difficult task.This paper discusses some techniques and procedures which have been used to automatically generate the required load descriptions. The emphasis is on a request sequence generator which uses data found in a system event trace. One such technique, called trace-driven modeling, has been implemented at the Purdue University Computing Center. This implementation is discussed and its usefulness and accuracy are illustrated with actual data.

01 Sep 1974
TL;DR: The authors survey the area of scheduling N jobs on M processors, classify the workdone according to the methodology and criterion used, and present a bibliography with a synopsis of the work done.
Abstract: : The authors survey the area of scheduling N jobs on M processors, classify the work done according to the methodology and criterion used, and present a bibliography with a synopsis of the work done. (Author)

01 Mar 1974
TL;DR: The Dial-A-Ride Automated Scheduling System is a package of computer programs developed by the MITRE Corporation under sponsorship of the Urban Mass Transportation Administration that contains an automated scheduler that dynamically assigns customer requests for trips to vehicle tours and dispatches the vehicles through their stops.
Abstract: The Dial-A-Ride Automated Scheduling System is a package of computer programs developed on a Westinghouse 2500 minicomputer by the MITRE Corporation under sponsorship of the Urban Mass Transportation Administration. The system contains an automated scheduler that dynamically assigns customer requests for trips to vehicle tours and dispatches the vehicles through their stops; data analysis programs that produce statistical reports on system performance; and programs to generate and maintain the data files required by the scheduler, such as the file of related street names. The automated scheduler accepts messages from control room personnel through computer terminals. The messages are processed by an interactive message editor that verifies the message and initiates the appropriate function. Functions performed by the real-time scheduler include the assignment of trip requests, deferment of trip requests to be assigned later, cancellation of trip requests, vehicle dispatching, vehicle positioning, reassignment of stops of a disabled vehicle, and complete monitoring capabilities. In addition, the system supports a file containing trip requests that are automatically scheduled on a periodic basis. During scheduling, vehicle tours are printed in the event of failure of the automated system and a tape file is created for use by the data analysis programs.

Proceedings ArticleDOI
01 Jan 1974
TL;DR: This paper presents some recent results obtained from using simulation to evaluate computer system performance when alternative job priority assignment algorithms are considered.
Abstract: This paper presents some recent results obtained from using simulation to evaluate computer system performance when alternative job priority assignment algorithms are considered. Performance data are given for both individual computing centers and network computers.* A “pay-for priority” scheduling algorithm for the individual centers is explored and load leveling techniques for transmitting jobs between centers are evaluated. The effects of these algorithms on system performance are demonstrated through the use of a simulation model.

Journal ArticleDOI
01 Jan 1974
TL;DR: This paper describes an initial implementation of a heuristic approach to job scheduling based upon a fast, analytically driven, performance prediction tool.
Abstract: Efficient scheduling of jobs for computer systems is a problem of continuing concern. The applicability of scheduling methodology described in the operations research literature is severely restricted by the dimensionality of job characteristics, the number of distinct resource types comprising a computer system, the non-deterministic nature of the system due to both interprocess interaction and contention, and the existence of a multitude of constraints effecting job initiation times, job completion times, and job interactions. In view of the large number of issues which must be considered in job scheduling, a heuristic approach seems appropriate. This paper describes an initial implementation of such an approach based upon a fast, analytically driven, performance prediction tool.

Journal ArticleDOI
TL;DR: A computer program has been developed to assume the chore of generating a year-long schedule of clinical rotations for house staff, and a scheduling run on the IBM 7094 computer requires about 10,000 cycles.
Abstract: A computer program has been developed to assume the chore of generating a year-long schedule of clinical rotations for house staff. A scheduling run on the IBM 7094 computer requires about...

Proceedings ArticleDOI
01 Jan 1974
TL;DR: To solve the schedule-constrained job scheduling problem, the author has developed and tested seven scheduling algorithms using a digital simulation model.
Abstract: The schedule-constrained job scheduling problem is defined as the problem of deciding what jobs should co-exist in the memory of a multiprogrammed computer to insure satisfactory schedule performance and adequate resource utilization. At the present time, the job scheduling function in many multiprogrammed computer systems is being accomplished in a suboptimal manner. In computer installations that must pay strict attention to schedule performance, the scheduling module of the operating system, because it does not consider schedule constraints, cannot be allowed to schedule jobs as they beome available for processing. Instead, human judgment must override the operating system by deciding which jobs should be input to the computer. To solve the schedule-constrained job scheduling problem, the author has developed and tested seven scheduling algorithms using a digital simulation model.

Book ChapterDOI
09 Oct 1974
TL;DR: The bankers algorithm and the detection and recovery deadlock control algorithms are susceptible to “knotting” when there is no preemption, but their performance can be improved significantly by allowing a moderate amount of preemption and by forcing the job scheduler to limit the number of jobs competing for resources.
Abstract: A trace-driven model is used to study the effects of various schedulers and deadlock control algorithms in a general-purpose operating system. Jobs’ requests for resources are extracted from a production load and used to drive a detailed simulation program. The simulation results show that the preemptive deadlock control algorithms give consistently good performance in terms of CPU utilization. The bankers algorithm and the detection and recovery deadlock control algorithms are susceptible to “knotting” (holding of resources by a blocked process) when there is no preemption, but their performance can be improved significantly by 1) allowing a moderate amount of preemption and 2) by forcing the job scheduler to limit the number of jobs competing for resources. When “knotting” is limited by either of the above methods, non-preemptive jobs scheduling improves CPU utilization. This paper extends and develops previous work and summarizes the interaction between some characteristics of job schedulers and deadlock control algorithms.



Journal ArticleDOI
TL;DR: A versatile trainee scheduling strategy incorporating a random-number generator enables rapid creation of multiple schedules consistent with given input constraints using a high-speed digital computer.
Abstract: A versatile trainee scheduling strategy incorporating a random-number generator is described and illustrated Implementation of the strategy using a high-speed digital computer enables rapid creation of multiple schedules consistent with given input constraints In less than four minutes (compiling plus execution time), 5 satisfactory schedules were generated, assigning 26 residents to 14 training experiences