PhTM*: uma implementação eficiente de transações em fases
Autor(a) principal: | |
---|---|
Data de Publicação: | 2016 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Repositório Institucional da UNESP |
Texto Completo: | http://hdl.handle.net/11449/139506 |
Resumo: | As evidentes limitações em se explorar o aumento de frequência e otimização no nível de microarquitetura para obtenção de desempenho levaram a indústria de microprocessadores a buscar alternativas para suprir tal demanda. A solução encontrada foi construir arquiteturas com múltiplos fluxos de execução (multicore). No entanto, a utilização imediata do modelo paralelo exige que os programadores precisem explicitamente codificar as aplicações de forma a usar todos os núcleos, tarefa essa nada trivial e passível de erros que, muitas vezes, são difíceis de serem detectados. Um novo modelo de programação concorrente conhecido como memória transacional (Transactional Memory – TM) oferece abstrações para fácil codificação de aplicações e é capaz de explorar o paralelismo das arquiteturas multicore sem exigir conhecimentos da arquitetura por parte do programador. Porém, as implementações desse modelo, em software ou hardware, isoladamente apresentam problemas que limitam a escalabilidade das aplicações. Objetivando resolver tais problemas, foram propostos sistemas híbridos de transações em hardware e software para melhor exploração do paralelismo, denominado Memória Transacional Híbrida (Hybrid Transactional Memory – HyTM). A flexibilidade dos sitemas híbridos convencionais, mesmo permitindo executar transações em hardware e software simultaneamente, reduzem o desempenho de ambos seus componentes e tornam mais complexa a implementação da componente em software. Nesse sentido, este trabalho apresenta a primeira implementação eficiente (PhTM*) de um sistema de transações em fases, proposto como alternativa aos HyTMs convencionais. O PhTM* elimina a instrumentação das transações em hardware, necessária em outros HyTMs, e permite utilizar qualquer STM, sem nenhuma modificação, para executar as transações em software. A proposta é a primeira a utilizar o suporte transacioal em hardware disponível em um processador real (não-emulado), para executar as transações em hardware. Os resultados mostram que o PhTM* foi capaz de escolher o modo mais adequado para todas as aplicações do STAMP utilizadas. De fato, o PhTM* apresentou o melhor desempenho entre os sistemas transacionais avaliados e foi cerca de 12% melhor que o HyTM-NOrec, sistema híbrido considerado baseline na avaliação de novos HyTMs. |
id |
UNSP_d7ebb504c966f6f5c126f7ddadcf14e5 |
---|---|
oai_identifier_str |
oai:repositorio.unesp.br:11449/139506 |
network_acronym_str |
UNSP |
network_name_str |
Repositório Institucional da UNESP |
repository_id_str |
2946 |
spelling |
PhTM*: uma implementação eficiente de transações em fasesPhTM*: an efficient implementation of phased transactionsProgramação concorrenteMemória transacionalSistemas híbridosFases do programaConcurrent programmingTransactional memoryHybrid systemsProgram phaseAs evidentes limitações em se explorar o aumento de frequência e otimização no nível de microarquitetura para obtenção de desempenho levaram a indústria de microprocessadores a buscar alternativas para suprir tal demanda. A solução encontrada foi construir arquiteturas com múltiplos fluxos de execução (multicore). No entanto, a utilização imediata do modelo paralelo exige que os programadores precisem explicitamente codificar as aplicações de forma a usar todos os núcleos, tarefa essa nada trivial e passível de erros que, muitas vezes, são difíceis de serem detectados. Um novo modelo de programação concorrente conhecido como memória transacional (Transactional Memory – TM) oferece abstrações para fácil codificação de aplicações e é capaz de explorar o paralelismo das arquiteturas multicore sem exigir conhecimentos da arquitetura por parte do programador. Porém, as implementações desse modelo, em software ou hardware, isoladamente apresentam problemas que limitam a escalabilidade das aplicações. Objetivando resolver tais problemas, foram propostos sistemas híbridos de transações em hardware e software para melhor exploração do paralelismo, denominado Memória Transacional Híbrida (Hybrid Transactional Memory – HyTM). A flexibilidade dos sitemas híbridos convencionais, mesmo permitindo executar transações em hardware e software simultaneamente, reduzem o desempenho de ambos seus componentes e tornam mais complexa a implementação da componente em software. Nesse sentido, este trabalho apresenta a primeira implementação eficiente (PhTM*) de um sistema de transações em fases, proposto como alternativa aos HyTMs convencionais. O PhTM* elimina a instrumentação das transações em hardware, necessária em outros HyTMs, e permite utilizar qualquer STM, sem nenhuma modificação, para executar as transações em software. A proposta é a primeira a utilizar o suporte transacioal em hardware disponível em um processador real (não-emulado), para executar as transações em hardware. Os resultados mostram que o PhTM* foi capaz de escolher o modo mais adequado para todas as aplicações do STAMP utilizadas. De fato, o PhTM* apresentou o melhor desempenho entre os sistemas transacionais avaliados e foi cerca de 12% melhor que o HyTM-NOrec, sistema híbrido considerado baseline na avaliação de novos HyTMs.The limited performance gain due to micro-architectural optimizations and the modest increase in clock rate led the microprocessor industry to seek alternatives to single-core processors in order to keep up with the performance demand. The solution found was to build architectures with multiple execution flows (multicore). Nonetheless, the parallel model’s immediate adoption requires programmers to explicitly code applications in a way that all cores are used. Yet this task has proven to be non-trivial and prone to errors, which are generally hard to detect. A new concurrent programming model known as transactional memory (TM) brings abstractions that ease the synchronization burdens of parallel coding and enables programmers to better exploit the parallelism of multicore architectures without knowing their details. However, software and hardware implementations of the TM model have proven to be limited when adopted in isolation. Hybrid transactional systems (HyTM) are the proposed solution to these problems, allowing applications to benefit from multicore machines. The flexibility of conventional hybrid systems, even though allowing simultaneous execution of hardware and software transactions, decrease the performance of both hardware and software and increase the complexity of the software component. In this direction, this work presents the first eficient implementation (PhTM*) of phase-based transactional system, a viable alternative to conventional HyTMs. PhTM* removes the aditional instrumentation of hardware transactions, necessary in other HyTMs, and can use any STM library to execute software transactions. The proposal is the first to use hardware transactional support, available in a real (not emulated) processor, to run hardware transactions. The results show that PhTM* is capable of always choosing the best suited mode for all STAMP applications. In fact, PhTM* showed the best overall performance and was about 12% better then HyTM-NOrec, a de facto baseline in HyTM evaluation.Fundação de Amparo à Pesquisa do Estado de São Paulo (FAPESP)FAPESP: 2014/00534-8Universidade Estadual Paulista (Unesp)Baldassin, Alexandro José [UNESP]Universidade Estadual Paulista (Unesp)Carvalho, João Paulo Labegalini de [UNESP]2016-06-22T14:37:18Z2016-06-22T14:37:18Z2016-06-07info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfapplication/pdfhttp://hdl.handle.net/11449/13950600087102733004153073P2porinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UNESPinstname:Universidade Estadual Paulista (UNESP)instacron:UNESP2023-12-16T06:17:04Zoai:repositorio.unesp.br:11449/139506Repositório InstitucionalPUBhttp://repositorio.unesp.br/oai/requestopendoar:29462024-08-05T20:27:37.288839Repositório Institucional da UNESP - Universidade Estadual Paulista (UNESP)false |
dc.title.none.fl_str_mv |
PhTM*: uma implementação eficiente de transações em fases PhTM*: an efficient implementation of phased transactions |
title |
PhTM*: uma implementação eficiente de transações em fases |
spellingShingle |
PhTM*: uma implementação eficiente de transações em fases Carvalho, João Paulo Labegalini de [UNESP] Programação concorrente Memória transacional Sistemas híbridos Fases do programa Concurrent programming Transactional memory Hybrid systems Program phase |
title_short |
PhTM*: uma implementação eficiente de transações em fases |
title_full |
PhTM*: uma implementação eficiente de transações em fases |
title_fullStr |
PhTM*: uma implementação eficiente de transações em fases |
title_full_unstemmed |
PhTM*: uma implementação eficiente de transações em fases |
title_sort |
PhTM*: uma implementação eficiente de transações em fases |
author |
Carvalho, João Paulo Labegalini de [UNESP] |
author_facet |
Carvalho, João Paulo Labegalini de [UNESP] |
author_role |
author |
dc.contributor.none.fl_str_mv |
Baldassin, Alexandro José [UNESP] Universidade Estadual Paulista (Unesp) |
dc.contributor.author.fl_str_mv |
Carvalho, João Paulo Labegalini de [UNESP] |
dc.subject.por.fl_str_mv |
Programação concorrente Memória transacional Sistemas híbridos Fases do programa Concurrent programming Transactional memory Hybrid systems Program phase |
topic |
Programação concorrente Memória transacional Sistemas híbridos Fases do programa Concurrent programming Transactional memory Hybrid systems Program phase |
description |
As evidentes limitações em se explorar o aumento de frequência e otimização no nível de microarquitetura para obtenção de desempenho levaram a indústria de microprocessadores a buscar alternativas para suprir tal demanda. A solução encontrada foi construir arquiteturas com múltiplos fluxos de execução (multicore). No entanto, a utilização imediata do modelo paralelo exige que os programadores precisem explicitamente codificar as aplicações de forma a usar todos os núcleos, tarefa essa nada trivial e passível de erros que, muitas vezes, são difíceis de serem detectados. Um novo modelo de programação concorrente conhecido como memória transacional (Transactional Memory – TM) oferece abstrações para fácil codificação de aplicações e é capaz de explorar o paralelismo das arquiteturas multicore sem exigir conhecimentos da arquitetura por parte do programador. Porém, as implementações desse modelo, em software ou hardware, isoladamente apresentam problemas que limitam a escalabilidade das aplicações. Objetivando resolver tais problemas, foram propostos sistemas híbridos de transações em hardware e software para melhor exploração do paralelismo, denominado Memória Transacional Híbrida (Hybrid Transactional Memory – HyTM). A flexibilidade dos sitemas híbridos convencionais, mesmo permitindo executar transações em hardware e software simultaneamente, reduzem o desempenho de ambos seus componentes e tornam mais complexa a implementação da componente em software. Nesse sentido, este trabalho apresenta a primeira implementação eficiente (PhTM*) de um sistema de transações em fases, proposto como alternativa aos HyTMs convencionais. O PhTM* elimina a instrumentação das transações em hardware, necessária em outros HyTMs, e permite utilizar qualquer STM, sem nenhuma modificação, para executar as transações em software. A proposta é a primeira a utilizar o suporte transacioal em hardware disponível em um processador real (não-emulado), para executar as transações em hardware. Os resultados mostram que o PhTM* foi capaz de escolher o modo mais adequado para todas as aplicações do STAMP utilizadas. De fato, o PhTM* apresentou o melhor desempenho entre os sistemas transacionais avaliados e foi cerca de 12% melhor que o HyTM-NOrec, sistema híbrido considerado baseline na avaliação de novos HyTMs. |
publishDate |
2016 |
dc.date.none.fl_str_mv |
2016-06-22T14:37:18Z 2016-06-22T14:37:18Z 2016-06-07 |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://hdl.handle.net/11449/139506 000871027 33004153073P2 |
url |
http://hdl.handle.net/11449/139506 |
identifier_str_mv |
000871027 33004153073P2 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf application/pdf |
dc.publisher.none.fl_str_mv |
Universidade Estadual Paulista (Unesp) |
publisher.none.fl_str_mv |
Universidade Estadual Paulista (Unesp) |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UNESP instname:Universidade Estadual Paulista (UNESP) instacron:UNESP |
instname_str |
Universidade Estadual Paulista (UNESP) |
instacron_str |
UNESP |
institution |
UNESP |
reponame_str |
Repositório Institucional da UNESP |
collection |
Repositório Institucional da UNESP |
repository.name.fl_str_mv |
Repositório Institucional da UNESP - Universidade Estadual Paulista (UNESP) |
repository.mail.fl_str_mv |
|
_version_ |
1808129204760346624 |