Stability and Performance of List Scheduling With External Process Delays |
| |
Authors: | Deogun J. S. Kieckhafer R. M. Krings A. W. |
| |
Affiliation: | (1) Department of Computer Science and Engineering, University of Nebraska-Lincoln, 115 Furguson Hall, Lincoln, NE, 68588-0115;(2) Department of Computer Science, University of Idaho, Moscow, ID, 83844-1010 |
| |
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. |
| |
Keywords: | scheduling stability general instability conditions non-preemptive scheduling multiprocessor anomalies priority list scheduling phantom tasks |
本文献已被 SpringerLink 等数据库收录! |
|