Análise de consumo de energia e desempenho de memórias transacionais em software em ambiente de computação real - Rico, Timóteo Matthies (2013)
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.