Optimizing memory transactions for large-scale programs

Even 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 th...

ver descrição completa

Detalhes bibliográficos
Autor principal: Carvalho, Fernando Miguel (author)
Outros Autores: Cachopo, João (author)
Formato: article
Idioma:eng
Publicado em: 2016
Assuntos:
Texto completo:http://hdl.handle.net/10400.21/6011
País:Portugal
Oai:oai:repositorio.ipl.pt:10400.21/6011
Descrição
Resumo:Even 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.