Explorando memoria transacional em software nos contextos de arquiteturas assimetricas, jogos computacionais e consumo de energia
Autor(a) principal: | |
---|---|
Data de Publicação: | 2009 |
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/1612070 |
Resumo: | Orientador: Paulo Cesar Centoducatte |
id |
UNICAMP-30_ce36a7ac3383f7e74d1fb1d725d867d5 |
---|---|
oai_identifier_str |
oai::768401 |
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 |
Explorando memoria transacional em software nos contextos de arquiteturas assimetricas, jogos computacionais e consumo de energiaExploiting software transactional memory in the context of asymmetric architecturesMemória transacionalProgramação paralela (Computação)Arquitetura de computadorEstimativa de potênciaTransactional memoryParallel programming (Computer science)Computer architecturePower estimationOrientador: Paulo Cesar CentoducatteTese (doutorado) - Universidade Estadual de Campinas, Instituto de ComputaçãoResumo: A adoção dos microprocessadores com múltiplos núcleos de execução pela indústria semicondutora tem criado uma crescente necessidade por novas linguagens, metodologias e ferramentas que tornem o desenvolvimento de sistemas concorrentes mais rápido, eficiente e acessível aos programadores de todos os níveis. Uma das principais dificuldades em programação concorrente com memória compartilhada é garantir a correta sincronização do código, evitando assim condições de corrida que podem levar o sistema a um estado inconsistente. A sincronização tem sido tradicionalmente realizada através de métodos baseados em travas, reconhecidos amplamente por serem de difícil uso e pelas anomalias causadas. Um novo mecanismo, conhecido como memória transacional (TM), tem sido alvo de muita pesquisa recentemente e promete simplificar o processo de sincronização, além de possibilitar maior oportunidade para extração de paralelismo e consequente desempenho. O cerne desta tese é formado por três trabalhos desenvolvidos no contexto dos sistemas de memória transacional em software (STM). Primeiramente, apresentamos uma implementação de STM para processadores assimétricos, usando a arquitetura Cell/B.E. como foco. Como principal resultado, constatamos que o uso de sistemas transacionais em arquiteturas assimétricas também é promissor, principalmente pelo fator escalabilidade. No segundo trabalho, adotamos uma abordagem diferente e sugerimos um sistema de STM especialmente voltado para o domínio de jogos computacionais. O principal motivo que nos levou nesta direção é o baixo desempenho das implementações atuais de STM. Um estudo de caso conduzido a partir de um jogo complexo mostra a eficácia do sistema proposto. Finalmente, apresentamos pela primeira vez uma caracterização do consumo de energia de um sistema de STM considerado estado da arte. Além da caracterização, também propomos uma técnica para redução do consumo em casos de alta contenção. Resultados obtidos a partir dessa técnica revelam ganhos de até 87% no consumo de energiaAbstract: The shift towards multicore processors taken by the semiconductor industry has initiated an era in which new languages, methodologies and tools are of paramount importance to the development of efficient concurrent systems that can be built in a timely way by all kinds of programmers. One of the main obstacles faced by programmers when dealing with shared memory programming concerns the use of synchronization mechanisms so as to avoid race conditions that could possibly lead the system to an inconsistent state. Synchronization has been traditionally achieved by means of locks (or variations thereof), widely known by their anomalies and hard-to-get-it-right facets. A new mechanism, known as transactional memory (TM), has recently been the focus of a lot of research and shows potential to simplify code synchronization as well as delivering more parallelism and, therefore, better performance. This thesis presents three works focused on different aspects of software transactional memory (STM) systems. Firstly, we show an STM implementation for asymmetric processors, focusing on the architecture of Cell/B.E. As an important result, we find out that memory transactions are indeed promising for asymmetric architectures, specially due to their scalability. Secondly, we take a different approach to STM implementation by devising a system specially targeted at computer games. The decision was guided by poor performance figures usually seen on current STM implementations. We also conduct a case study using a complex game that effectively shows the system's efficiency. Finally, we present the energy consumption characterization of a state-of-the-art STM for the first time. Based on the observed characterization, we also propose a technique aimed at reducing energy consumption in highly contended scenarios. Our results show that the technique is indeed effective in such cases, improving the energy consumption by up to 87%DoutoradoSistemas de ComputaçãoDoutor em Ciência da Computação[s.n.]Centoducatte, Paulo Cesar, 1957-Meira Junior, WagnerLima, Manoel Eusebio deGarcia, Islene CalciolariCortês, Mario LúcioUniversidade Estadual de Campinas (UNICAMP). Instituto de ComputaçãoPrograma de Pós-Graduação em Ciência da ComputaçãoUNIVERSIDADE ESTADUAL DE CAMPINASBaldassin, Alexandro José, 1978-2009info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisapplication/pdf101 p. : il.https://hdl.handle.net/20.500.12733/1612070BALDASSIN, Alexandro José. Explorando memoria transacional em software nos contextos de arquiteturas assimetricas, jogos computacionais e consumo de energia. 2009. 101 p. Tese (doutorado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1612070. Acesso em: 3 set. 2024.https://repositorio.unicamp.br/acervo/detalhe/768401porreponame: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-18T05:52:09Zoai::768401Biblioteca Digital de Teses e DissertaçõesPUBhttp://repositorio.unicamp.br/oai/tese/oai.aspsbubd@unicamp.bropendoar:2017-02-18T05:52:09Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) - Universidade Estadual de Campinas (UNICAMP)false |
dc.title.none.fl_str_mv |
Explorando memoria transacional em software nos contextos de arquiteturas assimetricas, jogos computacionais e consumo de energia Exploiting software transactional memory in the context of asymmetric architectures |
title |
Explorando memoria transacional em software nos contextos de arquiteturas assimetricas, jogos computacionais e consumo de energia |
spellingShingle |
Explorando memoria transacional em software nos contextos de arquiteturas assimetricas, jogos computacionais e consumo de energia Baldassin, Alexandro José, 1978- Memória transacional Programação paralela (Computação) Arquitetura de computador Estimativa de potência Transactional memory Parallel programming (Computer science) Computer architecture Power estimation |
title_short |
Explorando memoria transacional em software nos contextos de arquiteturas assimetricas, jogos computacionais e consumo de energia |
title_full |
Explorando memoria transacional em software nos contextos de arquiteturas assimetricas, jogos computacionais e consumo de energia |
title_fullStr |
Explorando memoria transacional em software nos contextos de arquiteturas assimetricas, jogos computacionais e consumo de energia |
title_full_unstemmed |
Explorando memoria transacional em software nos contextos de arquiteturas assimetricas, jogos computacionais e consumo de energia |
title_sort |
Explorando memoria transacional em software nos contextos de arquiteturas assimetricas, jogos computacionais e consumo de energia |
author |
Baldassin, Alexandro José, 1978- |
author_facet |
Baldassin, Alexandro José, 1978- |
author_role |
author |
dc.contributor.none.fl_str_mv |
Centoducatte, Paulo Cesar, 1957- Meira Junior, Wagner Lima, Manoel Eusebio de Garcia, Islene Calciolari Cortês, Mario Lúcio 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 |
Baldassin, Alexandro José, 1978- |
dc.subject.por.fl_str_mv |
Memória transacional Programação paralela (Computação) Arquitetura de computador Estimativa de potência Transactional memory Parallel programming (Computer science) Computer architecture Power estimation |
topic |
Memória transacional Programação paralela (Computação) Arquitetura de computador Estimativa de potência Transactional memory Parallel programming (Computer science) Computer architecture Power estimation |
description |
Orientador: Paulo Cesar Centoducatte |
publishDate |
2009 |
dc.date.none.fl_str_mv |
2009 |
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/1612070 BALDASSIN, Alexandro José. Explorando memoria transacional em software nos contextos de arquiteturas assimetricas, jogos computacionais e consumo de energia. 2009. 101 p. Tese (doutorado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1612070. Acesso em: 3 set. 2024. |
url |
https://hdl.handle.net/20.500.12733/1612070 |
identifier_str_mv |
BALDASSIN, Alexandro José. Explorando memoria transacional em software nos contextos de arquiteturas assimetricas, jogos computacionais e consumo de energia. 2009. 101 p. Tese (doutorado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1612070. 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/768401 |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf 101 p. : 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_ |
1809189030008455168 |