Skip to main content
Log in

Stability and Performance of List Scheduling With External Process Delays

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

Abstract

Non-preemptive static priority list scheduling is a simple, low-overhead approach to scheduling precedence-constrained tasks in real-time multiprocessor systems. However, it is vulnerable to anomalous timing behavior caused by variations in task durations. Specifically, reducing the duration of one task can delay the starting time of another task. This phenomenon, called Scheduling Instability, can make it difficult or impossible to guarantee real-time deadlines. Several heuristic solutions to handle scheduling instability have been reported. This paper addresses three main limitations in the state of the art in schedule stabilization. First, each stabilization technique only applies to a narrowly defined class of systems. To alleviate this constraint, we present an Extended Scheduling Model encompassing a wide range of assumptions about the scheduling environment, and address the stability problem under this model. Second, existing stabilization methods are heuristics based on a partial understanding of the causes of instability. We therefore derive a set of General Instability Conditions which are both necessary and sufficient for instability to occur. Third, solutions to scheduling instability range from trivial constraints on the run-time dispatcher through complex transformations of the precedence graph. We present scheduling simulation results comparing the average performance of several inherently stable run-time dispatchers of widely varying levels of complexity. Results show that for representative real-time workloads, simple low-overhead dispatchers perform nearly as well as a complex “minimally stabilized” dispatcher. Thus, complex schedule stabilization methods may be unnecessary, or even detrimental, due to their high computational overhead.

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

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

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

  • Bettani, R., Gillies, D., Han, C. C., Lin, K. J., Liu, J. W. S., and Shih, W. K. 1991. Recent results in real-time scheduling. In Foundations of Real Time Computing: Scheduling and Resource Management, A. M. van Tilborg and G. K. Koob (eds.). Kluwer Academic Publishers, pp. 91–127.

  • Butler, R. W., and Di Vito, B. L. 1992. Formal design and verification of a reliable computing platform for real-time control. NASA Tech. Memo. 104196, NASA Langley Research Center.

  • Cheng, S.-C., Stankovic, J. A., and Ramamritham, K. 1988. Scheduling algorithms for hard real-time systems—A brief survey. In IEEE Tutorial—Hard Real-Time Systems, J. A. Stankovic and K. Ramamritham (eds.), pp. 150–173.

  • Coffman, E. G., and Gilbert, E. N. 1985. On the expected relative performance of list scheduling. Operations Research 33(3): 548–561.

    Google Scholar 

  • Hugue, M. C., and Stotts, P. D. 1991. Guaranteeing task deadlines for fault-tolerant workloads with conditional branches. Real-Time Systems 3(3): 275–305.

    Google Scholar 

  • Hwang, J.-J., Chow, Y.-C., Anger, F. D., and Lee, C. Y. 1989. Scheduling precedence graphs in systems with interprocessor communication times. SIAM Journal of Computing 18(2): 244–257.

    Google Scholar 

  • Hwang, K., and Briggs, F. A. 1984. Computer Architecture and Parallel Processing. McGraw-Hill.

  • Jeffay, K., Stanat, D. F., and Martel, C. U. 1991. On non-preemptive scheduling of periodic and sporadic tasks. Proc. 12 th IEEE Real-Time Systems Symp. pp. 129–139.

  • Kasahara, H., and Narita, S. 1984. Practical multiprocessor scheduling algorithms for efficient parallel processing. IEEE Trans. on Computers C-33(11): 1023–1029.

    Google Scholar 

  • Kasahara, H., and Narita, S. 1985. Parallel processing of robot-arm control computation on a multimicroprocessor system. IEEE Journal of Robotics and Automation 1(2): 104–113.

    Google Scholar 

  • Kasahara, H. 1992. Parallel processing of robot control and simulation. Parallel Computation Systems for Robotics, A. Fijany and A. Bejczy (eds.). World Scientific Publishing Co. Ltd., pp. 77–93.

  • Kieckhafer, R. M., Walter, C. J., Finn, A. M., and Thambidurai, P. M. 1988. The MAFT architecture for distributed fault-tolerance. IEEE Trans. Computers C-37(4): 398–405.

    Google Scholar 

  • Kieckhafer, R. M. 1989. Fault-tolerant real-time task scheduling in the MAFT distributed system. Proc. 22 nd Hawaii Int'l. Conf. on System Sciences.

  • Krings, A. W., and Kieckhafer, R. M. 1993. Inherently stable priority list scheduling for systems with external delays. Proc. 26 th Hawaii Int'l. Conf. on System Sciences.

  • Krings, A. W. Inherently stable priority list scheduling in an extended scheduling environment. Ph.D. Thesis, Dept. of Comp. Sci. and Eng., University of Nebraska, Lincoln.

  • Krueger, P., and Livny, M. 1988. A comparison of preemptive and non-preemptive load distributing. Proc 8 th Int'l. Conf. on Distributed Computing Systems, pp. 123–130.

  • Krueger, P., and Chawla, R. 1991. The stealth distributed scheduler. Proc. 11 th Int'l Conf. on Distributed Computing Systems, pp. 336–343.

  • Leung, J. Y.-T. 1982. On scheduling independent tasks with restricted execution times. Operations Research 30(1): 163–171.

    Google Scholar 

  • Liestman, A. L., and Campbell, R. H. 1986. A fault-tolerant scheduling problem. IEEE Trans. on Software Engineering SE-12(11): 1089–1095.

    Google Scholar 

  • Manacher, G. K. 1967. Production and stabilization of real-time task schedules. JACM 14(3).

  • McElvaney, M. C. 1988. Guaranteeing deadlines for MAFT workloads. Proc 9 th IEEE Real-Time Systems Symp.

  • Ministry of Defence, United Kingdom. 1989. Interim Defence Standard 00–55.

  • Pygott, C., and Kershaw, J. 1990. VIPER 2 and NODEN. Proc. NASA Formal Methods Workshop, 1990, NASA Conf. Publication 10052.

  • Ramamritham, K., Stankovic, J. A., and Shiah, P.-F. 1989. O(n) scheduling algorithms for real-time multiprocessor systems. Proc. 1989 Internations Conference on Parallel Processing, pp. III-143-III-152.

  • Shaffer, P. L. 1990. A multiprocessor implementation of real-time control for a turbojet engine. IEEE Control Systems Magazine 10(4): 38–42.

    Google Scholar 

  • Shen, C., et al. 1990. Resource reclaiming in real-time. Proc. 6 th IEEE Real-Time Systems Symp., pp. 41–50.

  • Shirazi, B., Wang, M., and Pathak, G. 1990. Analysis and evaluation of heuristic methods for static task scheduling. J. Parallel and Distributed Computing 10: 222–230, Academic Press.

    Google Scholar 

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

  • Verhoosel, J. P. C., Luit, E. J., and Hammer, D. K. 1991. A static scheduling algorithm for distributed hard real-time systems. The Journal of Real-Time Systems 3: 227–246.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Deogun, J.S., Kieckhafer, R.M. & Krings, A.W. Stability and Performance of List Scheduling With External Process Delays. Real-Time Systems 15, 5–38 (1998). https://doi.org/10.1023/A:1008094006346

Download citation

  • Issue Date:

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