Sistemas de ficheiros paralelos para cargas de trabalho de HPC

Este documento apresenta as opções de armazenamento em Google Cloud para computação de alto desempenho (HPC) cargas de trabalho e explica quando usar sistemas de ficheiros paralelos para cargas de trabalho de HPC. Num sistema de ficheiros paralelo, vários clientes usam caminhos de E/S paralelos para aceder a dados partilhados que são armazenados em vários nós de armazenamento em rede.

As informações neste documento destinam-se a arquitetos e administradores que concebem, aprovisionam e gerem o armazenamento para cargas de trabalho de HPC com grande volume de dados. O documento pressupõe que tem uma compreensão conceptual dos sistemas de arquivos de rede (NFS), dos sistemas de arquivos paralelos, do POSIX e dos requisitos de armazenamento das aplicações de HPC.

O que é o HPC?

Os sistemas de HPC resolvem rapidamente grandes problemas computacionais agregando vários recursos de computação. A HPC impulsiona a investigação e a inovação em vários setores, como os cuidados de saúde, as ciências da vida, os meios de comunicação, o entretenimento, os serviços financeiros e a energia. Os investigadores, os cientistas e os analistas usam sistemas de HPC para realizar experiências, executar simulações e avaliar protótipos. As cargas de trabalho de HPC, como o tratamento sísmico, o sequenciamento genómico, a renderização de multimédia e a modelagem climática, geram e acedem a grandes volumes de dados a taxas de dados cada vez mais elevadas e latências cada vez mais baixas. O armazenamento e a gestão de dados de elevado desempenho são elementos fundamentais da infraestrutura de HPC.

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

A configuração e o funcionamento da infraestrutura de HPC nas instalações são dispendiosos e a infraestrutura requer manutenção contínua. Além disso, normalmente, não é possível dimensionar rapidamente a infraestrutura no local para corresponder às alterações na procura. O planeamento, a aquisição, a implementação e a desativação de hardware no local demoram consideravelmente, o que resulta num atraso na adição de recursos de HPC ou numa capacidade subutilizada. Na nuvem, pode aprovisionar de forma eficiente uma infraestrutura de HPC que usa a tecnologia mais recente e pode dimensionar a sua capacidade a pedido.

Google Cloud e os nossos parceiros tecnológicos oferecem opções de armazenamento rentáveis, flexíveis e escaláveis para implementar infraestruturas de HPC na nuvem e para aumentar a sua infraestrutura de HPC no local. Os cientistas, os investigadores e os analistas podem aceder rapidamente a capacidade de HPC adicional para os respetivos projetos quando precisam.

Para implementar uma carga de trabalho de HPC no Google Cloud, pode escolher entre os seguintes serviços e produtos de armazenamento, consoante os requisitos da sua carga de trabalho:

Tipo de carga de trabalho Serviços e produtos de armazenamento recomendados
Cargas de trabalho que precisam de acesso de baixa latência aos dados, mas não requerem E/S extremas para conjuntos de dados partilhados e que têm uma partilha de dados limitada entre clientes. Use o armazenamento NFS. Escolha uma das seguintes opções:
Cargas de trabalho que geram E/S complexas, interdependentes e em grande escala, como aplicações de HPC fortemente acopladas que usam a interface de passagem de mensagens (MPI) para uma comunicação fiável entre processos. Use um sistema de ficheiros paralelo. Escolha uma das seguintes opções:
Para mais informações sobre os requisitos de carga de trabalho que os sistemas de ficheiros paralelos podem suportar, consulte o artigo Quando usar sistemas de ficheiros paralelos.

Quando usar sistemas de ficheiros paralelos

Num sistema de ficheiros paralelo, vários clientes armazenam e acedem a dados partilhados em vários nós de armazenamento em rede através de caminhos de E/S paralelos. Os sistemas de ficheiros paralelos são ideais para cargas de trabalho de HPC fortemente acopladas, como cargas de trabalho de inteligência artificial (IA) com grande volume de dados e cargas de trabalho de estatísticas que usam aplicações SAS. Considere usar um sistema de ficheiros paralelo como o Lustre gerido para cargas de trabalho de HPC sensíveis à latência que tenham qualquer um dos seguintes requisitos:

  • Processamento de dados fortemente acoplado: as cargas de trabalho de HPC, como a modelagem meteorológica e a exploração sísmica, precisam de processar dados repetidamente através de muitas tarefas interdependentes que são executadas em simultâneo em vários servidores. Estes processos usam normalmente a MPI para trocar dados a intervalos regulares e usam a criação de pontos de verificação para recuperar rapidamente de falhas. Os sistemas de ficheiros paralelos permitem que os clientes interdependentes armazenem e acedam a grandes volumes de dados partilhados em simultâneo através de uma rede de baixa latência.
  • Suporte da API de E/S POSIX e da semântica: os sistemas de ficheiros paralelos, como o Lustre gerido, são ideais para cargas de trabalho que precisam da API POSIX e da semântica. A API de um sistema de ficheiros e a respetiva semântica são capacidades independentes. Por exemplo, o NFS suporta a API POSIX, que é a forma como as aplicações leem e escrevem dados através de funções como open(), read() e write(). No entanto, a forma como o NFS coordena o acesso aos dados entre diferentes clientes não é a mesma que a semântica POSIX para coordenar o acesso aos dados entre diferentes threads numa máquina. Por exemplo, o NFS não suporta a consistência da cache de leitura após escrita POSIX entre clientes; baseia-se na consistência fraca no NFSv3 e na consistência quase aberta no NFSv4.
  • Petabytes de capacidade: os sistemas de ficheiros paralelos podem ser dimensionados para vários petabytes de capacidade num único espaço de nomes do sistema de ficheiros. Os volumes NetApp suportam até 1 PB e o Filestore regional e zonal suportam até 100 TiB por sistema de ficheiros. O Cloud Storage oferece capacidade fiável e de baixo custo que é dimensionada automaticamente, mas pode não cumprir a semântica de partilha de dados e os requisitos de baixa latência das cargas de trabalho de HPC.
  • Latência baixa e largura de banda elevada: para cargas de trabalho de HPC que precisam de acesso de alta velocidade a ficheiros muito grandes ou a milhões de ficheiros pequenos, os sistemas de ficheiros paralelos podem ter um desempenho superior ao NFS e ao armazenamento de objetos. A latência de submilisegundos que os sistemas de ficheiros paralelos oferecem é significativamente inferior ao armazenamento de objetos, o que pode afetar o máximo de IOPS. Além disso, a largura de banda máxima suportada pelos sistemas de ficheiros paralelos pode ser ordens de magnitude superior à dos sistemas baseados em NFS, que podem saturar a NIC de uma VM.
  • Escalabilidade extrema do cliente: o armazenamento NFS pode suportar milhares de clientes. Os sistemas de ficheiros paralelos podem ser dimensionados para suportar o acesso concorrente a dados partilhados de mais de 10 000 clientes e podem oferecer um elevado débito,independentemente do número de clientes.

Exemplos de aplicações de HPC fortemente interligadas

Esta secção descreve exemplos de aplicações de HPC fortemente interligadas que precisam do armazenamento de baixa latência e elevado débito fornecido por sistemas de ficheiros paralelos.

Modelagem molecular com base em IA

A investigação farmacêutica é um processo dispendioso e com grande volume de dados. As organizações modernas de investigação de medicamentos confiam na IA para reduzir o custo da investigação e do desenvolvimento, para dimensionar as operações de forma eficiente e para acelerar a investigação científica. Por exemplo, os investigadores usam aplicações com IA para simular as interações entre as moléculas num medicamento e prever o efeito das alterações aos compostos no medicamento. Estas aplicações são executadas em processadores de GPU paralelos e potentes que carregam, organizam e analisam uma quantidade extrema de dados para concluir simulações rapidamente. Os sistemas de ficheiros paralelos oferecem os IOPS e o débito de armazenamento necessários para maximizar o desempenho das aplicações de IA.

Análise do risco de crédito com aplicações SAS

As instituições de serviços financeiros, como os credores hipotecários e os bancos de investimento, têm de analisar e monitorizar constantemente a solvabilidade dos respetivos clientes e das respetivas carteiras de investimento. Por exemplo, os grandes credores hipotecários recolhem dados relacionados com o risco sobre milhares de potenciais clientes todos os dias. As equipas de analistas de crédito usam aplicações de estatísticas para rever em colaboração diferentes partes dos dados de cada cliente, como rendimentos, histórico de crédito e padrões de gastos. As estatísticas desta análise ajudam os analistas de crédito a fazer recomendações de empréstimos precisas e atempadas.

Para acelerar e dimensionar as estatísticas de grandes conjuntos de dados, as instituições de serviços financeiros usam plataformas de computação em grelha, como o SAS Grid Manager. Os sistemas de ficheiros paralelos, como o Lustre gerido, suportam os requisitos de armazenamento de elevado débito e baixa latência das aplicações SAS com várias linhas de execução.

Previsão meteorológica

Para prever padrões meteorológicos numa determinada região geográfica, os meteorologistas dividem a região em várias células e implementam dispositivos de monitorização, como radares terrestres e balões meteorológicos, em cada célula. Estes dispositivos observam e medem as condições atmosféricas a intervalos regulares. Os dispositivos transmitem dados continuamente para uma aplicação de previsão meteorológica executada num cluster de HPC.

A aplicação de previsão meteorológica processa os dados de streaming através de modelos matemáticos baseados em relações físicas conhecidas entre os parâmetros meteorológicos medidos. Uma tarefa separada processa os dados de cada célula na região. À medida que a aplicação recebe novas medições, cada tarefa itera através dos dados mais recentes para a respetiva célula atribuída e troca resultados com as tarefas para as outras células na região. Para prever padrões meteorológicos de forma fiável, a aplicação tem de armazenar e partilhar terabytes de dados que milhares de tarefas em execução em paralelo geram e aos quais acedem.

CFD para design de aeronaves

A dinâmica dos fluidos computacional (CFD) envolve a utilização de modelos matemáticos, leis físicas e lógica computacional para simular o comportamento de um gás ou um líquido em torno de um objeto em movimento. Quando os engenheiros aeronáuticos concebem o corpo de um avião, um dos fatores que consideram é a aerodinâmica. A CFD permite aos designers simular rapidamente o efeito das alterações de design na aerodinâmica antes de investir tempo e dinheiro na criação de protótipos caros. Após analisarem os resultados de cada execução de simulação, os designers otimizam os atributos como o volume e a forma dos componentes individuais da fuselagem do avião e voltam a simular a aerodinâmica. A CFD permite que os designers de aeronaves simulem colaborativamente o efeito de centenas de alterações de design deste tipo rapidamente.

Para concluir as simulações de design de forma eficiente, as aplicações de CFD precisam de acesso em menos de um milissegundo aos dados partilhados e da capacidade de armazenar grandes volumes de dados a velocidades até 100 GBps.

Vista geral das opções do sistema de ficheiros paralelo

Esta secção oferece uma vista geral das opções disponíveis Google Cloud para sistemas de ficheiros paralelos.

Google Cloud Managed Lustre

O Lustre gerido é um serviço gerido pela Google que oferece armazenamento de elevado débito e baixa latência para cargas de trabalho de HPC estreitamente associadas. Acelera significativamente as cargas de trabalho de HPC e a preparação e a inferência de IA, oferecendo acesso de elevado débito e baixa latência a conjuntos de dados massivos. Para informações sobre a utilização do Lustre gerido para cargas de trabalho de IA e ML, consulte o artigo Conceba armazenamento para cargas de trabalho de IA e ML no Google Cloud. O Lustre gerido distribui dados por vários nós de armazenamento, o que permite o acesso simultâneo por muitas VMs. Este acesso paralelo elimina os estrangulamentos que ocorrem com os sistemas de ficheiros convencionais e permite que as cargas de trabalho ingiram e processem rapidamente as grandes quantidades de dados necessárias.

DDN Infinia

Se precisar de orquestração de dados de IA avançada, pode usar o DDN Infinia, que está disponível no Google Cloud Marketplace. A Infinia oferece uma solução de inteligência de dados focada na IA que está otimizada para inferência, preparação e estatísticas em tempo real. Permite o carregamento de dados ultrarrápido, a indexação com metadados e a integração perfeita com frameworks de IA, como o TensorFlow e o PyTorch.

Seguem-se as principais funcionalidades do DDN Infinia:

  • Alto desempenho: oferece uma latência inferior a um milissegundo e uma taxa de transferência de vários TB/s.
  • Escalabilidade: suporta a escalabilidade de terabytes para exabytes e pode acomodar mais de 100 000 GPUs e um milhão de clientes em simultâneo numa única implementação.
  • Multi-tenancy com qualidade de serviço (QoS) previsível: oferece ambientes seguros e isolados para vários inquilinos com QoS previsível para um desempenho consistente em todas as cargas de trabalho.
  • Acesso unificado aos dados: permite a integração perfeita com aplicações e fluxos de trabalho existentes através do suporte multiprotocolo integrado, incluindo para Amazon S3 compatível, CSI e Cinder.
  • Segurança avançada: inclui encriptação integrada, codificação de eliminação com reconhecimento de domínio de falhas e capturas de ecrã que ajudam a garantir a proteção e a conformidade dos dados.

Plataforma de armazenamento de dados inteligente da Sycomp

A plataforma de armazenamento de dados inteligente da Sycomp, que está disponível no Google Cloud Marketplace, permite-lhe executar as suas cargas de trabalho de computação de alto desempenho (HPC), IA e AA, e de grandes volumes de dados no Google Cloud. Com o Sycomp Storage, pode aceder em simultâneo a dados de milhares de VMs, reduzir os custos através da gestão automática dos níveis de armazenamento e executar a sua aplicação no local ou na Google Cloud. O Sycomp Storage pode ser implementado rapidamente e suporta o acesso aos seus dados através do NFS e do cliente IBM Storage Scale.

O IBM Storage Scale é um sistema de ficheiros paralelo que ajuda a gerir em segurança grandes volumes (PBs) de dados. O Sycomp Storage Scale é um sistema de ficheiros paralelo adequado para HPC, IA, ML, Big Data e outras aplicações que requerem um sistema de ficheiros partilhado compatível com POSIX. Com capacidade de armazenamento adaptável e escalabilidade do desempenho, o armazenamento da Sycomp pode suportar cargas de trabalho de HPC, IA e ML de pequena a grande escala.

Depois de implementar um cluster no Google Cloud, decide como quer usá-lo. Escolha se quer usar o cluster apenas na nuvem ou no modo híbrido, ligando-se a clusters IBM Storage Scale no local existentes, soluções NAS NFS de terceiros ou outras soluções de armazenamento baseadas em objetos.

Colaboradores

Autor: Kumar Dhanagopal | Cross-Product Solution Developer

Outros colaboradores: