Preemptive Scheduling Under Time and Resource Constraints
- 1 August 1987
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Computers
- Vol. C-36 (8), 949-960
- https://doi.org/10.1109/tc.1987.5009518
Abstract
We consider the problem of scheduling a set of n preemptable tasks in a system having r resources. Each task has an arbitrary, but known, worst case processing time and a deadline, and may request simultaneous use of a number of resources. A resource can be used either in shared mode or exclusive mode. In this paper, we develop and evaluate algorithms for determining whether or not a set of preemptive tasks is schedulable in such a real-time system, and if so, determining a schedule for it. This scheduling problem is known to be computationally intensive. In many real-time application environments, tasks are scheduled dynamically, and hence the scheduling algorithms used must have low run-time costs. To keep run-time costs low, we propose the use of suboptimal but practical algorithms that employ computationally simple heuristics. The computational complexity of our algorithms for scheduling n tasks in a system having r resources is O(rn2), which is very much lower than that of known optimal algorithms. We report on the results of simulation studies performed on such heuristic preemptive scheduling algorithms and the sensitivity of the performance of the algorithms with respect to various scheduling parameters. These studies show that due to the complexity of the problem, straightforward heuristics do not perform satisfactorily. However, an algorithm that uses combinations of such heuristics in conjunction with limited backtracks works very well.Keywords
This publication has 12 references indexed in Scilit:
- Simple and integrated heuristic algorithms for scheduling tasks with time and resource constraintsJournal of Systems and Software, 1987
- Scheduling Tasks with Resource Requirements in Hard Real-Time SystemsIEEE Transactions on Software Engineering, 1987
- Scheduling Multiprocessor Tasks to Minimize Schedule LengthIEEE Transactions on Computers, 1986
- Evaluation of a flexible task scheduling algorithm for distributed hard real-time systemsIEEE Transactions on Computers, 1985
- Dynamic Task Scheduling in Hard Real-Time Distributed systemsIEEE Software, 1984
- Scheduling subject to resource constraints: classification and complexityDiscrete Applied Mathematics, 1983
- Guaranteed Response Times in a Hard-Real-Time EnvironmentIEEE Transactions on Software Engineering, 1980
- Optimization and Approximation in Deterministic Sequencing and Scheduling: a SurveyPublished by Elsevier ,1979
- Complexity Results for Multiprocessor Scheduling under Resource ConstraintsSIAM Journal on Computing, 1975
- Solving Resource-Constrained Network Problems by Implicit Enumeration—Preemptive CaseOperations Research, 1972