Skip to main content

Voluntary preemption: A tool in the design of hard real-time systems

  • Session 2B
  • Conference paper
  • First Online:
Formal Techniques in Real-Time and Fault-Tolerant Systems (FTRTFT 1992)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 571))

Abstract

A new technique for scheduling hard real-time systems is proposed. We term this technique as voluntary preemption as it allows the user to determine the points at which the execution of a process can be preempted. There are several advantages of this technique. First of all, the internal structure of the processes can be used in determining the points where a process may be preempted. This permits, among other things, that critical sections are not preempted as well as identifying points at which a process should be preempted. Secondly, overhead cost of context switching can be taken into account realistically without sacrificing performance. Finally, since the overhead cost of context switching depends on the point (in the execution) where a process is preempted, this technique allows the preemption points to be chosen to reduce the overhead cost of context switching. These various considerations about where a process can be preempted, can be incorporated into an automatic tool to aid in the design of real-time systems.

We describe and illustrate this technique by analyzing in detail the performance of a voluntary preemptive scheduling algorithm for scheduling a classical hard real-time problem on a single processor with context switching costs. In addition we also obtain a tight load cutoff for this algorithm. The performance of the voluntary preemptive scheduling algorithm is good as its load cutoff matches that of an optimal scheduling algorithm when context switching costs are zero. This load cutoff theorem also provides a mechanism for scheduling a multiprocessor system by partitioning the problem into independent subproblems each of which can be scheduled on a single processor.

Part of this work done while at Odyssey Research Associates under U.S. Air Force, RADC contract F30602-86-C-0115

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. S. Cheng, J. A. Stankovic, and K. Ramamritham. Scheduling algorithms for hard real-time systems — a brief survey. In J. A. Stankovic and K. Ramamritham, editors, Tutorial on Hard Real-Time Systems, pages 150–173. Computer Society Press, 1988.

    Google Scholar 

  2. S. Davari and S. K. Dhall. An on line algorithm for real-time task allocation. In IEEE Real-Time Systems Symposium, 1986.

    Google Scholar 

  3. M. D. Donner and D. H. Jameson. A real-time juggling robot. Technical Report RC 12111, IBM T. J. Watson Research Center, Yorktown Heights, NY 10598, 1986.

    Google Scholar 

  4. S. K. Dhall and C. L. Liu. On a real-time scheduling problem. Operations Research, 26:127–140, 1978.

    Google Scholar 

  5. S. R. Faulk and D. L. Parnas. On synchronization in hard-real-time systems. Commun. of the Association for Computing Machinery, 31:274–287, 1988.

    Google Scholar 

  6. M. R. Garey and D. S. Johnson. Computers and Intractability: A Guide to the Theory of NP-Completeness. W. H. Freeman and Co., 1979.

    Google Scholar 

  7. J. B. Goodenough and L. Sha. The priority ceiling protocol: A method for minimizing the blocking of high priority Ada tasks. In Proceedings of the 2nd ACM International Workshop on Real-Time Ada Issues, 1988.

    Google Scholar 

  8. C. L. Liu and J. W. Layland. Scheduling algorithms for multiprogramming in a hard-real-time environment. Journal of the Association for Computing Machinery, 20:46–61, 1973.

    Google Scholar 

  9. A. Moitra. Scheduling of hard real-time systems. In K. V. Nori, editor, Foundations of Software Technology and Theoretical Computer Science, pages 362–381, December 1986. in LNCS, vol. 241, Springer-Verlag.

    Google Scholar 

  10. A. K. Mok. Fundamental design problems of distributed systems for the hard-realtime environment. Ph.D. Thesis, MIT, 1983.

    Google Scholar 

  11. L. Sha and J. B. Goodenough. Real-time scheduling theory and Ada. COMPUTER, 23(4):53–62, 1990.

    Google Scholar 

  12. L. Sha, J. P. Lehoczky, and R. Rajkumar. Solutions for some practical problems in prioritized preemptive scheduling. In IEEE Real-Time Systems Symposium, pages 181–191, 1986.

    Google Scholar 

  13. J. A. Stankovic, K. Ramamritham, and S. Cheng. Evaluation of a flexible task scheduling algorithm for distributed hard real-time systems. IEEE Transactions on Computers, C-34, pages 1130–1143, 1985.

    Google Scholar 

  14. L. Sha, R. Rajkumar, and J. P. Lehoczky. Priority inheritance protocols: An approach to real-time synchronization. IEEE Transactions on Computers, C-39, pages 1175–1185, 1990.

    Google Scholar 

  15. T. Teixeira. Static priority interrupt scheduling. In 7th Texas Conf. on Computing Systems, pages 5–13:5–18, 1978.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jan Vytopil

Rights and permissions

Reprints and permissions

Copyright information

© 1991 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Moitra, A. (1991). Voluntary preemption: A tool in the design of hard real-time systems. In: Vytopil, J. (eds) Formal Techniques in Real-Time and Fault-Tolerant Systems. FTRTFT 1992. Lecture Notes in Computer Science, vol 571. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-55092-5_6

Download citation

  • DOI: https://doi.org/10.1007/3-540-55092-5_6

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-55092-1

  • Online ISBN: 978-3-540-46692-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics