Detalhes bibliográficos
Ano de defesa: |
2017 |
Autor(a) principal: |
Puglia, Gianlucca Oliveira
 |
Orientador(a): |
Zorzo, Avelino Francisco
 |
Banca de defesa: |
Não Informado pela instituição |
Tipo de documento: |
Dissertação
|
Tipo de acesso: |
Acesso aberto |
Idioma: |
eng |
Instituição de defesa: |
Pontifícia Universidade Católica do Rio Grande do Sul
|
Programa de Pós-Graduação: |
Programa de Pós-Graduação em Ciência da Computação
|
Departamento: |
Escola Politécnica
|
País: |
Brasil
|
Palavras-chave em Inglês: |
|
Área do conhecimento CNPq: |
|
Link de acesso: |
http://tede2.pucrs.br/tede2/handle/tede/7768
|
Resumo: |
As tecnologias de memórias não-voláteis são uma grande promessa na área de arquitetura de computadores e é esperado que sejam poderosas ferramentas para solucionar os problemas referentes a manipulação eficiente de dados dos dias de hoje. Estas tecnologias provêm alta performance e acesso em granularidade de bytes com a distinta vantagem de serem persistentes. Porém, afim de explorar estas tecnologias em todo seu potencial, os sistemas e arquiteturas de hoje precisam buscar meios de se adaptar a esta nova forma de acessar dados e de superar os desafios que vêm com ela.Trabalhos existentes na área já propõem métodos para adaptar as arquiteturas existentes para o uso de NVM bem como formas inovadoras de empregar estas memórias em futuras aplicações. No entanto, o suporte dos sistemas operacionais a estas soluções, ainda que existente, ainda é muito limitado. Neste trabalho, nós apresentamos duas variações da chamada de sistema msync, modeladas para explorar as características das tecnologias de NVM e garantir consistência para os dados dos usuários. Ambas são soluções simples que permitem aos usuários definirem checkpoints de seus arquivos usando a sintaxe comum de sistemas de arquivos. Nós implementamos e testamos estes métodos sobre o sistema operacional Linux utilizando como base um sistema de arquivo nativamente voltado a NVM. Nossos resultados mostram que estes mecanismos são capazes de garantir a integridade dos arquivos mesmo na presença de falhas no sistema enquanto mantém uma performance razoável. |