Detalhes bibliográficos
Ano de defesa: |
2016 |
Autor(a) principal: |
Teixeira, Felipe Leivas |
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/8591
|
Resumo: |
Dois problemas dos grandes sistemas computacionais atualmente estão relacionados com o consumo de energia e a programação concorrente correta que aproveite os recursos disponibilizados. Das várias tecnologias para resolver esses problemas, destacam-se a Phase-Change Memory e as memórias transacionais. A Phase-Change Memory (PCM) é uma nova tecnologia que está sendo estudada para substituir as DRAMs, como memória principal, em grandes data centers, devido a sua não volatilidade que reduz o consumo estático de potência. O principal problema da PCM está em suas escritas, que são lentas e degradam o seu material, diminuindo assim sua vida útil. Memórias transacionais são um método de sincronização de threads desenvolvido para diminuir as dificuldades e limitações de métodos baseados em locks. Suas principais vantagens são relacionadas a ser um método de alto nível, mais fácil de programar e que permite a composição e reúso de código com mais facilidade. Outra vantagem das memórias transacionais em comparação com locks é a inexistência do problema de deadlock. Memórias transacionais são baseadas nas transações de banco de dados. As transações em sistemas de banco de dados satisfazem quatro propriedades: atomicidade, consistência, isolamento e durabilidade, ou ACID. As transações das memórias transacionais também devem garantir as propriedades ACID, exceto a durabilidade. Para garantir a atomicidade, as memórias transacionais implementam vários mecanismos de versionamento de dados para fazer o gerenciamento dos dados. Desta forma, o objetivo deste trabalho é analisar o impacto em PCMs das diferentes implementações de versionamento de dados em STM. Para tanto, foi implementado o Phase-Change Memory - Multicore Simulator (PCM-MS), que é um simulador de hierarquia de memória onde a PCM é a memória principal, e pode simular arquitetura com múltiplos núcleos de processamento. Ele faz a simulação dos acessos à memória e determina os bits alterados na PCM para estimar o desgaste e o consumo de energia da PCM. Além do PCM-MS, a ferramenta Pintools foi utilizada para gerar arquivos de traço que são executados no simulador. Como biblioteca de STM foi utilizado a TinySTM, devido ela implementar diversos versionamentos e fazer parte do estado da arte de STM. Como benchmarks, foram utilizados o Eigenbench e o conjunto de benchmarks STAMP. Os resultados mostraram que o versionamento WBC apresentou o menor desgaste na PCM em 3 dos 7 benchmarks analisados. Esses resultados estão ligados ao número de aborts dos versionamentos, onde o WBC apresenta um número de aborts muito menor que os outros, sendo até 39 vezes menor no experimento com o benchmark Kmeans com 64 threads. Em trabalhos futuros, pretende-se incrementar o simulador, além de fazer a análise do desgaste na PCM de outros sistemas transacionais. |