• Home
  • Search
  • Enhancing the efficiency and practicality of software transactional memory on massively multithreaded systems
  • https://doi.org/10.5821/dissertation-2117-94913Copy DOI Icon

Enhancing the efficiency and practicality of software transactional memory on massively multithreaded systems

  • Mar 22, 2013
  • Gökçen Kestor
Show More
  • Abstract
  • Literature Map
  • References
  • Similar Papers
Abstract

Chip Multithreading (CMT) processors promise to deliver higher performance by running more than one stream of instructions in parallel. To exploit CMT's capabilities, programmers have to parallelize their applications, which is not a trivial task. Transactional Memory (TM) is one of parallel programming models that aims at simplifying synchronization by raising the level of abstraction between semantic atomicity and the means by which that atomicity is achieved. TM is a promising programming model but there are still important challenges that must be addressed to make it more practical and efficient in mainstream parallel programming. The first challenge addressed in this dissertation is that of making the evaluation of TM proposals more solid with realistic TM benchmarks and being able to run the same benchmarks on different STM systems. We first introduce a benchmark suite, RMS-TM, a comprehensive benchmark suite to evaluate HTMs and STMs. RMS-TM consists of seven applications from the Recognition, Mining and Synthesis (RMS) domain that are representative of future workloads. RMS-TM features current TM research issues such as nesting and I/O inside transactions, while also providing various TM characteristics. Most STM systems are implemented as user-level libraries: the programmer is expected to manually instrument not only transaction boundaries, but also individual loads and stores within transactions. This library-based approach is increasingly tedious and error prone and also makes it difficult to make reliable performance comparisons. To enable an "apples-to-apples" performance comparison, we then develop a software layer that allows researchers to test the same applications with interchangeable STM back ends. The second challenge addressed is that of enhancing performance and scalability of TM applications running on aggressive multi-core/multi-threaded processors. Performance and scalability of current TM designs, in particular STM desings, do not always meet the programmer's expectation, especially at scale. To overcome this limitation, we propose a new STM design, STM2, based on an assisted execution model in which time-consuming TM operations are offloaded to auxiliary threads while application threads optimistically perform computation. Surprisingly, our results show that STM2 provides, on average, speedups between 1.8x and 5.2x over state-of-the-art STM systems. On the other hand, we notice that assisted-execution systems may show low processor utilization. To alleviate this problem and to increase the efficiency of STM2, we enriched STM2 with a runtime mechanism that automatically and adaptively detects application and auxiliary threads' computing demands and dynamically partition hardware resources between the pair through the hardware thread prioritization mechanism implemented in POWER machines. The third challenge is to define a notion of what it means for a TM program to be correctly synchronized. The current definition of transactional data race requires all transactions to be totally ordered "as if'' serialized by a global lock, which limits the scalability of TM designs. To remove this constraint, we first propose to relax the current definition of transactional data race to allow a higher level of concurrency. Based on this definition we propose the first practical race detection algorithm for C/C++ applications (TRADE) and implement the corresponding race detection tool. Then, we introduce a new definition of transactional data race that is more intuitive, transparent to the underlying TM implementation, can be used for a broad set of C/C++ TM programs. Based on this new definition, we proposed T-Rex, an efficient and scalable race detection tool for C/C++ TM applications. Using TRADE and T-Rex, we have discovered subtle transactional data races in widely-used STAMP applications which have not been reported in the past.

Similar Papers
  • Conference Article
  • Citations14

T-Rex

  • Apr 14, 2014
  • Gokcen Kestor +3
  • Research Article

Adaptive Snoop Granularity and Transactional Snoop Filtering in Hardware Transactional Memory

  • Jan 01, 2014
  • Canadian Journal of Electrical and Computer Engineering
  • Ehsan Atoofian
  • Conference Article
  • Citations207

Evaluation of Blue Gene/Q hardware support for transactional memories

  • Sep 19, 2012
  • Amy Wang +7
  • Research Article
  • Citations8

Profiling and Optimizing Transactional Memory Applications

  • Jul 28, 2011
  • International Journal of Parallel Programming
  • Ferad Zyulkyarov +6
  • Conference Article
  • Citations5

DeTrans: Deterministic and Parallel execution of Transactions

  • Oct 01, 2014
  • Vesna Smiljkovic +5
  • Conference Article
  • Citations73

Eigenbench: A simple exploration tool for orthogonal TM characteristics

  • Dec 01, 2010
  • Sungpack Hong +5
  • Research Article
  • Citations16

Efficient Correction of Anomalies in Snapshot Isolation Transactions

  • Jan 09, 2015
  • ACM Transactions on Architecture and Code Optimization
  • Heiner Litz +2
  • Conference Article
  • Citations21

Understanding the behavior of transactional memory applications

  • Jul 19, 2009
  • João Lourenço +4
  • Book Chapter
  • Citations995

Transactional Locking II

  • Jan 01, 2006
  • Dave Dice +2
  • PDF
  • Dissertation

Techniques for improving the performance of software transactional memory

  • Jul 21, 2014
  • Srđan Stipić
  • Research Article
  • Citations51

Cloud-TM

  • Apr 14, 2010
  • ACM SIGOPS Operating Systems Review
  • Paolo Romano +3
  • Book Chapter
  • Citations10

Supporting Legacy Binary Code in a Software Transaction Compiler with Dynamic Binary Translation and Optimization

  • Mar 29, 2008
  • Cheng Wang +2
  • Research Article

Finding Memory Bound of Cloned Objects in Software Transactional Memory Programs

  • Jun 01, 2022
  • International Journal of Software Engineering and Knowledge Engineering
  • Ngoc-Khai Nguyen +2
  • Conference Article

<title>Parallel constructs for three-dimensional registration on a SIMD (single-instruction stream/multiple-data stream) processor</title>

  • Jun 01, 1991
  • Proceedings of SPIE, the International Society for Optical Engineering/Proceedings of SPIE
  • Craig A Morioka +2
  • Conference Article
  • Citations204

Adaptive transaction scheduling for transactional memory systems

  • Jun 14, 2008
  • Richard M Yoo +1
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.