06 ago 2025
09:00 Defesa de Mestrado sala 85 do IC2
Tema
Otimização de Checkpointing em Aplicações de Modo Adjunto: Uma Abordagem Baseada em Prefetching e Compressão
Aluno
Thiago José Mazarão Maltempi
Orientador / Docente
Sandro Rigo
Breve resumo
Sistemas de computação heterogêneos com GPUs são essenciais para lidar com tarefas computacionalmente intensivas nas áreas de física, aprendizado de máquina e imageamento sísmico. Essas aplicações frequentemente utilizam métodos de diferenciação reversa (adjoint/reverse-mode), que demandam recomputação. Para reduzir a complexidade algorítmica, aplica-se a técnica de checkpointing, que busca equilibrar recomputação e uso de memória. Entretanto, quando os dados de checkpoint precisam ser armazenados na memória do host devido às limitações de memória da GPU, a latência na comunicação torna-se um gargalo significativo, podendo consumir até 75% do tempo total de execução. Esta dissertação propõe uma nova abordagem para mitigar esse problema: combinar um mecanismo de prefetching de checkpoint com compressão de dados dentro da GPU. Para isso, foi desenvolvida a biblioteca modular GPUZIP, que foi testada com algoritmos de checkpointing que acessam seus dados de forma temporal e determinística, como Revolve, Z-Cut e Uniform, permitindo caching e prefetching de dados de checkpoint. O mecanismo de prefetching agenda proativamente transferências assíncronas da memória do host para a memória da GPU que ocorrem de forma simultânea à computação. Entretanto, o mecanismo de prefetching pode não ter tempo suficiente para transferir todos os dados antes de sua utilização. Para que a transferência possa ser mais rápida, a GPUZIP integra compressão com perda (lossy) dentro da GPU (cuZFP e NVIDIA Bitcomp) ao mecanismo de prefetching. Foram avaliados os mecanismos de prefetching e de compressão isoladamente, considerando diferentes tamanhos de cache e diversas configurações de parâmetros de compressão, com a finalidade de identificar os ajustes que proporcionam maior aceleração sem comprometer a qualidade dos resultados, além de quantificar o impacto isolado e combinado de cada técnica na mesma aplicação. Os resultados demonstram ganhos expressivos de desempenho em múltiplos datasets e estratégias de checkpointing. A combinação de prefetching e compressão foi a configuração que obteve os melhores ganhos de desempenho de até 5,1× com Revolve, 8,9× com Z-Cut e 5,8× com Uniform. A GPUZIP reduziu significativamente os tempos de bloqueio nas transferências Host-GPU e eliminou movimentos redundantes de dados. Esta pesquisa mostra que a combinação de prefetching com compressão é uma estratégia eficaz para superar o gargalo de comunicação em aplicações baseadas em GPU que utilizam diferenciação reversa. A GPUZIP é projetada para ser extensível e compatível com diferentes algoritmos de checkpointing e bibliotecas de compressão.
Banca examinadora
Titulares:
Sandro Rigo IC/UNICAMP
Arthur Francisco Lorenzon INF/UFRGS
Rodolfo Jardim de Azevedo IC/UNICAMP
Suplentes:
Lucas Francisco Wanner IC/UNICAMP
Alexandro José Baldassin IGCE/UNESP