LUTS : a Light-Weight User-Level Transaction Scheduler
Autor(a) principal: | |
---|---|
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 |