Implante um Cluster de Servidores Bare Metal HPC com uma GPU NVIDIA Tensor Core

A implementação de modelos de inteligência artificial (IA), machine learning (ML) ou deep learning (DL), como o BERT-Large para modelagem de linguagem, geralmente se beneficia da aceleração de GPU para cargas de trabalho de IA.

A Oracle Cloud Infrastructure (OCI) permite o acesso direto a um cluster de servidores bare metal. O cluster de GPU bare metal oferece o melhor custo-benefício do setor para implementar IA, ML ou DL. Você pode hospedar mais de 500 clusters de GPU e dimensionar facilmente, sob demanda.

Arquitetura

Essa arquitetura demonstra a relação entre os vários componentes em um sistema típico com o cluster de GPU bare metal HPC em seu núcleo. Ele pode se aplicar a muitos aplicativos de IA, ML ou DL, como BERT-Large, GPT2/3, Jasper, MaskRCNN e GNMT.

O BERT é um modelo de aprendizado profundo pré-treinado que é popular em tarefas de Processamento de Linguagem Natural (PNL). Ele pode ser ajustado para aplicações ou domínios específicos. A variante maior, BERT-large, contém parâmetros de 340M. Os tempos de treinamento e inferência são tremendos sem cluster distribuído em grande escala em centenas de GPUs idênticas. Os clusters de GPU requerem alto throughput de E/S e sistema de arquivos de cluster de baixa latência. Quanto, quão rápido e barato você pode processar os dados é especialmente crítico para os aplicativos de inferência de IA em tempo real.

O Oracle Cloud Infrastructure (OCI) utiliza a rede de cluster de baixa latência da Oracle, com base no RDMA (Remote Direct Memory Access), executado em ethernet convergente (RoCE) com latência inferior a 2μs. O RDMA permite conexões de baixa latência entre nós e acesso à memória GPU sem envolver a CPU. A OCI HPC permite que o cliente clusterize até 64 nós bare metal, cada um com 8 GPUs NVIDIA A100, para 512 GPUs.

A OCI fornece várias soluções de armazenamento de alto desempenho e baixa latência para cargas de trabalho HPC, como SSD local NVMe, rede e sistemas de arquivos paralelos. O servidor bare metal do OCI vem com armazenamento local SSD NVMe. Ele pode ser usado para criar um NFS scratch ou Sistema de Arquivos Paralelos scratch (BeeOND, Weka), para arquivos temporários. Usando o recurso de vários anexos do Block Volume, você pode usar um único volume para armazenar todos os seus conjuntos de dados de treinamento e anexá-lo a várias instâncias de GPU. Ou você pode usar o Intel Ice lake BM ou VM e o armazenamento em blocos da camada de desempenho balanceado para criar servidores de arquivos de maior throughput e menor custo, com sistema de arquivos baseado em NFS (NFS-HA, FSS) ou Paralelo (Weka.io, Escala de Espectro, BeeGFS, BeeOND). Os resultados do treinamento são salvos no Oracle Cloud Infrastructure Object Storage para armazenamento de longo prazo.

O diagrama a seguir ilustra essa arquitetura de referência.

Veja a seguir a descrição da arquitetura-hpc-bm-gpu.png
Descrição da ilustração architecture-hpc-bm-gpu.png

arquitetura-hpc-bm-gpu-oracle.zip

A arquitetura tem os seguintes componentes:

  • Região

    Região do Oracle Cloud Infrastructure é uma área geográfica localizada que contém um ou mais data centers, denominada domínios de disponibilidade. As regioes sao independentes de outras regioes, e grandes distancias podem separá-las (entre paises ou ate continentes).

  • Cloud Guard

    Você pode usar o Oracle Cloud Guard para monitorar e manter a segurança de seus recursos no Oracle Cloud Infrastructure. O Cloud Guard usa receitas de detector que você pode definir para examinar seus recursos quanto a pontos fracos de segurança e monitorar operadores e usuários para determinadas atividades arriscadas. Quando qualquer configuração incorreta ou atividade insegura é detectada, o Cloud Guard recomenda ações corretivas e ajuda a executar essas ações, com base em receitas do respondedor que você pode definir.

  • Domínios de disponibilidade

    Domínios de disponibilidade são data centers stand-alone e independentes dentro de uma região. Os recursos físicos de cada domínio de disponibilidade são isolados dos recursos de outros domínios de disponibilidade, o que oferece tolerância a falhas. Os domínios de disponibilidade não compartilham infraestrutura como energia ou refrigeração ou a rede interna do domínio de disponibilidade. Portanto, uma falha em um domínio de disponibilidade não deve afetar os outros domínios de disponibilidade na região.

  • Domínios de falha

    Um domínio de falha é um agrupamento de hardware e infraestrutura dentro de um domínio de disponibilidade. Cada domínio de disponibilidade tem três domínios de falha com energia e hardware independentes. Quando você distribui recursos entre vários domínios de falha, seus aplicativos podem tolerar falhas físicas do servidor, manutenção do sistema e falhas de energia dentro de um domínio de falha.

  • Compartimento

    Compartimentos são partições lógicas entre regiões em uma tenancy do Oracle Cloud Infrastructure. Use compartimentos para organizar seus recursos no Oracle Cloud, controlar o acesso aos recursos e definir cotas de uso. Para controlar o acesso aos recursos em um determinado compartimento, você define políticas que especificam quem pode acessar os recursos e quais ações eles podem executar.

  • Rede virtual na nuvem (VCN) e sub-redes

    Uma VCN é uma rede personalizável definida por software que você configura em uma região do Oracle Cloud Infrastructure. Como as redes tradicionais de data center, as VCNs oferecem controle sobre seu ambiente de rede. Uma VCN pode ter vários blocos CIDR não sobrepostos que você pode alterar após a criação da VCN. Você pode segmentar uma VCN em sub-redes, com escopo definido para uma região ou para um domínio de disponibilidade. Cada sub-rede consiste em um intervalo contíguo de endereços que não se sobrepõem a outras sub-redes da VCN. Você pode alterar o tamanho de uma sub-rede após a criação. Uma sub-rede pode ser pública ou privada.

  • VPN entre Sites

    A VPN Site a Site fornece conectividade de IPSec VPN entre sua rede on-premises e VCNs no Oracle Cloud Infrastructure. O conjunto de protocolos IPSec criptografa o tráfego IP antes que os pacotes sejam transferidos da origem para o destino e decompõe o tráfego quando ele chega.

  • FastConnect

    O Oracle Cloud Infrastructure FastConnect fornece uma maneira fácil de criar uma conexão privada dedicada com o Oracle Cloud Infrastructure. O FastConnect oferece opções de largura de banda maior e uma experiência de rede mais confiável quando comparado com as conexões baseadas na internet.

  • Gateway de roteamento dinâmico (DRG)

    O DRG é um roteador virtual que fornece um caminho para o tráfego de rede privada entre VCNs na mesma região, entre uma VCN e uma rede fora da região, como uma VCN em outra região do Oracle Cloud Infrastructure, uma rede local ou uma rede em outro provedor de nuvem.

  • Gateway NAT (conversão de endereço de rede)

    Um gateway NAT permite que recursos privados em uma VCN acessem hosts na internet, sem expor esses recursos a conexões de internet de entrada.

  • Gateway de internet

    O gateway de internet permite tráfego entre as sub-redes públicas em uma VCN e a internet pública.

  • Gateway de serviço

    O gateway de serviço fornece acesso de uma VCN a outros serviços, como o Oracle Cloud Infrastructure Object Storage. O tráfego da VCN para o serviço Oracle percorre a malha da rede Oracle e não passa pela internet.

  • Lista de segurança

    Para cada sub-rede, você pode criar regras de segurança que especifiquem a origem, o destino e o tipo de tráfego que deve ser permitido dentro e fora da sub-rede.

  • Tabela de roteamento

    As tabelas de roteamento virtual contêm regras para rotear o tráfego de sub-redes para destinos fora de uma VCN, geralmente por meio de gateways.

  • Bastion host

    O bastion host é uma instância de computação que atua como um ponto de entrada seguro e controlado para a topologia de fora da nuvem. O bastion host geralmente é provisionado em uma zona desmilitarizada (DMZ). Ele permite proteger recursos confidenciais colocando-os nas redes privadas que não podem ser acessadas diretamente de fora da nuvem. A topologia tem um único ponto de entrada conhecido que você pode monitorar e auditar regularmente. Desse modo, você pode evitar expor os componentes mais confidenciais da topologia sem comprometer o acesso a eles.

  • Nó do Bastion (Head Node)

    O nó bastion (nó principal) usa um portal baseado na Web para estabelecer conexão com o nó principal e programar jobs de HPC. A solicitação de job vem por meio do Oracle Cloud Infrastructure FastConnect ou da IPSec VPN para o nó principal. O nó principal também envia o conjunto de dados do cliente para o armazenamento de arquivos e pode fazer algum pré-processamento nos dados. O nó principal pode provisionar clusters de nós HPC e excluir clusters HPC na conclusão do job.

    O nó head contém o modelo BERT, executa o scheduler e pode servir como bastion host para acesso ao cluster. Ele tem a interface de passagem de mensagem (MPI) e dimensiona automaticamente os nós bare metal por meio de APIs REST. O cluster HPC provisiona nós bare metal sob demanda. O treinamento e a inferência do modelo usam o armazenamento local SSD 4 x 6.4TB NVMe anexado ao nó bare metal. Se você estiver usando nossas soluções para iniciar a infraestrutura, a arquitetura implantará o nó principal e um nfs-share será instalado por padrão no armazenamento SSD NVMe em /mnt.

  • Nó do Cluster HPC

    O nó head provisiona e encerra esses nós de computação, que são clusters habilitados para RDMA. Eles processam os dados armazenados no armazenamento de arquivos e retornam os resultados ao armazenamento de arquivos.

  • Servidor NFS

    O nó principal promove um dos nós HPC como um servidor NFS.

  • Pool de instâncias

    Pool de instâncias é um grupo de instâncias dentro de uma região que é criado com base na mesma configuração e gerenciado como grupo.

    Os pools de instâncias permitem criar e gerenciar várias instâncias do serviço Compute na mesma região como grupo. Eles também permitem a integração com outros serviços, como o serviço Oracle Cloud Infrastructure Load Balancing e o serviço Oracle Cloud Infrastructure Identity and Access Management.

  • Sistema de BD Bare Metal

    Um sistema de BD bare metal (BM) é um único servidor bare metal executando o Oracle Linux 7, com armazenamento NVMe localmente conectado. Use uma forma de GPU Bare Metal para análise acelerada por hardware e outros cálculos.

    Ao iniciar um sistema de BD bare metal, você seleciona a forma e uma única edição do Oracle Database que se aplica a todos os bancos de dados desse sistema de BD. Cada sistema de banco de dados pode ter vários homes de banco de dados, que podem ser de versões distintas. Cada home de banco de dados pode ter apenas um banco de dados da mesma versão do home de banco de dados.

    A forma determina os recursos alocados para o sistema de banco de dados. As opções, como espelhamento de 2 ou 3 vias e o espaço alocado para arquivos de dados, afetam a quantidade de armazenamento utilizável no sistema.

  • Object Storage

    O armazenamento de objetos fornece acesso rápido a grandes quantidades de dados estruturados e não estruturados de qualquer tipo de conteúdo, incluindo backups de bancos de dados, dados de análise e conteúdo avançado, como imagens e vídeos. Você pode armazenar de forma segura e depois recuperar dados diretamente da internet ou de dentro da plataforma da nuvem. Você pode dimensionar o armazenamento sem prejudicar o desempenho ou a confiabilidade do serviço. Use o armazenamento padrão para armazenamento de acesso frequente que você precisa para acessar rapidamente, imediatamente e com frequência. Use o armazenamento de arquivos compactados para armazenamento "frio" que você mantém por longos períodos de tempo e raramente acessa.

Recomendações

Use as recomendações a seguir como ponto de partida. Seus requisitos podem ser diferentes da arquitetura descrita aqui.
  • VCN

    Ao criar uma VCN, determine o número de blocos CIDR necessários e o tamanho de cada bloco com base no número de recursos que você planeja anexar às sub-redes na VCN. Use blocos CIDR que estejam dentro do espaço de endereço IP privado padrão.

    Selecione blocos CIDR que não se sobreponham a qualquer outra rede (no Oracle Cloud Infrastructure, seu data center local ou outro provedor de nuvem) para a qual você pretende configurar conexões privadas.

    Depois de criar uma VCN, você poderá alterar, adicionar e remover seus blocos CIDR.

    Ao projetar as sub-redes, considere seus requisitos de fluxo de tráfego e segurança. Anexe todos os recursos dentro de uma camada ou função específica à mesma sub-rede, que pode servir como um limite de segurança.

    Usar sub-redes regionais.

  • Segurança

    Use o Oracle Cloud Guard para monitorar e manter a segurança de seus recursos no Oracle Cloud Infrastructure de forma proativa. O Cloud Guard usa receitas do detector que você pode definir para examinar seus recursos quanto a pontos fracos de segurança e monitorar operadores e usuários em busca de atividades arriscadas. Quando qualquer configuração incorreta ou atividade insegura é detectada, o Cloud Guard recomenda ações corretivas e ajuda a executar essas ações, com base nas receitas do respondedor que você pode definir.

    Para recursos que exigem segurança máxima, a Oracle recomenda o uso de zonas de segurança. Uma zona de segurança é um compartimento associado a uma receita definida pela Oracle de políticas de segurança baseadas nas melhores práticas. Por exemplo, os recursos em uma zona de segurança não devem ser acessíveis por meio da internet pública e devem ser criptografados com chaves gerenciadas pelo cliente. Quando você criar e atualizar recursos em uma zona de segurança, o Oracle Cloud Infrastructure validará as operações de acordo com as políticas na receita de zona de segurança e negará as operações que violarem qualquer uma das políticas.

  • Cloud Guard

    Clone e personalize as receitas padrão fornecidas pela Oracle para criar receitas personalizadas do detector e do respondedor. Essas receitas permitem especificar que tipo de violações de segurança geram uma advertência e quais ações podem ser executadas nelas. Por exemplo, talvez você queira detectar buckets do Object Storage que tenham visibilidade definida como pública.

    Aplique o Cloud Guard no nível da tenancy para cobrir o escopo mais amplo e reduzir a carga administrativa de manter várias configurações.

    Você também pode usar o recurso Lista Gerenciada para aplicar determinadas configurações aos detectores.

  • Zonas de Segurança

    Para recursos que exigem segurança máxima, a Oracle recomenda o uso de zonas de segurança. Uma zona de segurança é um compartimento associado a uma receita definida pela Oracle de políticas de segurança baseadas nas melhores práticas. Por exemplo, os recursos em uma zona de segurança não devem ser acessíveis por meio da internet pública e devem ser criptografados com chaves gerenciadas pelo cliente. Quando você criar e atualizar recursos em uma zona de segurança, o Oracle Cloud Infrastructure validará as operações de acordo com as políticas na receita de zona de segurança e negará as operações que violarem qualquer uma das políticas.

  • Grupos de segurança de rede (NSGs)

    Você pode usar NSGs para definir um conjunto de regras de entrada e saída que se aplicam a VNICs específicas. Recomendamos o uso de NSGs em vez de listas de segurança porque os NSGs permitem que você separe a arquitetura de sub-rede da VCN dos requisitos de segurança do seu aplicativo.

  • Nós HPC

    Implante as formas bare metal HPC para obter desempenho total.

    Use as formas BM.HPC4.8 com 8 GPUs Tensor Core A100 com memória de 40 GB, 2 AMD Core 32 em 2.9 GHz, 2048 GB DDR4, 8 rede de 200 Gbps, 4 armazenamento SSD NVMe local de 6.4 TB de até 1 bloco de PB por nó.

    Agrupe até 64 nós bare metal para fornecer 512 GPUs e 4096 CPUs.

Considerações

Considere os pontos a seguir ao implantar essa arquitetura de referência.

  • Desempenho

    Dependendo do tamanho da carga de trabalho, determine em quantos núcleos você deseja que o BERT seja executado. Essa decisão garante que a simulação seja concluída em tempo hábil.

    Para obter o melhor desempenho, escolha a forma de Computação correta com largura de banda apropriada.

  • Disponibilidade

    Considere usar uma opção de alta disponibilidade, com base em seus requisitos de implantação e região. As opções incluem o uso de vários domínios de disponibilidade em uma região e domínios de falha.

    • Monitoramento e Alertas

      Configure monitoramento e alertas sobre o uso de CPU e memória para seus nós, para que você possa ampliar ou reduzir a forma conforme necessário.

    • Custo

      Uma instância de GPU bare metal fornece a potência de CPU necessária para um custo mais alto. Avalie seus requisitos para escolher a forma de Computação apropriada.

      Você pode excluir o cluster quando não houver jobs em execução.

  • Sistemas de Arquivos do Cluster do Cluster

    Há vários cenários:

    1. Armazenamento SSD local NVMe que vem com a forma HPC.
    2. Os volumes em blocos de várias anexações oferecem até 2.680 MB/s de throughput de E/S ou 700k de IOPS.
    3. Você também pode instalar seu próprio sistema de arquivos paralelo no armazenamento SSD NVMe ou no armazenamento em blocos, dependendo dos requisitos de desempenho. A OCI fornece soluções baseadas em NFS (NFS-HA, FSS) ou Sistema de Arquivos Paralelos (weka.io, Spectrum Scale, BeeGFS, BeeOND, Lustre, Gluster, Quobyte) contínuas e permanentes, consulte Explorar Mais. Entre em contato com a equipe de armazenamento HPC para projetar as soluções mais ideais para suas necessidades.

Reconhecimentos

  • Autor: Wei Han