Logo do repositório
 

LUTS: A lightweight user-level transaction scheduler

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:26:06Z
dc.date.available2014-05-27T11:26:06Z
dc.date.issued2011-11-09
dc.description.abstractSoftware 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 policies are typically used to avoid that, but they are passive approaches as they wait for an abort to happen so they can take action. More proactive approaches have emerged, trying to predict when a transaction is likely to abort so its execution can be delayed. Such 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 should run. In this paper we propose LUTS, a Lightweight User-Level Transaction Scheduler, which is based on an execution context record mechanism. Unlike other techniques, LUTS provides the means for selecting another transaction to run in parallel, thus improving system throughput. Moreover, it avoids most of the issues caused by pseudo parallelism, as it only launches as many system-level threads as the number of available processor cores. We discuss LUTS design and present three conflict-avoidance heuristics built around LUTS scheduling capabilities. Experimental results, conducted with STMBench7 and STAMP benchmark suites, show LUTS efficiency when running high contention applications and how conflict-avoidance heuristics can improve STM performance even more. In fact, our transaction scheduling techniques are capable of improving program performance even in overloaded scenarios. © 2011 Springer-Verlag.en
dc.description.affiliationIC-UNICAMP
dc.description.affiliationUNESP - Univ. Estadual Paulista, Rio Claro
dc.description.affiliationUnespUNESP - Univ. Estadual Paulista, Rio Claro
dc.format.extent144-157
dc.identifierhttp://dx.doi.org/10.1007/978-3-642-24650-0_13
dc.identifier.citationLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), v. 7016 LNCS, n. PART 1, p. 144-157, 2011.
dc.identifier.doi10.1007/978-3-642-24650-0_13
dc.identifier.issn0302-9743
dc.identifier.issn1611-3349
dc.identifier.scopus2-s2.0-80455173580
dc.identifier.urihttp://hdl.handle.net/11449/72788
dc.language.isoeng
dc.relation.ispartofLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
dc.relation.ispartofsjr0,295
dc.rights.accessRightsAcesso aberto
dc.sourceScopus
dc.subjectBenchmark suites
dc.subjectExecution context
dc.subjectImproving systems
dc.subjectManagement policy
dc.subjectPoor performance
dc.subjectPro-active approach
dc.subjectProcessor cores
dc.subjectProgram performance
dc.subjectRuntimes
dc.subjectSoftware transactional memory
dc.subjectSystem levels
dc.subjectTransaction scheduling
dc.subjectAlgorithms
dc.subjectBenchmarking
dc.subjectJava programming language
dc.subjectMemory architecture
dc.subjectParallel processing systems
dc.titleLUTS: A lightweight user-level transaction scheduleren
dc.typeTrabalho apresentado em evento
dcterms.licensehttp://www.springer.com/open+access/authors+rights
dspace.entity.typePublication
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
unesp.departmentEstatística, Matemática Aplicada e Computação - IGCEpt

Arquivos