Dissertação

HawkSet: An Automatic, Agnostic, and Efficient Concurrent PM Bug Detection Tool EVALUATED

A memória persistente (PM, do inglês Persistent Memory) é endereçável ao byte e durável, com tempos de acesso comparáveis aos de DRAM tradicional. Estas características permitem o desenvolvimento de aplicações com estado persistente, sem a utilização de operações de E/S custosas. No entanto, após uma falha arbitrária, o estado da aplicação pode ficar incoerente devido à falta de uma cache persistente, e à reordenação e atraso de operações. Os programadores de aplicações em PM, precisam de ter este facto em consideração, utilizando instruções de baixo nível próprias e mecanismos de recuperação específicos para garantir coerência à falha. Estes requisitos são complexos, e como tal motivaram a criação de várias ferramentas para a deteção de erros de PM. No entanto, as poucas ferramentas que procuram ativamente por erros concorrentes de PM, focam-se em domínios específicos, como as bases de dados chave-valor, e necessitam de artefactos complexos próprios para a deteção. Nesta tese, propomos o HawkSet, uma ferramenta para a deteção de erros concorrentes de PM de forma automática, agnóstica, e eficiente. O HawkSet, utiliza lockset analysis para detetar erros concorrentes de PM, e introduz uma heurística capaz de reduzir os falsos positivos e a utilização de recursos. Os resultados da nossa avaliação demonstram que o HawkSet é escalável, reportando os mesmos erros que o estado-da-arte, em menos tempo. Além disso, o HawkSet deteta um novo bug.
Memória Persistente, Concorrência, Deteção de Erros

novembro 23, 2023, 13:0

Publicação

Obra sujeita a Direitos de Autor

Orientação

ORIENTADOR

Miguel Ângelo Marques de Matos

Departamento de Engenharia Informática (DEI)

Professor Auxiliar