Skip to main content
Log in

A compact task graph representation for real-time scheduling

  • Published:
Real-Time Systems Aims and scope Submit manuscript

Abstract

A new task graph representation, namely the compact task graph (CTG), is developed to aid in the scheduling of a set of communicating periodic real-time tasks. This representation explicitly expresses the potential for parallelism across tasks as well as the idle times that may be encountered within application tasks. A CTG based scheduler can generate schedules that are able to meet deadlines by interleaving the execution of tasks on a single processor and/or overlapping the execution of tasks on multiple processors. The construction of a CTG is based upon the busy-idle execution profiles for the tasks generated by the compiler. The profiles are computed assuming that sufficient resources are available for parallel execution of all tasks. Thus, they expose all opportunities for overlapped and interleaved execution. The compiler analyzes the profiles to identify useful opportunities for interleaving and expresses them in the CTG without unnecessary partitioning of the tasks. The CTG is powerful because it expresses schedules that are not expressed by existing approaches for constructing task graphs. Schedules can be generated efficiently since a CTG's construction minimizes the splitting of tasks. We briefly demonstrate the usefulness of CTGs in scheduling real-time tasks and scheduling monitoring tasks without affecting the timing of application tasks.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  • Audsley, N.C., R.I. Davis, and A. Burns, “Mechanisms for Enhancing the Flexibility and Utility of Hard Real-Time Systems,” Proc. IEEE Real-Time Systems Symposium, 1994, pp. 12–21.

  • BurkeM., “An Interval-based Approach to Exhaustive and Incremental and Interprocedural Data-flow Analysis,” ACM Transactions on Programming Languages and Systems, 1990, 12(3):341–395.

    Google Scholar 

  • Cheng, S., J.A. Stankovic, and K. Ramamritham, “Dynamic Scheduling of Groups of Tasks with Precedence Constraints in Distributed Hard Real-Time Systems,” Proc 7th IEEE Real-Time Systems Symposium, December, 1986, pp. 166–174.

  • Gerber, R. and S. Hong, “Semantics-Based Compiler Transformations for Enhanced Schedulability,” Proc. 14th IEEE Real-Time Systems Symposium, December, 1991, pp. 232–242.

  • Gopinath, P., T. Bihari, and R. Gupta, “Compiler Techniques for Generating Predictable Object-Oriented Real-Time Software,” IEEE Software, September, 1992, pp. 45–50.

  • Gopinath, P. and R. Gupta, “Applying Compiler Techniques to Scheduling in Real Time Systems,” Proc. 11th IEEE Real-Time Systems Symposium, December, 1990, Orlando, pp. 247–256.

  • Gudmundsson, Ó., D. Mossé, K-T. Ko, A.K. Agrawala, and S.K. Tripathi, “MARUTI: A Platform for Hard Real-Time Application,” Mission Critical Operating Systems, IOS Press, 1991.

  • Gupta, R. and P. Gopinath, “Correlation Analysis Techniques for Refining Execution Time Estimates of Real-Time Applications,” Proc. 11th IEEE Workshop Real-Time Operating Systems and Software, May, 1994, Seattle, pp. 54–58.

  • GuptaR. and D.Mosse, “Real-Time Scheduling using Compact Task Graphs,” Technical Report TR-95-31, University of Pittsburgh, Pittsburgh, PA, May 1995.

    Google Scholar 

  • Haban, D. and K.G. Shin, “Application of Real-Time Monitoring to Scheduling Tasks with Random Execution Times,” Proc. 10th IEEE Real-Time Systems Symposium, 1989, pp. 172–183.

  • Haban, D. and K.G. Shin, “Monitoring Distributed Real-Time Systems and its Application,” Proc. 6th IEEE Workshop on Real-Time Operating Systems and Software, 1989.

  • HanC.C. and K.J.Lin, “Scheduling Real-Time Computations with Separation Constraints,” Information Processing Letters, May, 1992, 42:61–66.

    Google Scholar 

  • Harmon, M., T. Baker, and D. Whalley, “A Retargetable Technique for Predicting Execution Time,” Proc. 13th IEEE Real-Time Systems Symposium, 1992, pp. 68–77.

  • Hong, S. and R. Greber, “Compiling Real-Time Programs into Schedulable Code,” Proc. ACM SIGPLAN Conference on Programming Languages Design and Implementation, 1993, pp. 166–176.

  • Kenny, K.B. and K-J. Lin, “Building Flexible Real-Time Systems using the Flex Language,” IEEE Computer, May, 1991, pp. 70–78.

  • Kirk, D.B. and J.K. Strosnider, “SMART (Strategic Memory Allocation for Real-Time) Cache Design Using MIPS R3000,” Proc. 11th IEEE Real-Time Systems Symposium, December, 1990, Orlando, pp. 322–330.

  • Lee, I. and V. Gehlot, “Language Constructs for Real-Time Programming,” Proc. 6th IEEE Real-Time Systems Symposium, 1985, pp. 57–66.

  • Lim, S.S., Y.H. Bae, G.T. Jang, B.-D. Rhee, S.L. Min, C.Y. Park, H. Shin, K. Park, and C.S. Kim, “An Accurate Worst case Timing Analysis for RISC Processors,” Proc. IEEE Real-Time Systems Symposium, 1994, pp. 97–108.

  • Lin, K.J., S. Natarajan, and J.W.S. Liu, “Imprecise Results: Utilizing Partial Computations in Real-Time Systems,” Proc. 8th IEEE Real-Time Systems Symposium, 1987, pp. 210–217.

  • Lin, K.J. and S. Natarajan, “Expressing and Maintaining Timing Constraints in FLEX,” Proc. 9th IEEE Real-Time Systems Symposium, December, 1988, pp. 96–105.

  • LiuC.L. and J.Layland, “Scheduling Algorithms for Multiprogramming in a Hard Real-Time Environment,” Journal of the ACM, 1973, 20(1):46–61.

    Google Scholar 

  • Mok, A. et al, “Evaluating Tight Execution Time Bounds of Programs by Annotations”, Proc. 6th IEEE Workshop on Real-Time Operating Systems and Software, May, 1989, pp. 74–80.

  • Neihaus, D., “Program Representation and Translation for Predictable Real-Time Systems,” Proc. 12th IEEE Real-Time Systems Symposium, December, 1991, pp. 53–63.

  • Nirkhe, V. and W. Pugh, “Partial Evaluation of High-Level Imperative Programming Languages with Applications in Hard Real-Time Systems,” Proc. 19th ACM Sigplan-Sigact Symposium on Principles of Programming Languages, 1992, pp. 269–280.

  • Nirkhe, V., S. Tripathi, and A. Agrawala, “Language Support for the Maruti Real-Time System,” Proc. 11th IEEE Real-Time Systems Symposium, December, 1990, pp. 257–266.

  • OgleD.M., K.Schwan, and R.Snodgrass, “Application Dependent Dynamic Monitoring of Distributed and Parallel Systems,” IEEE Transactions on Parallel and Distributed Systems, July, 1993, 4(7):762–778.

    Google Scholar 

  • Park, C. and A. Shaw, “Experiments with a Program Timing Tool Based on Source-Level Timing Schema,” Proc. 11th IEEE Real-Time Systems Symposium, 1990, pp. 72–81.

  • Pospischil, G., P. Puschner, A. Vrchoticky, and R. Zainlinger, “Developing Real-Time Tasks with Predictable Timing,” IEEE Software, September, 1992, pp. 35–44.

  • Ramamritham, K., “Allocation and Scheduling of Complex Periodic tasks,” Proc. 10th International Conference on Distributed Computing Systems, 1990, pp. 108–115.

  • ShawA.C., “Reasoning about Time in Higher Level Language Software,” IEEE Transactions on Software Engineering, July, 1989, 15(7):875–889.

    Google Scholar 

  • Spezialetti, M. and R. Gupta, “Timed Perturbation Analysis: An Approach for Non-Intrusive Monitoring of Real Time Computations,” Proc. ACM SIGPLAN Workshop on Language, Compiler, and Tool Support for Real-Time Systems, June, 1994, Orlando.

  • Spezialetti, M. and R. Gupta, “Perturbation Analysis: A Static Analysis Approach for the Non-Intrusive Monitoring of Parallel Programs,” International Conference on Parallel Processing, August, 1994.

  • Stoyenko, A.D., “A Real-Time Language With A Schedulability Analyzer,” Ph.D. Thesis, University of Toronto, August, 1987.

  • StoyenkoA.D. and T.Marlowe, “Polynomial-Time Transformations and Schedulability Analysis of Parallel Real-Time Programs with Restricted Resource Contention,” Journal of Real-Time Systems, 1992, 4:307–329.

    Google Scholar 

  • Tokuda, H., M. Kotera, and C.W. Mercer, “A Real-Time Monitor for a Distributed Real-Time Operating System,” ACM Workshop on Parallel and Distributed Debugging, May, 1988, pp. 68–77.

  • Tsai, J.J.P. K-Y. Fang, and H-Y. Chen. “A Noninvasive Architecture to Monitor Real-Time Distributed Systems,” IEEE Computer, March, 1990, pp. 11–23.

  • XuJ. and D.L.Parnas, “Scheduling Processes with Release Times, Deadlines, Precedence, and Exclusion Relations,” IEEE Transactions on Software Engineering, March, 1990, 16(3):360–369.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Additional information

Supported in part by the National Science Foundation through a Presidential Young Investigator Award CCR-9157371 and Grant CCR-9212020.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Gupta, R., Spezialetti, M. A compact task graph representation for real-time scheduling. Real-Time Systems 11, 71–102 (1996). https://doi.org/10.1007/BF00365521

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00365521

Keywords

Navigation