Workflows

  • Workflow é uma serie de passos computacionais e de manipulação de dados.
  • “Workflows are becoming the paradigm of choice for HPC applications.” workflow workflow

Como reproduzir workflows?

HPC

Benchmark

Fazem benchmark para:

  • Comunicar cargas de trabalho para vendors.
  • Projetar sistemas e monitorar progresso.
  • Validar ferramentas:
    • Compiladores.
    • Debugadores.
    • Ferramentas de corretude e desempenho.

Os 3 R’s em benchmark em HPC:

  • Repeat (mesmo hardware, ambiente e aplicação):
    • Verificar se o benchmark ainda compila e roda no sistema.
    • Repassar as tarefas de benchmark para outro usuário.
    • Avaliar desempenho ao longo do envelhecimento do sistema.
    • Coletar ruído de variabilidade.
  • Replicate (mesmo hardware e aplicação, ambiente de software muda)
    • Verificar se o benchmark ainda compila e roda no sistema atualizado.
    • Validar desempenho do sistema atualizado.
    • Avalizar diferenças de desempenho entre diferentes opções de software (ex: gcc, clang, tcc)
  • Reproduce (hardware e ambiente diferem)
    • Verificar se o benchmark compila e roda no sistema diversos.
    • Avalizar desempenho em diversos sistemas.
    • Explorar possíveis benefícios de fazer upgrade de hardware.

workflow

No artigo Towards Collaborative Continuous Benchmarking for HPC, os autores apresentam benchpark, um framework que benchmark de clusters HPC. O framework possibilita formalizar os 3 R’s descritos acima.

Reproducibility initiative in SC’24

Artigo Implementing a Reproducibility Initiative in HPC: Experiences from SC24

SC24:

  • Artifact Description e Artifact Evaluation appendix são obrigatórios.
  • Reproducibility Challenge no Student Cluster Competition: Estudantes tentam reproduzir papers publicados na SC do ano anterior. Começou na SC16.
  • Reproducers: 101 para 102 papers
  • NEW: Reproducibility Report:
    • pequeno paper publicado pelo reprodutor descrevendo o que foi reproduzido.
    • é publicado como “company report” ao paper original.
    • possui um template.
    • limite de tempo de 8h (excluindo computação).
    • repo github.
  • Badges:
    • Artifact available: significa que está permanentemente arquivado, verificado que não é bem verdade nesse artigo.
    • Artifact Functional: artefato consegue ser executado.
    • Results Reproduced: resultados chaves podem ser reproduzidos por outros.
  • Recomendações:
    • Focar em availability e functionality no momento da publicação.
    • Focar em replicability e reproducibility em journals e tracks específicos. badges

Reprodutibilidade é difícil:

  • Consome muito tempo dos reproducers
  • Em HPC:
    • Escala dos computadores
    • Objetos avaliadors (como desempenho)

Próximas leituras

The Purely Functional Software Deployment Model in Clusters

O modelo de implantação puramente funcional foi introduzido

Para HPC a implementação GNU Guix é mais madura, eles tem uma equipe de HPC dedicada. Activity Report