A fault-tolerant scheduling problem
IEEE Transactions on Software Engineering
The MAFT Architecture for Distributed Fault Tolerance
IEEE Transactions on Computers - Fault-Tolerant Computing
Scheduling precedence graphs in systems with interprocessor communication times
SIAM Journal on Computing
Scheduling algorithms for hard real-time systems: a brief survey
Tutorial: hard real-time systems
Analysis and evaluation of heuristic methods for static task scheduling
Journal of Parallel and Distributed Computing
Inherently stable priority list scheduling in an extended scheduling environment
Inherently stable priority list scheduling in an extended scheduling environment
Production and Stabilization of Real-Time Task Schedules
Journal of the ACM (JACM)
Computer Architecture and Parallel Processing
Computer Architecture and Parallel Processing
Formal Design and Verification of a Reliable Computing Platform for Real-Time Control (Phase 2 Results)
SASEPA: Simultaneous Allocation and Scheduling with Exclusion and Precedence Relations Algorithm
PPAM '01 Proceedings of the th International Conference on Parallel Processing and Applied Mathematics-Revised Papers
Hi-index | 0.00 |
Non-preemptive static priority list scheduling is asimple, low-overhead approach to scheduling precedence-constrainedtasks in real-time multiprocessor systems. However, it is vulnerableto anomalous timing behavior caused by variations in task durations.Specifically, reducing the duration of one task can delay the starting timeof another task. This phenomenon, called Scheduling Instability,can make it difficult or impossible to guarantee real-time deadlines.Several heuristic solutions to handle scheduling instabilityhave been reported. This paper addresses three main limitationsin the state of the art in schedule stabilization. First, eachstabilization technique only applies to a narrowly defined classof systems. To alleviate this constraint, we present an ExtendedScheduling Model encompassing a wide range of assumptions aboutthe scheduling environment, and address the stability problemunder this model. Second, existing stabilization methods areheuristics based on a partial understanding of the causes ofinstability. We therefore derive a set of General InstabilityConditions which are both necessary and sufficient for instabilityto occur. Third, solutions to scheduling instability range fromtrivial constraints on the run-time dispatcher through complextransformations of the precedence graph. We present schedulingsimulation results comparing the average performance of severalinherently stable run-time dispatchers of widely varying levelsof complexity. Results show that for representative real-timeworkloads, simple low-overhead dispatchers perform nearly aswell as a complex ’’minimally stabilized‘‘ dispatcher. Thus,complex schedule stabilization methods may be unnecessary, oreven detrimental, due to their high computational overhead.