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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
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)
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)
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)
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)
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)
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)
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)
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)
Kalray: MPPA 256 – Many-core processors (2012), http://www.kalray.eu/products/mppa-manycore/mppa-256/
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)
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)
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)
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)
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)
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)
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)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)