Introdução

O que se segue é uma lista de propostas de temas para meu doutorado em HPC. Após conversar com meu futuro orientador, focamos no tema de reprodutibilidade. O que me levou a participar do ACM REP 2025.

Originalmente esse texto foi disponibilizado como uma pagina própria nesse blog. Decidi transformá-lo em um post, como qualquer outro.

Metodologia para análise experimental de algoritmos em grafos

Para minha dissertação de mestrado implementei o algoritmo HDT para resolver o problema de conexidade em grafos dinâmicos.

Fizemos um experimento comparando com outros algoritmos seguindo esse framework de 2022. No entanto, devido a problemas de metodologia, não escrevemos um capítulo sobre isso na dissertação.

Lemos o artigo A Theoretician’s Guide to the Experimental Analysis of Algorithms de David S. Johnson. Boa introdução sobre o autor: slides

  1. Faça experimentos dignos de nota Isto é; investigue questões de real interesse da comunidade.
  2. Relacione seu artigo com a literatura
  3. Faça testes em um conjunto de instâncias que permita se chegar a conclusões gerais
  4. Projete os experimentos de forma eficiente e efetiva
  5. Use implementações suficientemente eficientes
  6. Garanta a reprodutibilidade
  7. Garanta a comparabilidade
  8. Reporte a história completa
  9. Chegue a conclusões bem-justificadas
  10. Apresente os dados de modo informativo

Em 2017, um novo algoritmo para o problema de conexidade dinâmica foi publicado. Ele adiciona mais estruturas de dados sobre HDT, obtendo menor consumo assintótico, mas com constantes maiores. Uma ideia de artigo é implementar esse algoritmo e fazer um experimento comparativo. Os autores desse artigo publicaram uma versão mais longa (56 paginas) explicando em detalhes como as estruturas de dados funcionam.

Em HPC, essa metodologia ainda se preocupa com mais fatores, Large scale graph processing systems: survey and an experimental evaluation.

Criar distro GNU/Linux focada em HPC

Livro Operating Systems for Supercomputers and High Performance Computing

Artigos:

User space

  • Lembrei da apresentação: “Ambientes computacionais para a reprodutibilidade de softwares (de pesquisa) com GNU Guix e Software Heritage” de maio/2024 com o Prof. Alexandre Abdo

Guix System tem uma equipe focada em HPC e muitos princípios importantes para HPC:

  • reprodutibilidade
  • implantação de uma frota de maquinas

Tenho dois patches aceitos no Guix:

E atualmente estou trabalhando para atualizar o pacote Docker: issue 74746.

Outros gerenciadores de pacotes podem ser encontrados no repositório awesome HPC.

Kernel

DevOps e engenharia de plataforma para HPC

A ideia é propor as práticas de DevOps e engenharia de plataforma para o ambiente acadêmico.