Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1109/CCGRID.2017.98acmconferencesArticle/Chapter ViewAbstractPublication PagesccgridConference Proceedingsconference-collections
tutorial

Preemptive Software Transactional Memory

Published: 14 May 2017 Publication History

Abstract

In state-of-the-art Software Transactional Memory (STM) systems, threads carry out the execution of transactions as non-interruptible tasks. Hence, a thread can react to the injection of a higher priority transactional task and take care of its processing only at the end of the currently executed transaction. In this article we pursue a paradigm shift where the execution of an in-memory transaction is carried out as a preemptable task, so that a thread can start processing a higher priority transactional task before finalizing its current transaction. We achieve this goal in an application-transparent manner, by only relying on Operating System facilities we include in our preemptive STM architecture. With our approach we are able to re-evaluate CPU assignment across transactions along a same thread every few tens of microseconds. This is mandatory for an effective priority-aware architecture given the typically finer-grain nature of in-memory transactions compared to their counterpart in database systems. We integrated our preemptive STM architecture with the TinySTM package, and released it as open source. We also provide the results of an experimental assessment of our proposal based on running a port of the TPC-C benchmark to the STM environment.

References

[1]
http://www.intel.com/content/www/us/en/processors/core/5th-gen-core-processor-family.html.
[2]
M. Castro, L. F. W. Goes, C. P. Ribeiro, M. Cole, M. Cintra, and J.-F. Mehaut. A machine learning-based approach for thread mapping on transactional memory applications. In Proceedings of the 18th International Conference on High Performance Computing, pages 1--10, 2011.
[3]
P. di Sanzo, M. Sannicandro, B. Ciciani, and F. Quaglia. Markov chain-based adaptive scheduling in software transactional memory. In Proceedings of the 30th IEEE International Parallel and Distributed Processing Symposium, pages 373--382, 2016.
[4]
D. Dice, O. Shalev, and N. Shavit. Transactional Locking II. In Proceedings of the 20th International Symposium on Distributed Computing, pages 194--208, 2006.
[5]
D. Didona, N. Diegues, A. Kermarrec, R. Guerraoui, R. Neves, and P. Romano. Proteustm: Abstraction meets performance in transactional memory. In Proceedings of the 21st International Conference on Architectural Support for Programming Languages and Operating Systems, pages 757--771, 2016.
[6]
D. Didona, P. Felber, D. Harmanci, P. Romano, and J. Schenker. Identifying the optimal level of parallelism in transactional memory applications. Computing, 97(9):939--959, 2015.
[7]
N. Diegues, P. Romano, and S. Garbatov. Seer: Probabilistic scheduling for hardware transactional memory. In Proceedings of the 27th ACM on Symposium on Parallelism in Algorithms and Architectures, pages 224--233, 2015.
[8]
S. Dolev, D. Hendler, and A. Suissa. Car-STM: scheduling-based collision avoidance and resolution for software transactional memory. In Proceedings of the 27th ACM symposium on Principles of Distributed Computing, pages 125--134, 2008.
[9]
A. Dragojević and R. Guerraoui. Predicting the scalability of an stm: A pragmatic approach. In Proceedings of the 5th ACM SIGPLAN Workshop on Transactional Computing, 2010.
[10]
R. Ennals. Software transactional memory should not be obstruction-free. Technical report, Intel Research Cambridge Tech Report, Jan 2006.
[11]
P. Felber, C. Fetzer, and T. Riegel. Dynamic performance tuning of word-based software transactional memory. In Proceedings of the 13th ACM Symposium on Principles and Practice of Parallel Programming, pages 237--246, 2008.
[12]
M. Harchol-Balter, B. Schroeder, N. Bansal, and M. Agrawal. Size-based scheduling to improve web performance. ACM Trans. Comput. Syst., 21(2):207--233, May 2003.
[13]
W. Maldonado, P. Marlier, P. Felber, J. Lawall, G. Muller, and E. Rivière. Supporting time-based QoS requirements in software transactional memory. ACM Trans. Parallel Comput., 2(2):10:1--10:30, July 2015.
[14]
A. Pellegrini and F. Quaglia. Time-sharing time warp via lightweight operating system support. In Proceedings of the 3rd ACM-SIGSIM Conference on Principles of Advanced Discrete Simulation, pages 47--58, 2015.
[15]
D. Rughetti, P. Di Sanzo, B. Ciciani, and F. Quaglia. Machine learning-based self-adjusting concurrency in software transactional memory systems. In Proceedings of the 20th IEEE International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems, pages 278--285, 2012.
[16]
D. Rughetti, P. di Sanzo, B. Ciciani, and F. Quaglia. Analytical/ML mixed approach for concurrency regulation in software transactional memory. In Proceedings of the 14th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing, pages 81--91, 2014.
[17]
D. Rughetti, Paolo, F. Quaglia, and B. Ciciani. Automatic tuning of the parallelism degree in hardware transactional memory. In Proceedings of the 20th International Conference Parallel Processing, pages 475--486, 2014.
[18]
N. Shavit and D. Touitou. Software transactional memory. In Proceedings of the 14th ACM Symposium on Principles of Distributed Computing, pages 204--213, 1995.
[19]
A. Silberschatz, P. B. Galvin, and G. Gagne. Operating System Concepts. Wiley Publishing, 8th edition, 2008.
[20]
TPC Council. TPC-C Benchmark, Revision 5.11. Feb. 2010.
[21]
Q. Wang, S. Kulkarni, J. V. Cavazos, and M. Spear. Towards applying machine learning to adaptive transactional memory. In Proceedings of the 6th ACM SIGPLAN Workshop on Transactional Computing, 2011.
[22]
R. M. Yoo and H.-H. S. Lee. Adaptive transaction scheduling for transactional memory systems. In Proceedings of the 20th ACM Symposium on Parallelism in Algorithms and Architectures, pages 169--178, 2008.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
CCGrid '17: Proceedings of the 17th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing
May 2017
1167 pages
ISBN:9781509066100

Sponsors

Publisher

IEEE Press

Publication History

Published: 14 May 2017

Check for updates

Qualifiers

  • Tutorial
  • Research
  • Refereed limited

Conference

CCGrid '17
Sponsor:

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 52
    Total Downloads
  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 25 Jan 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media