LUTS : a Light-Weight User-Level Transaction Scheduler

Detalhes bibliográficos
Autor(a) principal: Nicácio, Daniel Henricus de Knegt Dutra, 1984-
Data de Publicação: 2012
Tipo de documento: Tese
Idioma: por
Título da fonte: Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
Texto Completo: https://hdl.handle.net/20.500.12733/1619978
Resumo: Orientador: Guido Costa Souza de Araújo
id UNICAMP-30_8cc3dd50b0a9b0994b7f81cabd9026b9
oai_identifier_str oai::905271
network_acronym_str UNICAMP-30
network_name_str Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
repository_id_str
spelling LUTS : a Light-Weight User-Level Transaction SchedulerLUTS : a Light-Weight User-Level Transaction SchedulerMemória transacionalProgramação paralela (Computação)Arquitetura de computadorLinguagem de programação (Computadores)Transactional memoryParallel programming (Computer science)Computer architectureProgramming languages (Electronic computers)Orientador: Guido Costa Souza de AraújoTese (doutorado) - Universidade Estadual de Campinas, Instituto de ComputaçãoResumo: Sistemas de Memória Transacional em Software (MTS) têm sido usados como uma abordagem para melhorar o desempenho ao permitir a execução concorrente de blocos atômicos. Porém, em cenários com alta contenção, sistemas baseados em MTS podem diminuir o desempenho consideravelmente, já que a taxa de conflitos aumenta. Políticas de gerenciamento de contenção têm sido usadas como uma forma de selecionar qual transação abortar quando um conflito ocorre. No geral, gerenciadores de contenção não são capazes de evitar conflitos, tendo em vista que eles apenas selecionam qual transação abortar e o momento em que ela deve reiniciar. Como gerenciadores de contenção agem somente após a detecção de um conflito, é difícil aumentar a taxa de transações finalizadas com sucesso. Abordagens mais pró-ativas foram propostas, focando na previsão de quando uma transação deve abortar e atrasando o início de sua execução. Contudo, as técnicas pró-ativas continuam sendo limitadas, já que elas não substituem a transação fadada a abortar por outra transação com melhores probabilidades de sucesso, ou quando o fazem, dependem do sistema operacional para essa tarefa, tendo pouco ou nenhum controle de qual transação será a substituta. Esta tese apresenta o LUTS, Lightweight User-Level Transaction Scheduler, um escalonador de transação de baixo custo em nível de usuário. Diferente de outras técnicas, LUTS provê maneiras de selecionar outra transação a ser executada em paralelo, melhorando o desempenho do sistema. Nós discutimos o projeto do LUTS e propomos uma heurística dinâmica, com o objetivo de evitar conflitos, que foi construída utilizando os métodos disponibilizados pelo LUTS. Resultados experimentais, conduzidos com os conjuntos de aplicações STAMP e STMBench7, e executando nas bibliotecas TinySTM e SwissTM, mostram como nossa heurística para evitar conflitos pode melhorar efetivamente o desempenho de sistema de MTS em aplicações com alta contençãoAbstract: 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 manager's 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 applicationsDoutoradoCiência da ComputaçãoDoutor em Ciência da Computação[s.n.]Araújo, Guido Costa Souza de, 1962-Maillard, Nicolas BrunoRigo, SandroKon, FabioBusato, Luiz EduardoUniversidade Estadual de Campinas (UNICAMP). Instituto de ComputaçãoPrograma de Pós-Graduação em Ciência da ComputaçãoUNIVERSIDADE ESTADUAL DE CAMPINASNicácio, Daniel Henricus de Knegt Dutra, 1984-2012info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisapplication/pdf67 f. : il.https://hdl.handle.net/20.500.12733/1619978NICÁCIO, Daniel Henricus de Knegt Dutra. LUTS: a Light-Weight User-Level Transaction Scheduler. 2012. 67 f. Tese (doutorado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1619978. Acesso em: 3 set. 2024.https://repositorio.unicamp.br/acervo/detalhe/905271porreponame:Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)instname:Universidade Estadual de Campinas (UNICAMP)instacron:UNICAMPinfo:eu-repo/semantics/openAccess2017-02-18T06:56:33Zoai::905271Biblioteca Digital de Teses e DissertaçõesPUBhttp://repositorio.unicamp.br/oai/tese/oai.aspsbubd@unicamp.bropendoar:2017-02-18T06:56:33Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) - Universidade Estadual de Campinas (UNICAMP)false
dc.title.none.fl_str_mv LUTS : a Light-Weight User-Level Transaction Scheduler
LUTS : a Light-Weight User-Level Transaction Scheduler
title LUTS : a Light-Weight User-Level Transaction Scheduler
spellingShingle LUTS : a Light-Weight User-Level Transaction Scheduler
Nicácio, Daniel Henricus de Knegt Dutra, 1984-
Memória transacional
Programação paralela (Computação)
Arquitetura de computador
Linguagem de programação (Computadores)
Transactional memory
Parallel programming (Computer science)
Computer architecture
Programming languages (Electronic computers)
title_short LUTS : a Light-Weight User-Level Transaction Scheduler
title_full LUTS : a Light-Weight User-Level Transaction Scheduler
title_fullStr LUTS : a Light-Weight User-Level Transaction Scheduler
title_full_unstemmed LUTS : a Light-Weight User-Level Transaction Scheduler
title_sort LUTS : a Light-Weight User-Level Transaction Scheduler
author Nicácio, Daniel Henricus de Knegt Dutra, 1984-
author_facet Nicácio, Daniel Henricus de Knegt Dutra, 1984-
author_role author
dc.contributor.none.fl_str_mv Araújo, Guido Costa Souza de, 1962-
Maillard, Nicolas Bruno
Rigo, Sandro
Kon, Fabio
Busato, Luiz Eduardo
Universidade Estadual de Campinas (UNICAMP). Instituto de Computação
Programa de Pós-Graduação em Ciência da Computação
UNIVERSIDADE ESTADUAL DE CAMPINAS
dc.contributor.author.fl_str_mv Nicácio, Daniel Henricus de Knegt Dutra, 1984-
dc.subject.por.fl_str_mv Memória transacional
Programação paralela (Computação)
Arquitetura de computador
Linguagem de programação (Computadores)
Transactional memory
Parallel programming (Computer science)
Computer architecture
Programming languages (Electronic computers)
topic Memória transacional
Programação paralela (Computação)
Arquitetura de computador
Linguagem de programação (Computadores)
Transactional memory
Parallel programming (Computer science)
Computer architecture
Programming languages (Electronic computers)
description Orientador: Guido Costa Souza de Araújo
publishDate 2012
dc.date.none.fl_str_mv 2012
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://hdl.handle.net/20.500.12733/1619978
NICÁCIO, Daniel Henricus de Knegt Dutra. LUTS: a Light-Weight User-Level Transaction Scheduler. 2012. 67 f. Tese (doutorado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1619978. Acesso em: 3 set. 2024.
url https://hdl.handle.net/20.500.12733/1619978
identifier_str_mv NICÁCIO, Daniel Henricus de Knegt Dutra. LUTS: a Light-Weight User-Level Transaction Scheduler. 2012. 67 f. Tese (doutorado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1619978. Acesso em: 3 set. 2024.
dc.language.iso.fl_str_mv por
language por
dc.relation.none.fl_str_mv https://repositorio.unicamp.br/acervo/detalhe/905271
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
67 f. : il.
dc.publisher.none.fl_str_mv [s.n.]
publisher.none.fl_str_mv [s.n.]
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
instname:Universidade Estadual de Campinas (UNICAMP)
instacron:UNICAMP
instname_str Universidade Estadual de Campinas (UNICAMP)
instacron_str UNICAMP
institution UNICAMP
reponame_str Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
collection Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) - Universidade Estadual de Campinas (UNICAMP)
repository.mail.fl_str_mv sbubd@unicamp.br
_version_ 1809189095581155328