Uma Biblioteca de Confiabilidade Configurável para Aplicações Iterativas de Computação de Alto Desempenho com Detecção de Interrupção e Preservação de Dados
tolerância a falhas, detecção de interrupções, conservação de dados, computação de alto desempenho
A computação de alto desempenho, fornece o processamento necessário para algoritmos de diversas áreas que exigem muitos recursos. O uso de supercomputadores é indispensável para enfrentar problemas complexos, no entanto, seu tamanho e complexidade os tornam suscetíveis a falhas. Isso ressalta a importância de empregar técnicas de tolerância a falhas para mitigar o impacto de interrupções. Esses métodos são fundamentais para lidar com erros de hardware e software e cenários preemptivos, como os encontrados em ambientes computação em nuvem.
Dada a necessidade de tolerância a falhas, desenvolvemos a Biblioteca de Confiabilidade para Aplicações Iterativas. Esta biblioteca é uma solução versátil projetada para programas síncronos em massa. Ela simplifica a integração de funcionalidades de tolerância a falhas nas aplicações, oferecendo opções de alta configurabilidade e permitindo que os usuários selecionem quais funções utilizar em suas. O princípio é reduzir os esforços na implementação de abordagens de tolerância a falhas, permitindo que os grupos de projeto se concentrem no desenvolvimento de seus problemas específicos.
A biblioteca oferece funcionalidades como: checkpointing, replicação e monitoramento de heartbeat. O checkpointing salva o estado da aplicação em intervalos, permitindo que ela retome do último ponto salvo após uma falha. A replicação garante confiabilidade ao permitir que uma unidade de backup assuma em caso de falha. Tal biblioteca detecta possíveis falhas utilizando o método de monitoramento de heartbeat e possível recuperação de recursos. Ela é compatível com técnicas existentes de mitigação de falhas em nível de usuário, o que permite que os programas continuem operando após falhas, minimizando o tempo de inatividade e garantindo a operação contínua.
Nossa proposta foi aplicada com sucesso ao problema de inversão de forma de onda completa, um algoritmo padrão no processamento geofísico para exploração de petróleo e gás. Esta aplicação serve como um cenário prático da computação de alto desempenho. Todos os recursos foram rigorosamente validados, e o overhead nesse problema foi minuciosamente analisado usando exemplos mais realistas. Em nossos experimentos, a aplicação não perdeu todos os dados processados até o momento da falha, e foi capaz de continuar a execução mesmo na presença de falha de nós, com overhead mínimo. Este trabalho também mostra outros estudos de caso na fase inicial de aplicação da biblioteca e discute alguns conceitos de tolerância a falhas e trabalhos relacionados.