Skip to main content

Non-preemptive Scheduling of Real-Time Software Transactional Memory

  • Conference paper
Architecture of Computing Systems – ARCS 2014 (ARCS 2014)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 8350))

Included in the following conference series:

Abstract

Recent embedded processor architectures containing multiple heterogeneous cores and non-coherent caches, bring renewed attention to the use of Software Transactional Memory (STM) as a building block for developing parallel applications. STM promises to ease concurrent and parallel software development, but relies on the possibility of abort conflicting transactions to maintain data consistency, which affects the execution time of tasks carrying transactions. Thus, execution time overheads resulting from aborts must be limited, otherwise the timing behaviour of the task set will not be predictable. In this paper we formalise a FIFO-based algorithm to order the sequence of commits of concurrent transactions. Furthermore, we propose and evaluate two non-preemptive scheduling strategies, in order to avoid transaction starvation.

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 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight 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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Anderson, J.H., Jain, R., Ramamurthy, S.: Implementing hard real-time transactions on multiprocessors. In: Real-Time Database and Information Systems: Research Advances, pp. 247–260. Kluwer Academic Publishers, Norwell (1997)

    Google Scholar 

  2. Anderson, J.H., Ramamurthy, S., Moir, M., Jeffay, K.: Lock-free transactions for real-time systems. In: Real-Time Database Systems: Issues and Applications, pp. 215–234. Kluwer Academic Publishers, Norwell (1997)

    Google Scholar 

  3. Barros, A., Pinho, L.M.: Software transactional memory as a building block for parallel embedded real-time systems. In: Proceedings of the 37th EUROMICRO Conference on Software Engineering and Advanced Applications (SEAA 2011), Oulu, Finland (August 2011)

    Google Scholar 

  4. Benini, L., Flamand, E., Fuin, D., Melpignano, D.: P2012: Building an ecosystem for a scalable, modular and high-efficiency embedded computing accelerator. In: Proceedings of the Conference & Exhibition Design, Automation Test in Europe (DATE 2012), pp. 983–987 (March 2012)

    Google Scholar 

  5. Block, A., Leontyev, H., Brandenburg, B.B., Anderson, J.H.: A Flexible Real-Time Locking Protocol for Multiprocessors. In: Proceedings of the 13th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA 2007), Daegu, South Korea, pp. 47–56 (August 2007)

    Google Scholar 

  6. Brandenburg, B.B., Calandrino, J.M., Block, A., Leontyev, H., Anderson, J.H.: Real-Time Synchronization on Multiprocessors: To Block or Not to Block, to Suspend or Spin? In: Proceedings of the 14th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS 2008), pp. 342–353 (April 2008)

    Google Scholar 

  7. Choi, B., Komuravelli, R., Sung, H., Smolinski, R., Honarmand, N., Adve, S., Adve, V., Carter, N., Chou, C.-T.: Denovo: Rethinking the memory hierarchy for disciplined parallelism. In: Proceedings of the International Conference on Parallel Architectures and Compilation Techniques (PACT), pp. 155–166 (October 2011)

    Google Scholar 

  8. Dragojević, A., Felber, P., Gramoli, V., Guerraoui, R.: Why STM can be more than a research toy. Communications of the ACM 54(4), 70–77 (2011)

    Article  Google Scholar 

  9. Fahmy, S.F., Ravindran, B., Jensen, E.D.: On Bounding Response Times under Software Transactional Memory in Distributed Multiprocessor Real-Time Systems. In: Proceedings of the Design, Automation & Test in Europe Conference & Exhibition (DATE 2009), pp. 688–693 (April 2009)

    Google Scholar 

  10. Kalray: MPPA 256 – Many-core processors (2012), http://www.kalray.eu/products/mppa-manycore/mppa-256/

  11. Maldonado, W., Marlier, P., Felber, P., Suissa, A., Hendler, D., Fedorova, A., Lawall, J.L., Muller, G.: Scheduling support for transactional memory contention management. In: Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP 2010), pp. 79–90 (January 2010)

    Google Scholar 

  12. 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 International Real-Time Systems Symposium (RTSS 2005), Miami, FL, pp. 62–71 (December 2005)

    Google Scholar 

  13. Martin, M.M.K., Hill, M.D., Sorin, D.J.: Why on-chip cache coherence is here to stay. Communications of the ACM 55(7), 78–89 (2012)

    Article  Google Scholar 

  14. Rajkumar, R.: Real-time synchronization protocols for shared memory multiprocessors. In: Proceedings of the 10th International Conference on Distributed Computing Systems, pp. 116–123 (1990)

    Google Scholar 

  15. Ras, J., Cheng, A.M.K.: Response time analysis for the Abort-and-Restart event handlers of the Priority-Based Functional Reactive Programming (P-FRP) paradigm. In: Proceedings of the 15th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA), pp. 305–314 (2009)

    Google Scholar 

  16. Rossbach, C.J., Hofmann, O.S., Witchel, E.: Is transactional programming actually easier? In: Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP 2010), pp. 47–56 (January 2010)

    Google Scholar 

  17. Sarni, T., Queudet, A., Valduriez, P.: Real-Time Support for Software Transactional Memory. In: Proceedings of the 15th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA 2009), pp. 477–485 (August 2009)

    Google Scholar 

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

    Google Scholar 

  19. Tsigas, P., Zhang, Y.: Non-blocking data sharing in multiprocessor real-time systems. In: Proceedings of the 6th IEEE International Conference on Real-Time Computing Systems and Applications (RTCSA 1999), pp. 247–254 (December 1999)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Barros, A., Pinho, L.M. (2014). Non-preemptive Scheduling of Real-Time Software Transactional Memory. In: Maehle, E., Römer, K., Karl, W., Tovar, E. (eds) Architecture of Computing Systems – ARCS 2014. ARCS 2014. Lecture Notes in Computer Science, vol 8350. Springer, Cham. https://doi.org/10.1007/978-3-319-04891-8_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-04891-8_3

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-04890-1

  • Online ISBN: 978-3-319-04891-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics