Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2141702.2141704acmconferencesArticle/Chapter ViewAbstractPublication PagesppoppConference Proceedingsconference-collections
research-article

AGC: adaptive global clock in software transactional memory

Published: 26 February 2012 Publication History

Abstract

Time-based software transactional memories (STMs) exploit a global shared counter to reason about consistency of transactional data and order in which transactions commit. While time-based STMs avoid the large validation overhead of transactional memories that always check consistency when a new memory location is accessed, they increase contention over the global counter. When a transaction commits, it updates the global counter which may result in cache coherence misses if transactions commit frequently. The alternative validation method is to avoid frequent updates to the central global counter, increment it locally, and use it to tag memory locations. However, as we show in this paper, the optimum validation policy changes not only across applications but also within an application and through different phases of a program. We propose adaptive global clock (AGC) which dynamically selects one of the two validation techniques to reduce contention over the global counter and improve performance. AGC is a speculative approach and relies on history of transactions to select a validation technique. We have incorporated AGC into TL2 and compared the performance of the new implementation with the original STM using Stamp v0.9.10 benchmark suite. Our results reveal that AGC improves performance of applications up to 31%.

References

[1]
M. Herlihy and J. E. B. Moss, Transactional memory: Architectural support for lock-free data structures. In Proceedings of the Twentieth Annual International Symposium on Computer Architecture, 1993.
[2]
P. Damron, A. Fedorova, Y. Lev, V. Luchangco, M. Moir, D. Nussbaum, Hybrid transactional memory. In: ASPLOS-XII: Proceedings of the 12th international conference on Architectural support for programming languages and operating systems, pp. 336--346. ACM, New York (2006)
[3]
Harris, T., Fraser, K.: Language support for lightweight transactions. SIGPLAN Not. 38(11), 388--402 (2003)
[4]
Saha, B., Adl-Tabatabai, A. R., Hudson, R. L., Minh, C. C., Hertzberg, B.: Mcrtstm: A High performance software transactional memory system for a multi-core runtime. In: PPoPP 2006. Proceedings of the eleventh ACM SIGPLAN symposium on Principles and practice of parallel programming, pp. 187--197. ACM, New York (2006)
[5]
Aleksandar Dragojevic, Rachid Guerraoui, Michal Kapalka, Stretching transactional memory, In the Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation, 2009.
[6]
Janice M. Stone, Harold S. Stone, Philip Heidelberger, and John Turek, Multiple reservations and the Oklahoma update, IEEE Parallel & Distributed Technology: Systems & Technology, 58--71, Nov. 1993.
[7]
R. Ennals. Efficient software transactional memory. Technical report, Intel Research Cambridge, Jan 2005.
[8]
M. F. Spear, V. J. Marathe, W. N. Scherer III, and M. L. Scott. Conflict detection and validation strategies for software transactional memory. In DISC, 2006.
[9]
David Dice, Ori Shalev, and Nir Shavit, Transactional Locking II. In the Proceedings of the 20th International Symposium on Distributed Computing, pages 194--208, September 2006.
[10]
T. Riegel, P. Felber, and C. Fetzer. A lazy snapshot algorithm with eager validation. In Proceedings of the 20th International Symposium on Distributed Computing, DISC 2006, volume 4167 of Lecture Notes in Computer Science, pages 284--298. Springer, Sep. 2006.
[11]
Yossi Lev, Victor Luchangco, Virendra Marathe, Mark Moir, Dan Nussbaum, and Marek Olszewski. Anatomy of a scalable software transactional memory. In TRANSACT '09: 4th Workshop on Transactional Computing, February 2009.
[12]
T. Riegel, C. Fetzer, and P. Felber. Time-based transactional memory with scalable time bases. In SPAA '07: Proceedings of the nineteenth annual ACM symposium on Parallel algorithms and architectures, pages 221--228, New York, NY, USA, 2007. ACM.
[13]
N. Shavit and D. Touitou. Software transactional memory, In the Proceedings of ACM Symposium on Principles of Distributed Computing, August 1995.
[14]
Sandya Mannarswamy and R. Govindarajan, Making STMs Cache Friendly with Compiler Transformations, in the Proc. of the 20th International Parallel Architectures and Compilation Techniques (PACT 2011), Galveston Island, TX, Oct. 2011.
[15]
Michael F. Spear, Virendra J. Marathe, William N. Scherer III, and Michael L. Scott. Conflict Detection and Validation Strategies for Software Transactional Memory. In Proceedings of the 20th International Symposium on Distributed Computing (DISC), pages 179--193, September 2006.
[16]
M. P. Herlihy and J. M. Wing, Linearizability: a correctness condition for concurrent objects. Trans. on Prog. Lang. and Syst. 12, 3 (1990).
[17]
J., Bobba, N. Goyal, M. D. Hill, M. M. Swift, D. A. Wood, TokenTM: Efficient execution of large transactions with hardware transactional memory, In Proceedings of the 35th International Symposium on Computer Architecture: 127--138, 2008.
[18]
M. Herlihy, V. Luchangco, M. Moir, and W. Scherer III. Software transactional memory for dynamic-sized data structures. In Proceedings of PODC, pages 92--101, Jul 2003.
[19]
Chi Cao Minh, Martin Trautmann, JaeWoong Chung, Austen McDonald, Nathan Bronson, Jared Casper, Christos Kozyrakis, and Kunle Olukotun, An Effective Hybrid Transactional Memory System with Strong Isolation Guarantees. In the Proceeding of International Symposium on Computer Architecture, June 2007.
[20]
David E. Culler, Jaswinder Pal Singh, with Anoop Gupta, Parallel Computer Architecture: a Hardware/Software Approach, Morgan Kaufmann Publishers, 1998.
[21]
Hillel Avni and Nir Shavit, Maintaining Consistent Transactional States Without a Global Clock. In the Proc. of 15th International Colloquium on Structural Information and Communication Complexity. pp. 131--140. Springer-Verlag Lecture Notes in Computer Science volume 5058.
[22]
Tse-Yuh Yeh and Yale Patt, Alternative implementations of two-level adaptive branch prediction, In Proceedings of the 19th Annual International Symposium on Computer Architecture, May 1992.

Cited By

View all

Recommendations

Reviews

William I. Thacker

The past is a good predictor of the future. That is the guiding principle of this paper. The authors apply the ideas from a hardware technique, known as branch predicting, to choose between two different validation techniques. The adaptive global clock (AGC) monitors the performance of the executing program and selects the better of two techniques, depending on the performance characteristics of the program. The two existing techniques, GV4 and GV5, perform differently in different situations. GV4 uses a pass-on-failure strategy. When a transaction cannot increment the counter, a retry is not performed; instead, the program uses the new value of the counter as its time stamp. GV5 reduces contention for the global counter by not requiring every transaction to attempt to increment it. Instead, when a transaction commits, the global counter is read and incremented locally, using that resulting value as its time stamp; the program does not write the incremented value back to the global counter. Results with several benchmarks show that the new technique is no worse than GV4 in 60 percent of the tests, but better than GV4 in the other 40 percent of test cases. There were no results comparing this method with GV5 alone. In the 40 percent of the cases where the proposed method is better than GV4, GV5 outperforms GV4, so the results compared with GV5 may not be as significant. This appears to be a significant omission. Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PMAM '12: Proceedings of the 2012 International Workshop on Programming Models and Applications for Multicores and Manycores
February 2012
180 pages
ISBN:9781450312110
DOI:10.1145/2141702
  • Conference Chairs:
  • Minyi Guo,
  • Zhiyi Huang
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 26 February 2012

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. global clock
  2. runtime optimization
  3. transactional memory
  4. validation

Qualifiers

  • Research-article

Conference

PPoPP '12
Sponsor:

Acceptance Rates

Overall Acceptance Rate 53 of 97 submissions, 55%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)2
Reflects downloads up to 10 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2020)Multi-Source Data Stream Online Frequent Episode MiningIEEE Access10.1109/ACCESS.2020.29973378(107465-107478)Online publication date: 2020
  • (2018)A scalable ordering primitive for multicore machinesProceedings of the Thirteenth EuroSys Conference10.1145/3190508.3190510(1-15)Online publication date: 23-Apr-2018
  • (2014)Boosting performance of transactional memory through O-GEHL predictorsMicroprocessors and Microsystems10.1016/j.micpro.2013.09.00238:4(254-262)Online publication date: Jun-2014
  • (2013)Consistency Check through O-GEHL PredictorsProceedings of the 2013 21st Euromicro International Conference on Parallel, Distributed, and Network-Based Processing10.1109/PDP.2013.39(218-224)Online publication date: 27-Feb-2013
  • (2012)TRTProceedings of the 2012 13th International Conference on Parallel and Distributed Computing, Applications and Technologies10.1109/PDCAT.2012.132(614-617)Online publication date: 14-Dec-2012
  • (2012)Maintaining consistency in software transactional memory through dynamic versioning tuningProceedings of the 12th international conference on Algorithms and Architectures for Parallel Processing - Volume Part II10.1007/978-3-642-33065-0_5(40-49)Online publication date: 4-Sep-2012

View Options

Get Access

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