Detalhes bibliográficos
Ano de defesa: |
2012 |
Autor(a) principal: |
Duarte, Thales Farias |
Orientador(a): |
Sotoma, Irineu |
Banca de defesa: |
Não Informado pela instituição |
Tipo de documento: |
Dissertação
|
Tipo de acesso: |
Acesso aberto |
Idioma: |
por |
Instituição de defesa: |
Não Informado pela instituição
|
Programa de Pós-Graduação: |
Não Informado pela instituição
|
Departamento: |
Não Informado pela instituição
|
País: |
Não Informado pela instituição
|
Palavras-chave em Português: |
|
Link de acesso: |
https://repositorio.ufms.br/handle/123456789/1634
|
Resumo: |
Atualmente existe um grande número de processadores multi-core, e para se obter melhor desempenho dos programas nestes processadores, o modelo de programação mais utilizado é o multi-threaded. Este modelo utiliza uma combinação de bloqueios para o controle de concorrência entre as threads, mas muitos problemas podem surgir com a utilização errada desta técnica, tal como deadlocks e starvation. Em reação a estes problemas apresentados, o modelo transacional de sincronização tem recebido atenção como um modelo de programação alternativo, usando como base o conceito de transação para garantir sincronismo entre threads concorrentes. Este modelo tira do programador a responsabilidade sobre o controle de sincronização, e problemas como deadlocks e starvation são evitados. Neste trabalho implementamos o STM Builder, uma plataforma para desenvolvimento de estratégias para Memória Transacional em Software, que foi criada com a modulariza- ção da SwissTM. Junto com o STM Builder, desenvolvemos um framework de testes para a avaliação das implementações realizadas, que executou os testes e gerou todos os grá cos utilizados no trabalho automaticamente. O framework de testes utiliza os benchmarks STMBench7, STAMP e o Microbenchmark de Árvore Rubro-Negra. Os grá cos gerados pelo framework utilizam o gnuplot. O STM Builder é capaz de testar várias variações no mesmo código, perdendo pouco tempo com novas implementações e testando diversas formas da mesma implementação rapidamente. No STM Builder há algumas variações do modelo transacional de sincroniza- ção em software da SwissTM. Implementamos e testamos: novos gerentes de contenção, como o RandomizedRounds (RR), gerenciamento de contenção de uma e duas fases, diferentes formas de recuo de uma transação, e a técnica de invalidação no momento da efetivação (Commit-time invalidation ). Implementamos uma plataforma para desenvolvimento e avaliação de estratégias para Memória Transacional em Software, que é formada pelo STM Builder e pelo framework de testes, que comprovou facilitar implementações e testes de novas ideias. |