Sistemas de arquivos paralelos para cargas de trabalho de HPC

Last reviewed 2023-11-16 UTC

Veja neste documento as opções de armazenamento no Google Cloud para cargas de trabalho de computação de alto desempenho (HPC) e quando usar sistemas de arquivos paralelos para cargas de trabalho de HPC. Em um sistema de arquivos paralelo, vários clientes usam caminhos de E/S paralelos para acessar dados compartilhados armazenados em vários nós de armazenamento em rede.

As informações contidas neste documento se destinam a arquitetos e administradores que projetam, provisionam e gerenciam armazenamento para cargas de trabalho de HPC com muitos dados. Para entender este documento, é necessário entender conceitos de sistemas de arquivos de rede (NFS, na sigla em inglês), sistemas de arquivos paralelos, POSIX e os requisitos de armazenamento de aplicativos de HPC.

O que é HPC?

Os sistemas de HPC resolvem grandes problemas computacionais com rapidez ao agregar vários recursos de computação. A HPC promove pesquisa e inovação em setores como medicina, saúde, mídia, entretenimento, serviços financeiros e energia. Pesquisadores, cientistas e analistas usam sistemas de HPC para realizar experimentos, executar simulações e avaliar protótipos. As cargas de trabalho de HPC, como processamento sísmico, sequenciamento genômico, renderização de mídia e modelagem de clima, geram e acessam grandes volumes de dados a taxas crescentes com latências cada vez menores. O armazenamento de alto desempenho e o gerenciamento de dados são elementos essenciais da infraestrutura de HPC.

Opções de armazenamento para cargas de trabalho de HPC no Google Cloud

A configuração e a operação da infraestrutura de HPC no local são caras, e a infraestrutura exige manutenção contínua. Além disso, a infraestrutura no local geralmente não pode ser escalonada a tempo de corresponder às mudanças na demanda. Planejar, adquirir, implantar e desativar o hardware no local leva um tempo considerável, resultando na adição atrasada de recursos de HPC ou em capacidade subutilizada. Na nuvem, é possível provisionar com eficiência a infraestrutura de HPC que usa a tecnologia mais recente, além de escalonar sua capacidade sob demanda.

O Google Cloud e nossos parceiros em tecnologia oferecem opções de armazenamento flexíveis, escalonáveis e econômicas para implantar a infraestrutura de HPC na nuvem e aumentar sua infraestrutura de HPC no local. Cientistas, pesquisadores e analistas podem acessar rapidamente a capacidade extra de HPC para os projetos quando necessário.

Para implantar uma carga de trabalho de HPC no Google Cloud, escolha entre os serviços e produtos de armazenamento a seguir, dependendo dos requisitos da carga de trabalho:

Tipo de carga de trabalho Produtos e serviços de armazenamento recomendados
Cargas de trabalho que precisam de acesso de baixa latência aos dados, mas não exigem E/S extrema para conjuntos de dados compartilhados e têm compartilhamento de dados limitado entre os clientes. Use o armazenamento NFS. Escolha uma destas opções:
Cargas de trabalho que geram E/S complexas, interdependentes e em grande escala, como aplicativos de HPC com acoplamento rígido que usam a interface de envio de mensagens (MPI, na sigla em inglês) para comunicação confiável entre processos. Use um sistema de arquivos paralelo. Escolha uma destas opções:
Saiba mais sobre os requisitos de carga de trabalho compatíveis com sistemas de arquivos paralelos em Quando usar sistemas de arquivos paralelos.

Quando usar sistemas de arquivos paralelos

Em um sistema de arquivos paralelo, vários clientes armazenam e acessam dados compartilhados em vários nós de armazenamento em rede usando caminhos de E/S paralelos. Os sistemas de arquivos paralelos são ideais para cargas de trabalho de HPC com acoplamento rígido, como as de inteligência artificial (IA) com muitos dados e as de análise que usam aplicativos SAS. Cogite usar um sistema de arquivos paralelo como o Lustre para cargas de trabalho de HPC sensíveis a latência que tenham um dos seguintes requisitos:

  • Processamento de dados com acoplamento rígido: as cargas de trabalho de HPC, como modelagem meteorológica e exploração sísmica, precisam processar dados repetidamente usando vários jobs interdependentes que são executados simultaneamente em vários servidores. Esses processos costumam usar MPIs para trocar dados em intervalos regulares e usam checkpoints para se recuperar rapidamente de falhas. Os sistemas de arquivos paralelos permitem que clientes interdependentes armazenem e acessem grandes volumes de dados compartilhados simultaneamente em uma rede de baixa latência.
  • Suporte para a API POSIX I/O e para a semântica: sistemas de arquivos paralelos como o Lustre são ideais para cargas de trabalho que precisam da API POSIX e da semântica. A API e a semântica de um sistema de arquivo são recursos independentes. Por exemplo, o NFS oferece suporte para a API POSIX, que é o modo como os aplicativos leem e gravam dados usando funções como open(), read() e write(). No entanto, a forma como o NFS coordena o acesso de dados entre diferentes clientes não é igual à semântica da POSIX para coordenar o acesso de dados entre diferentes linhas de execução em uma máquina. Por exemplo, o NFS não é compatível com a consistência de cache de leitura após gravação na POSIX entre clientes e depende de consistência fraca no NFSv3 e de consistência quase aberta no NFSv4.
  • Petabytes de capacidade: sistemas de arquivos paralelos podem ser escalonados para vários petabytes de capacidade em um único namespace do sistema de arquivos. Os volumes do NetApp e o Filestore zonal são compatíveis com até 100 TiB por conjunto de dados. O Cloud Storage oferece capacidade confiável e de baixo custo que é escalonada automaticamente, mas pode não atender aos requisitos de semântica de compartilhamento de dados e de baixa latência das cargas de trabalho de HPC.
  • Baixa latência e alta largura de banda: para cargas de trabalho de HPC que precisam de acesso de alta velocidade a arquivos muito grandes ou a milhões de arquivos pequenos, os sistemas de arquivos paralelos podem superar o desempenho de armazenamento de objetos e NFS. A latência oferecida por sistemas de arquivos paralelos (de 0,5 ms a 10 ms) é significativamente menor que o armazenamento de objetos, o que pode afetar o IOPS máximo. Além disso, a largura de banda máxima compatível com sistemas de arquivos paralelos pode ser ordens de magnitude maior do que as de sistemas baseados em NFS. Por exemplo, o DDN EXAScaler no Google Cloud demonstrou mais de 10 Tbps de largura de banda de leitura, mais de 700 GBps de gravação e 1,9 milhão de chamadas de stat() de arquivo por segundo usando o Comparativo de mercado do IO500.
  • Escalonamento extremo de cliente: o armazenamento NFS é compatível com milhares de clientes, mas os sistemas de arquivos paralelos podem ser escalonados para oferecer suporte ao acesso simultâneo a dados compartilhados de mais de 10.000 clientes.

Exemplos de aplicativos de HPC com acoplamento rígido

Veja nesta seção exemplos de aplicativos de HPC com acoplamento rígido que precisam do armazenamento de baixa latência e de alta capacidade de processamento fornecido pelos sistemas de arquivos paralelos.

Modelagem molecular ativada para IA

A pesquisa farmacêutica é um processo de alto custo e que consome muitos dados. As organizações modernas de pesquisa de medicamentos usam a IA para reduzir o custo em pesquisa e desenvolvimento, escalonar as operações com eficiência e acelerar a pesquisa científica. Por exemplo, os pesquisadores usam aplicativos com IA para simular as interações entre as moléculas de um medicamento e prever o efeito das mudanças nos compostos do medicamento. Esses aplicativos são executados em avançados processadores de GPU paralelos que carregam, organizam e analisam uma quantidade extrema de dados para realizar simulações com rapidez. Os sistemas de arquivos paralelos fornecem os IOPS de armazenamento e a capacidade de processamento necessários para maximizar o desempenho dos aplicativos de IA.

Análise de risco de crédito usando aplicativos SAS

As instituições de serviços financeiros, como companhias hipotecárias e bancos de investimento, precisam analisar e monitorar constantemente a solvência dos clientes e dos respectivos portfólios de investimento. Por exemplo, as grandes companhias hipotecárias coletam dados relacionados a riscos sobre milhares de clientes em potencial todos os dias. As equipes de analistas de crédito usam aplicativos para analisar de maneira colaborativa as diferentes partes dos dados de cada cliente, como renda, histórico de crédito e padrões de gastos. Os insights dessa análise ajudam os analistas de crédito a fazerem recomendações de empréstimo precisas e oportunas.

Para acelerar e escalonar as análises para grandes conjuntos de dados, as instituições de serviços financeiros usam plataformas de computação em grade, como o SAS Grid Manager. Os sistemas de arquivos paralelos, como o DDN EXAScaler no Google Cloud, são compatíveis com os requisitos de armazenamento de alta capacidade de processamento e baixa latência de aplicativos SAS com várias linhas de execução.

Previsão do tempo

Para prever padrões climáticos em uma determinada região geográfica, os meteorologistas dividem a região em várias células e implantam dispositivos de monitoramento, como radares terrestres e balões meteorológicos em cada célula. Esses dispositivos observam e medem as condições atmosféricas em intervalos regulares. Os dispositivos transmitem dados continuamente para um aplicativo de previsão de tempo em execução em um cluster de HPC.

O aplicativo de previsão do tempo processa os dados transmitidos usando modelos matemáticos baseados em relações físicas conhecidas entre os parâmetros meteorológicos medidos. Um job separado processa os dados de cada célula da região. À medida que o aplicativo recebe novas medições, cada job itera os dados mais recentes da célula atribuída e troca saídas com os jobs para as outras células na região. Para prever padrões climáticos de maneira confiável, o aplicativo precisa armazenar e compartilhar terabytes de dados que milhares de jobs em execução geram e acessam em paralelo.

CFD para projetos de aeronaves

A dinâmica dos fluidos computacional (CFD, na sigla em inglês) envolve o uso de modelos matemáticos, leis físicas e lógica computacional para simular o comportamento de um gás ou líquido em torno de um objeto em movimento. Quando os engenheiros de aeronaves projetam o corpo de um avião, um dos fatores que consideram é a aerodinâmica. Com o CFD, os projetistas podem simular com rapidez o efeito de alterações no projeto sobre a aerodinâmica antes de investir tempo e dinheiro na criação de protótipos caros. Depois de analisar os resultados de cada simulação, os projetistas otimizam os atributos, como o volume e a forma de componentes individuais do corpo do avião, e simulam novamente a aerodinâmica. O CFD permite que os projetistas de aeronaves simulem colaborativamente o efeito de centenas dessas alterações no projeto com rapidez.

Para concluir as simulações de projeto de maneira eficiente, os aplicativos de CFD precisam de acesso de submilissegundos para dados compartilhados e capacidade de armazenar grandes volumes de dados a velocidades de até 100 GBps.

Visão geral do Lustre e do EXAScaler Cloud

O Lustre é um sistema de arquivos paralelo de código aberto que oferece armazenamento de alta capacidade e baixa latência para cargas de trabalho de HPC com acoplamento rígido. Além dos pontos de montagem padrão da POSIX no Linux, o Lustre é compatível com bibliotecas de dados e E/S, como NetCDF, HDF5, e MPI-IO, permitindo E/S paralela para uma ampla variedade de domínios de aplicativo. O Lustre é a base de muitas das maiores implantações de HPC globalmente. Um sistema de arquivos do Lustre tem uma arquitetura escalonável que contém os seguintes componentes:

  • Um servidor de gerenciamento (MGS) armazena e gerencia informações de configuração sobre um ou mais sistemas de arquivos do Lustre e fornece essas informações aos outros componentes.
  • Os servidores de metadados (MDS) gerenciam o acesso do cliente ao namespace de um sistema de arquivos do Lustre usando metadados. Por exemplo: hierarquia de diretórios, nomes de arquivos e permissões de acesso.
  • Os servidores de armazenamento de objetos (OSS, na sigla em inglês) gerenciam o acesso do cliente aos arquivos armazenados em um sistema de arquivos do Lustre.
  • Com o software cliente do Lustre, os clientes podem ativar o sistema de arquivos.

Várias instâncias de MDS e OSS podem existir em um sistema de arquivos. É possível adicionar novas instâncias de MDS e OSS quando necessário. Saiba mais sobre o sistema de arquivos do Lustre e como ele funciona na documentação do Lustre (em inglês).

A EXAScaler Cloud é uma versão corporativa do Lustre oferecida pela DDN, uma parceira do Google. O EXAScaler Cloud é uma solução de arquivos compartilhados para o processamento de dados de alto desempenho e o gerenciamento de grandes volumes de dados necessários para suportar cargas de trabalho de IA, HPC e análise. O EXAScaler Cloud é ideal para cargas de trabalho de IA de aprendizado profundo e inferência no Google Cloud. É possível implantar em uma arquitetura de nuvem híbrida para aumentar a capacidade de HPC no local. O EXAScaler Cloud também pode servir como repositório para armazenar recursos de longo prazo a partir de uma implantação do EXAScaler no local.

Visão geral do armazenamento Sycomp impulsionado pela IBM Spectrum Scale

O Sycomp Storage Fueled by IBM Spectrum Scale no Google Cloud Marketplace permite executar computação de alto desempenho (HPC), inteligência artificial (IA), machine learning (ML) e cargas de trabalho de Big Data no Google Cloud. Com o Sycomp Storage, é possível acessar dados simultaneamente de milhares de VMs, reduzir custos gerenciando automaticamente níveis de armazenamento e executar seu aplicativo no local ou no Google Cloud. O Sycomp Storage Fueled by IBM Spectrum Scale está disponível no Cloud Marketplace, pode ser implantado rapidamente e permite acesso aos seus dados via NFS e pelo cliente do IBM Spectrum Scale.

O IBM Spectrum Scale é um sistema de arquivos paralelo que ajuda a gerenciar com segurança grandes volumes (PBs, na sigla em inglês) de dados. O sistema de arquivos paralelo do IBM Spectrum Scale é adequado para aplicativos de HPC, IA, ML, Big Data e outros que exigem um sistema de arquivos compartilhados em conformidade com o POSIX. Com capacidade de armazenamento adaptável e escalonamento de desempenho, o Sycomp Storage é compatível com cargas de trabalho de HPC, IA e ML pequenas e grandes.

Depois de implantar um cluster no Google Cloud, você decide como quer usá-lo. Escolha se você quer usá-lo apenas na nuvem ou no modo híbrido. Para isso, conecte-se a um cluster local do IBM Spectrum Scale.

A seguir

Colaboradores

Autor: Kumar Dhanagopal | Desenvolvedor de soluções de vários produtos

Outros colaboradores: