Skip to main content

Atomicity in Real-Time Computing

  • Chapter
Book cover Patterns, Programming and Everything
  • 1152 Accesses

Abstract

Writing safe and correct concurrent programs is a notoriously error-prone and difficult task. In real-time computing, the difficulties are aggravated by stringent responsiveness requirements. This paper reports on three experimental language features that aim to provide atomicity while bounding latency. The context for our experiments is the real-time extension of the Java programming language.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Anderson, J., Ramamurthy, S., Moir, M., Jeffay, K.: Lock-free transactions for real-time systems. In: real-Time Database Systems: Issues and Applications. Kluwer Academic, Norwell (1997)

    Google Scholar 

  2. Armbuster, A., Baker, J., Cunei, A., Holmes, D., Flack, C., Pizlo, F., Pla, E., Prochazka, M., Vitek, J.: A Real-time Java virtual machine with applications in avionics. ACM Trans. Embed. Comput. Syst. 7(1), 1–49 (2007)

    Article  Google Scholar 

  3. Bershad, B.N.: Practical considerations for non-blocking concurrent objects. In: Proceedings of the 13th International Conference on Distributed Computing Systems, May, pp. 264–273 (1993)

    Chapter  Google Scholar 

  4. Bershad, B.N., Redell, D.D., Ellis, J.R.: Fast mutual exclusion for uniprocessors. In: Fifth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), pp. 223–233 (1992)

    Chapter  Google Scholar 

  5. Bollella, G., Gosling, J., Brosgol, B., Dibble, P., Furr, S., Turnbull, M.: The Real-Time Specification for Java. Addison-Wesley, Reading (2000)

    Google Scholar 

  6. Ding, Y., Lehoczky, J.P., Sha, L.: The rate monotonic scheduling algorithm: exact characterization and average case behaviour. In: Proceedings of the 10th IEEE Real-Time Systems Symposium (1989)

    Google Scholar 

  7. Harris, T., Fraser, K.: Language support for lightweight transactions. In: Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA’03), Seattle, Washington, November, pp. 388–402 (2003)

    Google Scholar 

  8. Herlihy, M., Moss, J.E.B.: Transactional memory: architectural support for lock-free data structures. In: ISCA’93: Proceedings of the 20th Annual International Symposium on Computer Architecture, pp. 289–300. ACM Press, New York (1993)

    Chapter  Google Scholar 

  9. Herlihy, M., Luchangco, V., Moir, M., Scherer, W.: Software transactional memory for dynamic-sized data structures. In: ACM Conference on Principles of Distributed Computing, pp. 92–101 (2003)

    Google Scholar 

  10. Joseph, M., Pandya, P.: Finding response times in a real-time system. Comput. J. 29(5), 390–395 (1986)

    Article  MathSciNet  Google Scholar 

  11. Krishna, A.S., Schmidt, D.C., Klefstad, R.: Enhancing real-time CORBA via real-time Java features. In: 24th International Conference on Distributed Computing Systems (ICDCS 2004), Hachioji Tokyo, Japan, March, pp. 66–73 (2004)

    Chapter  Google Scholar 

  12. Lee, E.A.: Overview of the Ptolemy project. Technical report UCB/ERL M03/25, EECS Department, University of California, Berkeley (2003)

    Google Scholar 

  13. Lomet, D.B.: Process structuring, synchronisation and recovery using atomic actions. Proc. ACM Conf. Lang. Des. Reliab. Softw. 12(3), 128–137 (1977)

    Article  Google Scholar 

  14. Manson, J., Baker, J., Cunei, A., Jagannathan, S., Prochazka, M., Xin, B., Vitek, J.: Preemptible atomic regions for real-time Java. In: Proceedings of the 26th IEEE Real-Time Systems Symposium (RTSS), December (2005)

    Google Scholar 

  15. Meawad, F., Iyer, K., Schoeberl, M., Vitek, J.: Real-time wait-free queues using micro-transactions. In: International Workshop on Java Technologies for Real-Time and Embedded Systems (JTRES), October (2011)

    Google Scholar 

  16. Ringenburg, M.F., Grossman, D.: AtomCaml: First-class atomicity via rollback. In: Tenth ACM International Conference on Functional Programming, Tallinn, Estonia, September (2005)

    Google Scholar 

  17. Schoeberl, M., Brandner, F., Vitek, J.: Rttm: real-time transactional memory. In: Symposium on Applied Computing (SAC), pp. 326–333 (2010)

    Google Scholar 

  18. Sha, L., Rajkumar, R., Lehoczky, J.P.: Priority inheritance protocols: an approach to real-time synchronization. IEEE Trans. Comput. 39(9), 1175–1185 (1990)

    Article  MathSciNet  Google Scholar 

  19. Shavit, N., Touitou, D.: Software transactional memory. In: Proceedings of the 14th Annual ACM Symposium on Principles of Distributed Computing (PODC’95), August, pp. 204–213 (1995)

    Google Scholar 

  20. Spring, J.H., Pizlo, F., Privat, J., Guerraoui, R., Vitek, J.: Reflexes: Abstractions for integrating highly responsive tasks into Java applications. ACM Trans. Embed. Comput. Syst. (2009)

    Google Scholar 

  21. Thies, W., Karczmarek, M., Amarasinghe, S.: Streamit: a language for streaming applications. In: Proceedings of the 11th International Conference on Compiler Construction (CC), April (2002)

    Google Scholar 

  22. Welc, A., Hosking, A.L., Jagannathan, S.: Preemption-based avoidance of priority inversion for Java. In: 33rd International Conference on Parallel Processing (ICPP 2004), Montreal, Canada, August, pp. 529–538 (2004)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag London

About this chapter

Cite this chapter

Vitek, J. (2012). Atomicity in Real-Time Computing. In: Breitman, K., Horspool, R. (eds) Patterns, Programming and Everything. Springer, London. https://doi.org/10.1007/978-1-4471-2350-7_10

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-2350-7_10

  • Publisher Name: Springer, London

  • Print ISBN: 978-1-4471-2349-1

  • Online ISBN: 978-1-4471-2350-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics