Delay composition in preemptive and non-preemptive real-time pipelines

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.

[1]  Rocquencourt,et al.  Analysis of Deadline Scheduled Real-Time Systems , 1996 .

[2]  Chenyang Lu,et al.  A utilization bound for aperiodic tasks and priority driven scheduling , 2004, IEEE Transactions on Computers.

[3]  Rene L. Cruz,et al.  A calculus for network delay, Part II: Network analysis , 1991, IEEE Trans. Inf. Theory.

[4]  Jia Xu,et al.  Multiprocessor Scheduling of Processes with Release Times, Deadlines, Precedence, and Exclusion Relations , 1993, IEEE Trans. Software Eng..

[5]  Giuseppe Lipari,et al.  Improved schedulability analysis of real-time transactions with earliest deadline scheduling , 2005, 11th IEEE Real Time and Embedded Technology and Applications Symposium.

[6]  Michael González Harbour,et al.  Offset-based response time analysis of distributed systems scheduled under EDF , 2003, 15th Euromicro Conference on Real-Time Systems, 2003. Proceedings..

[7]  Chung Laung Liu,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[8]  John P. Lehoczky,et al.  Fixed priority scheduling periodic tasks with varying execution priority , 1991, [1991] Proceedings Twelfth Real-Time Systems Symposium.

[9]  Jörn Schneider Cache and pipeline sensitive fixed priority scheduling for preemptive real-time systems , 2000, Proceedings 21st IEEE Real-Time Systems Symposium.

[10]  Tarek F. Abdelzaher,et al.  Towards feasible region calculus: an end-to-end schedulability analysis of real-time multistage execution , 2005, 26th IEEE International Real-Time Systems Symposium (RTSS'05).

[11]  John P. Lehoczky,et al.  The rate monotonic scheduling algorithm: exact characterization and average case behavior , 1989, [1989] Proceedings. Real-Time Systems Symposium.

[12]  Jay K. Strosnider,et al.  Distributed pipeline scheduling: end-to-end analysis of heterogeneous, multi-resource real-time systems , 1995, Proceedings of 15th International Conference on Distributed Computing Systems.

[13]  Alan Burns,et al.  Pipelined processors and worst case execution times , 1993, Real-Time Systems.

[14]  Maryline Chetto,et al.  Dynamic scheduling of real-time tasks under precedence constraints , 1990, Real-Time Systems.

[15]  Riccardo Bettati,et al.  Algorithms for end-to-end scheduling to meet deadlines , 1990, Proceedings of the Second IEEE Symposium on Parallel and Distributed Processing 1990.

[16]  Krithi Ramamritham,et al.  Allocation and scheduling of complex periodic tasks , 1990, Proceedings.,10th International Conference on Distributed Computing Systems.

[17]  Giorgio C. Buttazzo,et al.  A hyperbolic bound for the rate monotonic algorithm , 2001, Proceedings 13th Euromicro Conference on Real-Time Systems.

[18]  Alan Burns,et al.  Applying new scheduling theory to static priority pre-emptive scheduling , 1993, Softw. Eng. J..

[19]  Gerhard Fohler,et al.  Static scheduling of pipelined periodic tasks in distributed real-time systems , 1997, Proceedings Ninth Euromicro Workshop on Real Time Systems.

[20]  John A. Clark,et al.  Holistic schedulability analysis for distributed hard real-time systems , 1994, Microprocess. Microprogramming.

[21]  Patrick Lardieri,et al.  End-to-End Scheduling Strategies for Aperiodic Tasks in Middleware , 2005 .

[22]  A. Koubaa,et al.  Evaluation and improvement of response time bounds for real-time applications under non-pre-emptive Fixed Priority Scheduling , 2004 .

[23]  D. Parnas,et al.  On satisfying timing constraints in hard-real-time systems , 1991, SIGSOFT '91.