Configurar a Pilha de Clusters de HPC no Oracle Cloud Marketplace

A pilha do Cluster de HPC usa o Terraform para implantar recursos do Oracle Cloud Infrastructure. A pilha criará nós de GPU, armazenamento, rede padrão e rede de cluster de alto desempenho e um nó bastion/head para acesso e gerenciamento do cluster.

Implantar o Cluster de GPU

Sua conta do Oracle Cloud deve estar em um grupo com permissão para implantar e gerenciar esses recursos. Consulte Instruções de Uso do Cluster de HPC para obter mais detalhes sobre requisitos de política.

Você pode implantar a pilha em um compartimento existente, mas poderá ficar mais limpo se criar um compartimento especificamente para o cluster.

Observação:

Embora não haja custo para usar a pilha do Marketplace para provisionar um ambiente, você será cobrado pelos recursos provisionados quando a pilha for iniciada.
  1. Crie um compartimento para sua tenancy e região e verifique se as políticas estão disponíveis.
    1. Faça log-in na Console do OCI como o usuário do Oracle Cloud para a tenancy e a região em que você deseja trabalhar.
    2. Crie um compartimento para os recursos do cluster.
    3. Certifique-se de que as políticas do OCI estejam em vigor para permitir que você crie o cluster.
      Isso pode exigir assistência do administrador de segurança ou de rede. Veja a seguir um exemplo de Política: "permita que o grupo myGroup gerencie todos os recursos no compartimento compartment".
  2. Use a pilha do Cluster de HPC para implantar o cluster de GPU.
    1. Navegue até o Marketplace. Em seguida, clique em Todos os Aplicativos.
    2. Na caixa procurar listagens, informe Cluster HPC.

      Observação:

      Se a pilha do Cluster de HPC não estiver disponível no OCI Marketplace em sua tenancy, você poderá clonar a pilha de GitHub (clone git https://github.com/oracle-quickstart/oci-hpc.git) e importá-la para o OCI Resource Manager. Isso fornece a mesma funcionalidade, mas exige que você tenha acesso a uma "imagem de SO personalizada" adequada para OS nós de GPU.
    3. Clique em Cluster HPC.
    4. Selecione uma versão.
      Usamos o padrão v2.10.4.1.
    5. Selecione um compartimento no qual o cluster será criado
    6. Clique em Iniciar Pilha.

Configurar o Cluster

Quando a pilha for iniciada, preencha as páginas Informações e Configuração da Pilha para começar a configurar o cluster.

  1. Preencha a página Informações da Pilha:
    1. Digite um nome para o seu cluster.
    2. (Opcional) Adicione uma breve descrição.
    3. Clique em Próximo.

    É exibida a página Variáveis de Configuração.

  2. Configurar o cluster.
    A página Variáveis de Configuração oferece muitas oportunidades para personalizar o cluster de acordo com suas necessidades. Nós não cobrimos cada opção em detalhes. Em vez disso, fornecemos orientação onde quaisquer configurações não padrão são necessárias para criar um cluster de GPU que suporte o software de cluster NVIDIA.
    1. Em Chave SSH Pública, adicione uma chave pública que permitirá fazer log-in no cluster.
    2. Marque a caixa de seleção usar nome de cluster personalizado e informe um nome de host base.
      É usado como prefixo para nomes de host de nó bastion e log-in.
  3. Use Opções de código de cabeçalho para personalizar o bastion.
    Esta instância serve como o nó de login principal, o controlador Slurm, e também pode ser usado para algumas compilações e outras atividades em suporte ao cluster. Aqui você pode ajustar a capacidade de CPU, memória e volume de inicialização de acordo com seus requisitos
  4. Use Opções de nó de computação para selecionar o tipo e a quantidade de nós de trabalho no cluster. Você pode implantar esses nós com uma imagem do sistema operacional no Marketplace ou fornecer uma imagem personalizada com seu build de sistema operacional preferido.
    • Domínio de Disponibilidade: Se você estiver trabalhando em uma região com vários domínios de disponibilidade (ADs), selecione o AD com a melhor disponibilidade de recursos de GPU.
    • Selecione Usar rede de clusters.
    • Forma dos Nós de Computação: Selecione a forma de GPU bare metal que você está usando neste cluster. Por exemplo, BM.GPU4.8.
    • Tamanho inicial do cluster: Informe o número de nós bare metal a serem provisionados.
    • Para criar com uma imagem de sistema operacional pré-configurada do Marketplace, selecione usar imagem do marketplace. Em seguida, em Versão da imagem, selecione uma das imagens de GPU para um SO pré-configurado com drivers para GPUs e rede RDMA.
    • Usar imagem do marketplace: Se você estiver criando o cluster com uma imagem personalizada, desmarque essa caixa de seleção e selecione Usar imagem não suportada e, em OCID da Imagem, forneça o OCID da imagem personalizada que você já fez upload para a tenancy.
    • Usar agente de computação: essa opção pode ser necessária para imagens do Marketplace.
  5. (Opcional) O Nó de Log-in Adicional fornece um segundo host para que os usuários do cluster interajam com o cluster. A forma, o ocpus e a memória podem ser personalizados para atender às suas necessidades.
  6. Opções de armazenamento avançadas oferecem várias maneiras de pré-configurar o armazenamento compartilhado que estará disponível no cluster. Clique em Mostrar opções de armazenamento avançadas para expandir as seleções.
    • O diretório bastion home é NFS compartilhado em todos os nós do cluster. Isso faz parte do volume de inicialização do Headnode, que você pode personalizar nas opções Headnode.
    • Para obter mais armazenamento compartilhado, selecione Volume em blocos adicional para espaço compartilhado e informe a capacidade. Este volume é anexado ao bastion e compartilhado no cluster como /nfs/cluster.
    • O espaço de rascunho NFS compartilhado do NVME ou do volume em Blocos compartilha a capacidade NVMe do primeiro nó de computação no cluster como /nfs/scratch. Isso fornece um armazenamento de desempenho mais alto do que os volumes headnode, mas pode fornecer menos capacidade e disponibilidade.
    • Montar Localdisk criará um sistema de arquivos de NVMe em cada nó de computação e o montará localmente nesse nó.
    • Um Volume Lógico usa LVM para criar um volume maior de vários dispositivos NVMe.
    • A Redundância aumenta a confiabilidade (mas reduz pela metade a capacidade utilizável) do armazenamento NVMe espelhando dispositivos.
  7. Use Opções de rede para selecionar a VCN.
    • Usar VCN Existente: Desmarcado por padrão. Se desmarcada, uma nova VCN será provisionada. Marque essa caixa de seleção para provisionar o cluster em uma VCN e sub-redes existentes. Isso pode facilitar a integração desse cluster e de outros recursos da tenancy.
  8. Use Software para selecionar o software a ser instalado.
    • Selecione Instalar SLURM para fornecer programação e gerenciamento de job SLURM.
    • (Opcional) Selecione Instalar Ferramentas de Monitoramento de Cluster HPC para fornecer mais informações sobre a atividade e a utilização do cluster.
    • Selecione Instalar Enroot NVIDIA para cargas de trabalho de GPU conteinerizadas. Isso prepara o ambiente para executar cargas de trabalho no NVIDIA PyTorch, na Plataforma NVIDIA NeMo e em outros contêineres.

      Observação:

      É importante que você selecione esta opção.
    • Selecione Instalar plug-in NVIDIA Pyxis para Slurm.
    • Selecione Ativar PAM para limitar o acesso de log-in aos nós de computação.
  9. Depurar: Certifique-se de que Configurar sistema esteja selecionado (este é o padrão).
  10. Clique em Próximo para verificar as definições de configuração.

    Em revisão, Configuração do Cluster mostra todas as suas seleções não padrão. Você pode retornar a página Anterior para fazer alterações e revisitar todas as definições.

  11. Selecione Executar aplicação e clique em Criar para iniciar a pilha na sua tenancy e criar o cluster.
    A pilha é criada no OCI Resource Manager e iniciada com suas especificações para começar o provisionamento imediatamente.

    Este processo levará alguns minutos. O provisionamento dos nós leva apenas alguns minutos por nó de computação, mas a instalação de software adicional aos nós aumenta o tempo de criação. Você pode monitorar o andamento do build na Console do OCI. Vá para Resource Manager e, em seguida, Jobs para revisar o log de jobs mais recente da atividade e possíveis erros. Quando o status do Job do Resource Manager relata Bem-sucedido, a implantação é concluída.

    Se o status final não for bem-sucedido, revise o Log de job para obter detalhes. Para problemas relacionados a instâncias de computação e redes de clusters, mais informações podem estar disponíveis em Solicitações de serviço de rede de clusters. Para navegar até a página, vá para Compute, Redes de cluster, Detalhes da rede de cluster e Solicitações de serviço de rede de cluster. Selecione a Solicitação de serviço mais recente para exibir os detalhes.

  12. Para builds bem-sucedidos, o endereço IP do Bastion é reportado no fim do log do Job. Se você tiver configurado um Nó de log-in adicional, o endereço IP do nó de log-in também será mostrado. Por exemplo,
    Apply complete! Resources: 23 added, 0 changed, 0 destroyed.
    
    Outputs:
    RDMA_NIC_metrics_url = "https://objectstorage.us-gov-phoenix-1.oraclecloud.com
    backup = "No Slurm Backup Defined"
    bastion = 139.87.214.247
    login = "No Login Node Defined"
    private_ips = 172.16.6.4 172.16.7.109"
  13. Anote o endereço IP público do Bastion, pois ele é necessário para fazer log-in no cluster.
    Você também pode localizar os endereços IP na Console do OCI em Compute e, em seguida, em Instâncias.