Transaction scheduling using dynamic conflict avoidance

dc.contributor.authorNicácio, Daniel
dc.contributor.authorBaldassin, Alexandro [UNESP]
dc.contributor.authorAraújo, Guido
dc.contributor.institutionUniversidade Estadual de Campinas (UNICAMP)
dc.contributor.institutionUniversidade Estadual Paulista (Unesp)
dc.date.accessioned2014-05-27T11:28:17Z
dc.date.available2014-05-27T11:28:17Z
dc.date.issued2013-02-01
dc.description.abstractSoftware 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.en
dc.description.affiliationInstitute of Computing UNICAMP, Campinas SP
dc.description.affiliationUniv Estadual Paulista, Rio-Claro SP
dc.description.affiliationUnespUniv Estadual Paulista, Rio-Claro SP
dc.format.extent89-110
dc.identifierhttp://dx.doi.org/10.1007/s10766-012-0205-x
dc.identifier.citationInternational Journal of Parallel Programming, v. 41, n. 1, p. 89-110, 2013.
dc.identifier.doi10.1007/s10766-012-0205-x
dc.identifier.issn0885-7458
dc.identifier.scopus2-s2.0-84872606762
dc.identifier.urihttp://hdl.handle.net/11449/74455
dc.identifier.wosWOS:000313061500003
dc.language.isoeng
dc.relation.ispartofInternational Journal of Parallel Programming
dc.relation.ispartofjcr0.897
dc.relation.ispartofsjr0,244
dc.rights.accessRightsAcesso restrito
dc.sourceScopus
dc.subjectConcurrent programming
dc.subjectContention management
dc.subjectMultiprocessor systems
dc.subjectTransactional memory
dc.subjectAtomic blocks
dc.subjectBenchmark suites
dc.subjectConcurrent execution
dc.subjectConflict avoidance
dc.subjectImproving systems
dc.subjectManagement policy
dc.subjectMulti processor systems
dc.subjectPro-active approach
dc.subjectRate increase
dc.subjectSoftware Transaction Memory
dc.subjectTransaction scheduling
dc.subjectTransaction throughput
dc.subjectComputer programming
dc.subjectJava programming language
dc.subjectManagement
dc.subjectManagers
dc.subjectScheduling
dc.titleTransaction scheduling using dynamic conflict avoidanceen
dc.typeArtigo
dcterms.licensehttp://www.springer.com/open+access/authors+rights
unesp.author.lattes4738829911864396[2]
unesp.author.orcid0000-0001-8824-3055[2]
unesp.campusUniversidade Estadual Paulista (Unesp), Instituto de Geociências e Ciências Exatas, Rio Claropt

Arquivos