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.
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.
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.
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.
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.
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.
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.
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.
Liestman, A. L., and Campbell, R. H. 1986. A fault-tolerant scheduling problem. IEEE Trans. on Software Engineering SE-12(11): 1089–1095.
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.
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.
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.
Author information
Authors and Affiliations
Rights 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
Issue Date:
DOI: https://doi.org/10.1023/A:1008094006346