Carvalho, Fernando MiguelCachopo, João2016-04-182016-04-182016-03CARVALHO, Fernando Miguel; CACHOPO, João - Optimizing memory transactions for large-scale programs. Journal of Parallel and Distributed Computing. ISSN 0743-7315. Vol. 89 (2016), pp. 13-240743-73151096-0848http://hdl.handle.net/10400.21/6011Even though Software Transactional Memory (STM) is one of the most promising approaches to simplify concurrent programming, current STM implementations incur significant overheads that render them impractical for many real-sized programs. The key insight of this work is that we do not need to use the same costly barriers for all the memory managed by a real-sized application, if only a small fraction of the memory is under contention lightweight barriers may be used in this case. In this work, we propose a new solution based on an approach of adaptive object metadata (AOM) to promote the use of a fast path to access objects that are not under contention. We show that this approach is able to make the performance of an STM competitive with the best fine-grained lock-based approaches in some of the more challenging benchmarks. (C) 2015 Elsevier Inc. All rights reserved.engSoftware transactional memoryRuntime optimizationsConcurrent programmingOptimizing memory transactions for large-scale programsjournal article10.1016/j.jpdc.2015.12.001