Matches in SemOpenAlex for { <https://semopenalex.org/work/W899856837> ?p ?o ?g. }
- W899856837 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." @default.
- W899856837 created "2016-06-24" @default.
- W899856837 creator A5048219922 @default.
- W899856837 date "2023-07-19" @default.
- W899856837 modified "2023-10-04" @default.
- W899856837 title "Enhancing the efficiency and practicality of software transactional memory on massively multithreaded systems" @default.
- W899856837 cites W1542975293 @default.
- W899856837 cites W1552895988 @default.
- W899856837 cites W1554398046 @default.
- W899856837 cites W1619746206 @default.
- W899856837 cites W17417822 @default.
- W899856837 cites W1749024214 @default.
- W899856837 cites W1758810311 @default.
- W899856837 cites W1828747228 @default.
- W899856837 cites W1965891029 @default.
- W899856837 cites W1968798625 @default.
- W899856837 cites W1972544179 @default.
- W899856837 cites W1975815498 @default.
- W899856837 cites W1976044247 @default.
- W899856837 cites W1976623675 @default.
- W899856837 cites W1986913310 @default.
- W899856837 cites W1987275546 @default.
- W899856837 cites W1990262300 @default.
- W899856837 cites W1993179651 @default.
- W899856837 cites W1995140396 @default.
- W899856837 cites W2002179840 @default.
- W899856837 cites W2017700354 @default.
- W899856837 cites W2021030008 @default.
- W899856837 cites W2022740893 @default.
- W899856837 cites W2030159266 @default.
- W899856837 cites W2040392157 @default.
- W899856837 cites W2041559024 @default.
- W899856837 cites W2044206819 @default.
- W899856837 cites W2044925098 @default.
- W899856837 cites W2060499019 @default.
- W899856837 cites W2061239425 @default.
- W899856837 cites W2064037464 @default.
- W899856837 cites W2076264849 @default.
- W899856837 cites W2080675607 @default.
- W899856837 cites W2083265143 @default.
- W899856837 cites W2086512828 @default.
- W899856837 cites W2089755106 @default.
- W899856837 cites W2092874256 @default.
- W899856837 cites W2094222793 @default.
- W899856837 cites W2095760405 @default.
- W899856837 cites W2095825766 @default.
- W899856837 cites W2099537990 @default.
- W899856837 cites W2102081731 @default.
- W899856837 cites W2102621631 @default.
- W899856837 cites W2103642785 @default.
- W899856837 cites W2105524676 @default.
- W899856837 cites W2107150212 @default.
- W899856837 cites W2108140316 @default.
- W899856837 cites W2108204150 @default.
- W899856837 cites W2113751407 @default.
- W899856837 cites W2115022835 @default.
- W899856837 cites W2115274736 @default.
- W899856837 cites W2116145395 @default.
- W899856837 cites W2119653453 @default.
- W899856837 cites W2120935622 @default.
- W899856837 cites W2123437221 @default.
- W899856837 cites W2125794065 @default.
- W899856837 cites W2126501440 @default.
- W899856837 cites W2126716774 @default.
- W899856837 cites W2129192659 @default.
- W899856837 cites W2129240242 @default.
- W899856837 cites W2129990308 @default.
- W899856837 cites W2130392506 @default.
- W899856837 cites W2131498141 @default.
- W899856837 cites W2132484060 @default.
- W899856837 cites W2135430119 @default.
- W899856837 cites W2135742761 @default.
- W899856837 cites W2138411837 @default.
- W899856837 cites W2138476373 @default.
- W899856837 cites W2143068308 @default.
- W899856837 cites W2145021036 @default.
- W899856837 cites W2148948639 @default.
- W899856837 cites W2149089882 @default.
- W899856837 cites W2149473197 @default.
- W899856837 cites W2149984854 @default.
- W899856837 cites W2150349217 @default.
- W899856837 cites W2150732552 @default.
- W899856837 cites W2152657019 @default.
- W899856837 cites W2153174073 @default.
- W899856837 cites W2153185479 @default.
- W899856837 cites W2155500238 @default.
- W899856837 cites W2162312381 @default.
- W899856837 cites W2162916317 @default.
- W899856837 cites W2163654949 @default.
- W899856837 cites W2165372900 @default.
- W899856837 cites W2168163009 @default.
- W899856837 cites W2168452045 @default.
- W899856837 cites W2169093943 @default.
- W899856837 cites W2169372866 @default.
- W899856837 cites W2170653240 @default.
- W899856837 cites W2172064476 @default.
- W899856837 cites W2269611829 @default.
- W899856837 cites W2323110450 @default.
- W899856837 cites W2468067288 @default.
- W899856837 cites W2535359146 @default.