Acesso a arquivos para trabalhos de HPC
O acesso ao armazenamento é uma parte importante do planejamento do desempenho das cargas de trabalho de HPC. É preciso garantir que os dados necessários cheguem aos computadores do cluster de HPC no momento certo. Também é preciso garantir que os resultados desses computadores individuais sejam salvos rapidamente e fiquem disponíveis para análise posterior.
Os arquivos podem incluir diferentes tipos de dados, incluindo:
- Dados não estruturados, como imagens, documentos ou arquivos de mídia.
- Dados de série temporal de várias fontes.
- Dados de preço (como histórico de preços de ações).
- Ativos usados para análise computacional, como dados de genoma, imagens de radiografias ou simulações climáticas.
Presume-se que os dados estejam em uma ou mais soluções de armazenamento no ambiente local. As arquiteturas de armazenamento nesse contexto incluem:
- Discos anexados diretamente. Ou seja, cada computador no cluster de HPC tem os próprios discos de armazenamento local.
- Soluções de NAS (armazenamento conectado à rede).
- Soluções de SAN (rede de área de armazenamento).
Analistas, artistas, pesquisadores ou cientistas podem criar os dados localmente. Os dados também podem ser adquiridos periodicamente de terceiros e depositados na solução de armazenamento local.
Tipos de acesso a arquivos
Os casos de uso gerais de acesso a arquivos que abordamos neste módulo limitam-se a estas atividades:
- Carregamento e execução de cadeias de ferramentas, bibliotecas e/ou código do trabalho nos computadores do cluster de HPC.
- Leitura dos dados de origem de um trabalho. Por exemplo, dados de preço diários, dados de genoma ou dados de satélite.
- Gravações intermediárias ou transitórias. Determinados trabalhos exigem que dados iniciais sejam processados e a saída desse processamento se transforma em novas entradas para atividades downstream.
- Gravar os resultados de um trabalho. Esse caso de uso envolve colocar os dados em uma localização desejável para consumo adicional. Por exemplo, renderizar um vídeo e colocar os resultados renderizados em um volume compartilhado para uso.
Como computadores de HPC obtêm dados de conjunto de trabalho?
Os computadores no cluster de HPC acessam arquivos por meio de um disco anexado diretamente ou de uma exportação ou compartilhamento de rede. Nos dois casos, os arquivos são apresentados em um caminho local (por exemplo, /mnt/data).
O código e os scripts que compõem o trabalho de HPC em si pressupõem que os arquivos estejam acessíveis nesse sistema de arquivos e usam os recursos de acesso a arquivos do computador para obtê-los. Por exemplo, um computador que executa Linux e precisa acessar um arquivo em um NAS usaria o protocolo NFS (Network File System) e os pacotes do cliente NFS instalados como parte do sistema operacional.
Entender os metadados do arquivo
Um arquivo armazena dados reais (por exemplo, uma imagem ou linhas de texto), bem como informações adicionais conhecidas como metadados. Esses metadados ficam dentro dos dados do arquivo ou em um diretório. É importante entender esses metadados no contexto do desempenho do sistema de arquivos de HPC.
Metadados são um conjunto de valores que descrevem os atributos dos dados, mas não fazem parte desses dados. Por exemplo, os metadados indicam quando um arquivo foi criado e modificado, quem criou o arquivo e quem tem permissões para acessá-lo.
Quando um arquivo é criado, há operações de metadados que alocam as estruturas e que atualizam as entradas de diretório para esse arquivo. Essas operações ocorrem antes que os dados sejam gravados no arquivo.