Dynamic scheduling of real-time tasks under precedence constraints
Real-Time Systems
Pipelined processors and worst case execution times
Real-Time Systems
Holistic schedulability analysis for distributed hard real-time systems
Microprocessing and Microprogramming - Parallel processing in embedded real-time systems
Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment
Journal of the ACM (JACM)
On Satisfying Timing Constraints in Hard-Real-Time Systems
IEEE Transactions on Software Engineering
IEEE Transactions on Software Engineering
A Hyperbolic Bound for the Rate Monotonic Algorithm
ECRTS '01 Proceedings of the 13th Euromicro Conference on Real-Time Systems
ICDCS '95 Proceedings of the 15th International Conference on Distributed Computing Systems
A Utilization Bound for Aperiodic Tasks and Priority Driven Scheduling
IEEE Transactions on Computers
Improved Schedulability Analysis of Real-Time Transactions with Earliest Deadline Scheduling
RTAS '05 Proceedings of the 11th IEEE Real Time on Embedded Technology and Applications Symposium
RTSS '05 Proceedings of the 26th IEEE International Real-Time Systems Symposium
Cache and pipeline sensitive fixed priority scheduling for preemptive real-time systems
RTSS'10 Proceedings of the 21st IEEE conference on Real-time systems symposium
Journal of Computer and Systems Sciences International
Developing a real-time inference approach for rule-based reasoning systems
Proceedings of the 2013 Research in Adaptive and Convergent Systems
Hi-index | 0.01 |
Uniprocessor schedulability theory made great strides, in part, due to the simplicity of composing the delay of a job from the execution times of higher-priority jobs that preempt it. In this paper, we bound the end-to-end delay of a job in a multistage pipeline as a function of job execution times on different stages under preemptive as well as non-preemptive scheduling. We show that the end-to-end delay is bounded by that of a single virtual "bottleneck" stage plus a small additive component. This contribution effectively transforms the pipeline into a single stage system. The wealth of schedulability analysis techniques derived for uniprocessors can then be applied to decide the schedulability of the pipeline. The transformation does not require imposing artificial per-stage deadlines, but rather models the pipeline as a whole and uses the end-to-end deadlines directly in the single-stage analysis. It also does not make assumptions on job arrival patterns or periodicity and thus can be applied to periodic and aperiodic tasks alike. We show through simulations that this approach outperforms previous pipeline schedulability tests except for very short pipelines or when deadlines are sufficiently large. The reason lies in the way we account for execution overlap among stages. We discuss how previous approaches account for overlap and point out interesting differences that lead to different performance advantages in different cases. Further, we also show that in certain cases non-preemptive scheduling can result in higher system utilization than preemptive scheduling in pipelined systems. We hope that the pipeline delay composition rule, derived in this paper, may be a step towards a general schedulability analysis foundation for large distributed systems.