Este documento apresenta as opções de armazenamento no Google Cloud para cargas de trabalho de computação de alto desempenho (HPC) e explica 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 em 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.
Google Cloud e nossos parceiros de 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 seguintes serviços e produtos de armazenamento, 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. Considere usar um sistema de arquivos paralelo como o Lustre gerenciado 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 Managed 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()
ewrite()
. 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. Ele 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. O NetApp Volumes oferece suporte a até 1 PB, e o Filestore regional e zonal oferece suporte a até 100 TiB por sistema de arquivos. 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 de menos de um milissegundo oferecida pelos sistemas de arquivos paralelos é 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 em sistemas baseados em NFS, o que pode saturar a NIC de uma VM.
- Escalonamento de cliente extremo: o armazenamento NFS pode ser usado por milhares de clientes. Os sistemas de arquivos paralelos podem ser escalonados para oferecer suporte ao acesso simultâneo a dados compartilhados de mais de 10.000 clientes e podem fornecer alta taxa de transferência independentemente do número de 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 Managed Lustre, oferecem suporte a 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 das opções do sistema de arquivos paralelo
Esta seção fornece uma visão geral de alto nível das opções disponíveis em Google Cloud para sistemas de arquivos paralelos.
Google Cloud Managed Lustre
O Managed Lustre é um serviço gerenciado pelo Google que oferece armazenamento de alta capacidade e baixa latência para cargas de trabalho de HPC com acoplamento rígido. Ele acelera significativamente as cargas de trabalho de HPC e o treinamento e a inferência de IA, fornecendo acesso de alta capacidade e baixa latência a conjuntos de dados enormes. Para informações sobre como usar o Managed Lustre para cargas de trabalho de IA e ML, consulte Planejar armazenamento para cargas de trabalho de IA e ML no Google Cloud. O Lustre gerenciado distribui dados em vários nós de armazenamento, o que permite o acesso simultâneo de muitas VMs. Esse acesso paralelo elimina os gargalos que ocorrem com sistemas de arquivos convencionais e permite que as cargas de trabalho ingiram e processem rapidamente as grandes quantidades de dados necessárias.
DDN Infinia
Se você precisar de uma orquestração de dados de IA avançada, use o DDN Infinia, que está disponível no Google Cloud Marketplace. A Infinia oferece uma solução de inteligência de dados com foco em IA otimizada para inferência, treinamento e análises em tempo real. Ele permite a ingestão de dados ultrarrápida, a indexação rica em metadados e a integração perfeita com frameworks de IA, como TensorFlow e PyTorch.
Confira a seguir os principais recursos do DDN Infinia:
- Alto desempenho: oferece latência de submilissegundos e capacidade de processamento de vários TB/s.
- Escalonabilidade: oferece suporte ao escalonamento de terabytes para exabytes e pode acomodar até 100.000 GPUs e um milhão de clientes simultâneos em uma única implantação.
- Multitenência com qualidade de serviço (QoS) previsível: oferece ambientes seguros e isolados para vários locatários com QoS previsível para desempenho consistente em cargas de trabalho.
- Acesso unificado a dados: permite a integração perfeita com aplicativos e fluxos de trabalho existentes por meio do suporte integrado a vários protocolos, incluindo o Amazon S3, o CSI e o Cinder.
- Segurança avançada: oferece criptografia integrada, codificação de exclusão com reconhecimento de domínio de falha e snapshots que ajudam a garantir a proteção de dados e a conformidade.
Sycomp Storage impulsionado pela IBM Storage Scale
O Sycomp Storage impulsionado pela IBM Spectrum Scale, disponível no Google Cloud Marketplace, permite executar computação de alto desempenho (HPC), IA e ML e cargas de trabalho de Big Data em 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 pode ser implantado rapidamente e oferece suporte ao acesso aos seus dados por meio do NFS e do cliente do IBM Storage Scale.
O IBM Storage Scale é um sistema de arquivos paralelo que ajuda a gerenciar com segurança grandes volumes (PBs, na sigla em inglês) de dados. O Sycomp Storage Scale é um sistema de arquivos paralelo que é adequado para HPC, IA, ML, Big Data e outros aplicativos 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 usar o cluster apenas na nuvem ou no modo híbrido. Para isso, conecte-se a clusters locais do IBM Storage Scale, soluções NFS NAS de terceiros ou outras soluções de armazenamento baseadas em objetos.
Colaboradores
Autor: Kumar Dhanagopal | Desenvolvedor de soluções de vários produtos
Outros colaboradores:
- Barak Epstein | Gerente de produtos
- Carlos Boneti | Engenheiro de software sênior
- Dean Hildebrand | Diretor técnico, escritório do CTO
- Sean Derrington | Gerente de produtos externos do grupo, Armazenamento
- Wyatt Gorman | Gerente de produtos de saída de HPC