Skip to main content
Log in

To Schedule or to Execute: Decision Support and Performance Implications

  • Published:
Real-Time Systems Aims and scope Submit manuscript

Abstract

This paper addresses a fundamental trade-off in dynamic scheduling between the cost of scheduling and the quality of the resulting schedules. The time allocated to scheduling must be controlled explicitly, in order to obtain good-quality schedules in reasonable times. As task constraints are relaxed, the algorithms proposed in this paper increase scheduling complexity to optimize longer and obtain high-quality schedules. When task constraints are tightened, the algorithms adjust scheduling complexity to reduce the adverse effect of long scheduling times on the schedule quality. We show that taking into account the scheduling time is crucial for honoring the deadlines of scheduled tasks. We investigate the performance of our algorithms in two scheduling models: one that allows idle-time intervals to exist in the schedule and another that does not. The model with idle-time intervals has important implications for dynamic scheduling which are discussed in the paper. Experimental evaluation of the proposed algorithms shows that our algorithms outperform other candidate algorithms in several parameter configurations.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Bratley, P., Florian, M., and Robillard, P. 1971. Scheduling with earliest start and due date constraints. Naval Research Logistics Quarterly 18: 511–517.

    Google Scholar 

  • Burns, A. 1991. Scheduling hard real-time systems: A review. Software Engineering Journal 6(3): 116–28.

    Google Scholar 

  • Hamidzadeh, B., Shekhar, S., and Gopinath, P. 1993. A general search framework for dynamic scheduling of real-time tasks. IEEE Real-Time Operating Systems and Software Workshop.

  • Hamidzadeh, B., and Shekhar, S. 1993. Specification and analysis of real-time problem solvers. IEEE Transactions on Software Engineering 19(8).

  • Hong, K. S., and Leung, J. Y-T. 1988. On-line scheduling of real-time tasks. Proc.of the 9th IEEE Real-Time Systems Symposium, pp. 244–250

  • Howell, R. R., and Venkatrao, M. K. 1995. On non-preemptive scheduling of recurring tasks using inserted idle times. Information and Computation 117(1): 50–62.

    Google Scholar 

  • Lenstra, J. K., Rinnooy, A. H. G., and Bruchker, P. 1977. Complexity of machine scheduling problems. In Annals of Discrete Mathematics, vol. 1. North Holland.

  • Mok, A. K. 1983. Fundamental design problems of distributed systems for hard real-time environments. Ph.D. Thesis, Laboratory for Computer Science, MIT/MIT/LCS. TR-297.

  • Ramamritham, K., and Stankovic, J. A. 1984. Dynamic task scheduling in hard real-time distributed systems. IEEE Software, 65–75.

  • Ramamritham, K., Stankovic, J. A., and Shiah, P. 1990. Efficient scheduling algorithms for real-time multipro-cessor systems. IEEE Transactions on Parallel and Distributed Systems 1(2): 184–194.

    Google Scholar 

  • Schwan, K., and Zhou, H. 1992. Dynamic scheduling of hard real-time tasks and real-time threads. IEEE Transactions on Software Engineering.

  • Sha, L., Goodenough, J. B., and Ralya, T. 1988. An analytical approach to real-time software engineering. Software Engineering Institute Draft Report.

  • Shen, C., Ramamritham, K., and Stankovic, J. A. 1993. Resource reclaiming in multiprocessor real-time systems. IEEE Transactions on Parallel and Distributed Systems 4(4).

  • Sprunt, B., Sha, L., and Lehoczky, J. 1989. Aperiodic task scheduling for hard real-time systems. Journal of Real-Time Systems 1: 27–60.

    Google Scholar 

  • Sprunt, B., Lehoczky, J., and Sha, L. 1988. Exploiting unused periodic time for aperiodic service using the extended priority exchange algorithms. Proc.of Real-Time Systems Symposium.

  • Stankovic, J. A., and Ramamritham, K. 1987. The design of the spring kernel. Proc.of the IEEE Real-Time Systems Symposium, pp. 146–157.

  • Stankovic, J. A., Spuri, M., Natale, M. D., and Buttazzo, G. C. 1995. Implications of classical scheduling results for real-time systems. IEEE Computer 16–25.

  • Xu, J., and Parnas, D. L. 1993. On satisfying timing constraints in hard-real-time systems. IEEE Transactions on Software Engineering 19(1): 70–84.

    Google Scholar 

  • Yuan-Geng Huang, H., Kanal, L. N., and Tripathi, S. K. 1989. Scheduling N jobs on one machine with insert-idle-time. Proc.of the Second International Conference on Industrial and Engineering Applications of Artificial Intelligence and Expert Systems. IEA=AIE-89.

  • Zhao, W., and Ramamritham, K. 1987. Simple and integrated heuristic algorithms for scheduling tasks with time and resource constraints. Journal of Systems and Software.

  • Zhao, W., Ramamritham, K., and Stankovic, J. A. 1987a. Preemptive scheduling under time and resource constraints. IEEE Transactions on Computers.

  • Zhao, W., Ramamritham, K., and Stankovic, J. A. 1987b. Scheduling tasks with resource requirements in hard real-time systems. IEEE Transactions on Software Engineering SE-12(5).

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Hamidzadeh, B., Atif, Y. & Ramamritham, K. To Schedule or to Execute: Decision Support and Performance Implications. Real-Time Systems 16, 281–313 (1999). https://doi.org/10.1023/A:1008007325129

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1008007325129

Navigation