Transaction scheduling using dynamic conflict avoidance
Data de publicação2013-02-01
Direito de acesso
MetadadosExibir registro completo
Software transaction memory (STM) systems have been used as an approach to improve performance, by allowing the concurrent execution of atomic blocks. However, under high-contention workloads, STM-based systems can considerably degrade performance, as transaction conflict rate increases. Contention management policies have been used as a way to select which transaction to abort when a conflict occurs. In general, contention managers are not capable of avoiding conflicts, as they can only select which transaction to abort and the moment it should restart. Since contention managers act only after a conflict is detected, it becomes harder to effectively increase transaction throughput. More proactive approaches have emerged, aiming at predicting when a transaction is likely to abort, postponing its execution. Nevertheless, most of the proposed proactive techniques are limited, as they do not replace the doomed transaction by another or, when they do, they rely on the operating system for that, having little or no control on which transaction to run. This article proposes LUTS, a lightweight user-level transaction scheduler. Unlike other techniques, LUTS provides the means for selecting another transaction to run in parallel, thus improving system throughput. We discuss LUTS design and propose a dynamic conflict-avoidance heuristic built around its scheduling capabilities. Experimental results, conducted with the STAMP and STMBench7 benchmark suites, running on TinySTM and SwissTM, show how our conflict-avoidance heuristic can effectively improve STM performance on high contention applications. © 2012 Springer Science+Business Media, LLC.
Como citar este documento
Este item aparece nas seguintes coleções
Exibindo os itens relacionados pelo título, autor e palavra-chave.
Baldassin, Alexandro ; De Carvalho, João P.L. ; Garcia, Leonardo A.G.; Azevedo, Rodolfo (Proceedings - Symposium on Computer Architecture and High Performance Computing, 2012) [Trabalho apresentado em evento]Transactional memory (TM) is a new synchronization mechanism devised to simplify parallel programming, thereby helping programmers to unleash the power of current multicore processors. Although software implementations of ...
Nicácio, Daniel; Baldassin, Alexandro ; Araújo, Guido (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2011) [Trabalho apresentado em evento]Software Transactional Memory (STM) systems have poor performance under high contention scenarios. Since many transactions compete for the same data, most of them are aborted, wasting processor runtime. Contention management ...
Gabriel Filho, Luís Roberto Almeida ; Pigatto, Giuliana Aparecida Santini ; Lourenzani, Ana E. B. S. (Engenharia Agrícola, 2015) [Artigo]A fuzzy ruled-based system was developed in this study and resulted in an index indicating the level of uncertainty related to commercial transactions between cassava growers and their dealers. The fuzzy system was developed ...