Análise de consumo de energia e desempenho de memórias transacionais em software em ambiente de computação real

Detalhes bibliográficos
Ano de defesa: 2013
Autor(a) principal: Rico, Timóteo Matthies
Orientador(a): Pilla, Maurício Lima
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: Universidade Federal de Pelotas
Programa de Pós-Graduação: Programa de Pós-Graduação em Computação
Departamento: Centro de Desenvolvimento Tecnológico
País: Brasil
Palavras-chave em Português:
Área do conhecimento CNPq:
Link de acesso: http://guaiaca.ufpel.edu.br/handle/prefix/5669
Resumo: Com o advento de arquiteturas multiprocessadas novos desafios foram introduzidos ao desenvolvimento de software. Dentre estes desafios, realizar a sincronização necessária para evitar condições de corrida entre os fluxos de execução, é uma das principais dificuldades na programação concorrente. Um novo mecanismo de sincronização, denominado Memória Transacional, tem sido desenvolvido por pesquisadores de programação concorrente com o objetivo de reduzir as dificuldades e limitações encontradas em mecanismos de sincronização tradicionais. Por se tratar de uma alternativa recentemente proposta, pouco se conhece a respeito do consumo de energia de Memórias Transacionais, em especial de implementações em software. Nesse contexto, o presente trabalho apresenta a análise e caracterização do consumo de energia e desempenho de quatro importantes bibliotecas de Memória Transacional em Software (STM), TL2, TinySTM, SwissTM e AdaptSTM, utilizando-se o benchmark STAMP. Diferente de outros trabalhos, as execuções não foram simuladas mas executadas em um ambiente de computação real. Resultados obtidos mostram a SwissTM como a biblioteca mais eficiente em termos de consumo de energia e desempenho, seguida pela AdaptSTM, TinySTM e TL2, na maioria dos cenários de execução utilizando-se até 8 threads. Constata-se que a escalabilidade das STMs utilizadas está relacionada diretamente à particularidade das estratégias de detecção e resolução de conflitos empregada por cada biblioteca. Nesta perspectiva, verifica-se que em aplicações com transações curtas a AdaptSTM mostra-se a biblioteca mais eficiente. Em aplicações com transações médias, a SwissTM apresenta a melhor escalabilidade. Em cenários com longas transações e sob média/alta contenção a TL2 apresenta os melhores resultados. A TinySTM, por sua vez, mostra-se a biblioteca menos eficiente em termos de escalabilidade na maioria dos cenários, exibindo bons resultados somente em aplicações que apresentem mínimas taxas de cancelamentos.