Nothing Special   »   [go: up one dir, main page]

skip to main content
10.5555/3314872.3314888acmconferencesArticle/Chapter ViewAbstractPublication PagescgoConference Proceedingsconference-collections
Article

Quantifying and reducing execution variance in STM via model driven commit optimization

Published: 16 February 2019 Publication History

Abstract

Simplified parallel programming coupled with an ability to express speculative computation is realized with Software Transactional Memory (STM). Although STMs are gaining popularity because of significant improvements in parallel performance, they exhibit enormous variation in transaction execution with non-repeatable performance behavior which is unacceptable in many application domains, especially in which frame rates and responsiveness should be predictable.In other domains reproducible transactional behavior helps towards system provisioning. Thus, reducing execution variance in STM is an important performance goal that has been mostly overlooked. In this work, we minimize the variance in execution time of threads in STM by reducing non-determinism exhibited due to speculation. We define the state of STM, and we use it to first quantify non-determinism and then generate an automaton that models the execution behavior of threads in STM. We finally use the state automaton to guide the STM to avoid non-predictable transactional behavior thus reducing non-determinism in rollbacks which in turn results in reduction in variance. We observed average reduction of variance in execution time of threads up to 74% in 16 cores and 53% in 8 cores by reducing non-determinism up to 24% in 16 cores and 44% in 8 cores, respectively, on STAMP benchmark suite while experiencing average slowdown of 4.8% in 8 cores and 19.2% in 16 cores. We also reduced the variance in frame rate by maximum of 65% on a version of real world game Quake3 without degradation in timing.

References

[1]
Chi Cao Minh and. STAMP: stanford transactional applications for multi-processing. In Christie et al. {4}, pages 35–46.
[2]
Mohammad Ansari, Christos Kotselidis, Kim Jarvis, Mikel Luján, Chris Kirkham, and Ian Watson. Advanced concurrency control for transactional memory using transaction commit rate. In Proceedings of the 14th International Euro-Par Conference on Parallel Processing, Euro-Par ’08, pages 719–728, Berlin, Heidelberg, 2008. Springer-Verlag.
[3]
Amittai Aviram, Shu-Chun Weng, Sen Hu, and Bryan Ford. Efficient system-enforced deterministic parallelism. In Proceedings of the 9th USENIX Conference on Operating Systems Design and Implementation, OSDI’10, pages 1–16, Berkeley, CA, USA, 2010. USENIX Association.
[4]
David Christie, Alan Lee, Onur Mutlu, and Benjamin G. Zorn, editors. 4th International Symposium on Workload Characterization (IISWC 2008), Seattle, Washington, USA, September 14-16, 2008. IEEE Computer Society, 2008.
[5]
Peter Damron, Alexandra Fedorova, Yossi Lev, Victor Luchangco, Mark Moir, and Daniel Nussbaum. Hybrid transactional memory. In Proceedings of the 12th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS XII, pages 336–346, New York, NY, USA, 2006. ACM.
[6]
Joseph Devietti, Brandon Lucia, Luis Ceze, and Mark Oskin. Dmp: Deterministic shared memory multiprocessing. In Proceedings of the 14th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS XIV, pages 85–96, New York, NY, USA, 2009. ACM.
[7]
Dave Dice, Ori Shalev, and Nir Shavit. Transactional locking ii. In Proceedings of the 20th International Conference on Distributed Computing, DISC’06, pages 194–208, Berlin, Heidelberg, 2006. Springer-Verlag.
[8]
Sherif F. Fahmy, Binoy Ravindran, and E. D. Jensen. On bounding response times under software transactional memory in distributed multiprocessor real-time systems. In Proceedings of the Conference on Design, Automation and Test in Europe, DATE ’09, pages 688–693, 3001 Leuven, Belgium, Belgium, 2009. European Design and Automation Association.
[9]
Andy Georges, Lieven Eeckhout, and Dries Buytaert. Java performance evaluation through rigorous replay compilation. In Proceedings of the 23rd ACM SIGPLAN Conference on Object-oriented Programming Systems Languages and Applications, OOPSLA ’08, pages 367–384, New York, NY, USA, 2008. ACM.
[10]
Rachid Guerraoui, Maurice Herlihy, and Bastian Pochon. Toward a theory of transactional contention managers. In Proceedings of the Twenty-fourth Annual ACM Symposium on Principles of Distributed Computing, PODC ’05, pages 258–264, New York, NY, USA, 2005. ACM.
[11]
Maurice Herlihy, Victor Luchangco, Mark Moir, and William N. Scherer, III. Software transactional memory for dynamic-sized data structures. In Proceedings of the Twenty-second Annual Symposium on Principles of Distributed Computing, PODC ’03, pages 92–101, New York, NY, USA, 2003. ACM.
[12]
Christopher J. Hughes, Praful Kaul, Sarita V. Adve, Rohit Jain, Chanik Park, and Jayanth Srinivasan. Variability in the execution of multimedia applications and implications for architecture. In Proceedings of the 28th Annual International Symposium on Computer Architecture, ISCA ’01, pages 254–265, New York, NY, USA, 2001. ACM.
[13]
Tushar Kumar, Jaswanth Sreeram, Romain Cledat, and Santosh Pande. A profile-driven statistical analysis framework for the design optimization of soft real-time applications. In The 6th Joint Meeting on European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering: Companion Papers, ESEC-FSE companion ’07, pages 529–532, New York, NY, USA, 2007. ACM.
[14]
Edward A. Lee. The problem with threads. Computer, 39(5):33–42, May 2006.
[15]
Daniel Lupei, Bogdan Simion, Don Pinto, Matthew Misler, Mihai Burcea, William Krick, and Cristiana Amza. Towards scalable and transparent parallelization of multiplayer games using transactional memory support. In Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP ’10, pages 325–326, New York, NY, USA, 2010. ACM.
[16]
W. Maldonado, P. Marlier, P. Felber, J. Lawall, G. Muller, and E. Riviere. Deadline-aware scheduling for software transactional memory. In Dependable Systems Networks (DSN), 2011 IEEE/IFIP 41st International Conference on, pages 257–268, June 2011.
[17]
Girish Mururu, Ada Gavrilovska, and Santosh Pande. Quantifying and reducing execution variance in STM via model driven commit optimization. In Proceedings of the 23rd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2018, Vienna, Austria, February 24-28, 2018, pages 409–410, 2018.
[18]
Harish Patil, Cristiano Pereira, Mack Stallcup, Gregory Lueck, and James Cownie. Pinplay: A framework for deterministic replay and reproducible analysis of parallel programs. In Proceedings of the 8th Annual IEEE/ACM International Symposium on Code Generation and Optimization, CGO ’10, pages 2–11, New York, NY, USA, 2010. ACM.
[19]
Kishore Kumar Pusukuri, Rajiv Gupta, and Laxmi N. Bhuyan. Thread tranquilizer: Dynamically reducing performance variation. ACM Trans. Archit. Code Optim., 8(4):46:1–46:21, January 2012.
[20]
K. Ravichandran and S. Pande. F2c2-stm: Flux-based feedback-driven concurrency control for stms. In Parallel and Distributed Processing Symposium, 2014 IEEE 28th International, pages 927–938, May 2014.
[21]
Kaushik Ravichandran, Ada Gavrilovska, and Santosh Pande. Destm: Harnessing determinism in stms for application development. In Proceedings of the 23rd International Conference on Parallel Architectures and Compilation, PACT ’14, pages 213–224, New York, NY, USA, 2014. ACM.
[22]
William N. Scherer, III and Michael L. Scott. Advanced contention management for dynamic software transactional memory. In Proceedings of the Twenty-fourth Annual ACM Symposium on Principles of Distributed Computing, PODC ’05, pages 240–248, New York, NY, USA, 2005. ACM.
[23]
J. Sreeram and Santosh Pande. Hybrid transactions: Lock allocation and assignment for irrevocability. In Parallel Distributed Processing Symposium (IPDPS), 2012 IEEE 26th International, pages 1192–1203, May 2012.

Cited By

View all
  • (2020)Generating Robust Parallel Programs via Model Driven Prediction of Compiler Optimizations for Non-determinismProceedings of the 49th International Conference on Parallel Processing10.1145/3404397.3404464(1-12)Online publication date: 17-Aug-2020

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
CGO 2019: Proceedings of the 2019 IEEE/ACM International Symposium on Code Generation and Optimization
February 2019
286 pages
ISBN:9781728114361

Sponsors

Publisher

IEEE Press

Publication Notes

Badge change: Article originally badged under Version 1.0 guidelines https://www.acm.org/publications/policies/artifact-review-badging

Publication History

Published: 16 February 2019

Check for updates

Badges

Author Tags

  1. Execution Variance
  2. Quake3
  3. Software-transactional memory

Qualifiers

  • Article

Acceptance Rates

Overall Acceptance Rate 312 of 1,061 submissions, 29%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)0
Reflects downloads up to 05 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2020)Generating Robust Parallel Programs via Model Driven Prediction of Compiler Optimizations for Non-determinismProceedings of the 49th International Conference on Parallel Processing10.1145/3404397.3404464(1-12)Online publication date: 17-Aug-2020

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media