Vista geral dos clusters de HPC com capacidades de gestão de clusters melhoradas

Para criar a infraestrutura para aplicações fortemente acopladas que são dimensionadas em vários nós, pode criar um cluster de instâncias de máquinas virtuais (VMs). Este guia oferece uma vista geral de nível superior das principais considerações e passos para configurar um cluster de instâncias de máquinas virtuais (VM) para cargas de trabalho de computação de alto desempenho (HPC) usando a alocação densa de recursos.

Com o H4D, o Compute Engine adiciona suporte para a execução de cargas de trabalho de HPC massivas, tratando um cluster inteiro de instâncias de VMs como um único computador. A utilização do posicionamento das VMs com reconhecimento da topologia permite-lhe aceder a muitas instâncias num único superbloco de rede e minimiza a latência da rede. Também pode configurar o RDMA na nuvem nestas instâncias para maximizar o desempenho da comunicação entre nós, o que é fundamental para cargas de trabalho de HPC fortemente acopladas.

Crie estes clusters de VMs de HPC com H4D reservando blocos de capacidade em vez de recursos individuais. A utilização de blocos de capacidade para o seu cluster permite capacidades de gestão de clusters melhoradas.

Os clusters de HPC com instâncias H4D podem ser criados com ou sem capacidades de gestão de clusters melhoradas. Se não precisar de funcionalidades de capacidades de gestão de clusters melhoradas com o seu cluster de HPC H4D ou se quiser criar clusters de HPC com uma série de máquinas diferente de H4D, use as seguintes instruções para criar instâncias ou clusters de HPC:

Terminologia de clusters

Quando trabalha com blocos de capacidade, são usados os seguintes termos:

Blocos
Vários sub-blocos interligam-se com uma estrutura não bloqueadora, oferecendo uma interligação de elevada largura de banda. Qualquer CPU no bloco é acessível num máximo de dois saltos de rede. O sistema expõe metadados de blocos e sub-blocos aos orquestradores para permitir o posicionamento ideal de tarefas.
Clusters
Vários blocos interligam-se para formar um cluster que é dimensionado para milhares de CPUs para executar cargas de trabalho de HPC em grande escala. Cada cluster é globalmente único. A comunicação entre diferentes blocos adiciona apenas um salto adicional, mantendo um elevado desempenho e previsibilidade, mesmo a uma escala enorme. Os metadados ao nível do cluster também estão disponíveis para os orquestradores para um posicionamento de tarefas inteligente e em grande escala.
Cluster Toolkit
Uma ferramenta de código aberto oferecida pela Google que simplifica a configuração e a implementação de clusters que usam o Slurm ou o Google Kubernetes Engine. Use esquemas predefinidos para criar uma pasta de implementação baseada no esquema. Pode modificar os projetos ou a pasta de implementação para personalizar as implementações e a sua pilha de software. Em seguida, usa o Terraform ou o Packer para executar os comandos gerados pelo Cluster Toolkit para implementar o cluster.
Implementação densa
Um pedido de recursos que atribui os recursos da instância de computação fisicamente próximos uns dos outros para minimizar os saltos de rede e otimizar para a latência mais baixa.
Estrutura de rede
Uma estrutura de rede oferece uma ligação de largura de banda elevada e baixa latência em todos os blocos e Google Cloud serviços num cluster. O Jupiter é a arquitetura de rede do centro de dados da Google que tira partido da rede definida por software e dos comutadores de circuitos óticos para desenvolver a rede e otimizar o respetivo desempenho.
Nó ou anfitrião
Uma única máquina de servidor físico no centro de dados. Cada anfitrião tem as suas CPUs, memória e interfaces de rede de recursos de computação associados. O número e a configuração destes recursos de computação dependem da família de máquinas. As instâncias de VM são aprovisionadas sobre um anfitrião físico.
Orchestrator
Um orquestrador automatiza a gestão dos seus clusters. Com um orquestrador, não tem de gerir cada instância de VM no cluster. Um orquestrador, como o Slurm ou o Google Kubernetes Engine (GKE), processa tarefas como a colocação de trabalhos em fila, a atribuição de recursos, a escala automática (com o GKE) e outras tarefas de gestão de clusters diárias.
Sub-blocos
Estas são unidades fundamentais onde um grupo de anfitriões está fisicamente localizado num único rack. Um comutador Top-of-Rack (ToR) liga estes anfitriões, o que permite uma comunicação de salto único extremamente eficiente entre quaisquer duas CPUs no sub-bloco. O RDMA na nuvem facilita esta comunicação direta.

Vista geral do processo de criação de clusters com VMs H4D

Para criar clusters de HPC em blocos de capacidade reservados, tem de concluir os seguintes passos:

  1. Reveja os modelos de aprovisionamento disponíveis
  2. Escolha uma opção de consumo e obtenha capacidade
  3. Escolha uma opção de implementação e um orquestrador
  4. Escolha o sistema operativo ou a imagem do cluster
  5. Crie o seu cluster

Modelos de aprovisionamento para a criação de VMs e clusters

Quando cria instâncias de VMs, pode usar os modelos de aprovisionamento descritos em Modelos de aprovisionamento de instâncias do Compute Engine.

Para criar instâncias H4D fortemente associadas, tem de usar um dos seguintes modelos de aprovisionamento para obter os recursos necessários para criar instâncias de computação:

  • Associadas a reservas: pode reservar recursos a um preço com desconto para uma data e uma duração futuras. No início do período de reserva, pode usar os recursos reservados para criar VMs ou clusters. Tem acesso exclusivo aos recursos reservados durante o período de reserva.

  • Início flexível: pode pedir recursos com desconto durante um máximo de sete dias. O Compute Engine faz tentativas de melhor esforço para agendar o aprovisionamento dos recursos pedidos assim que estiverem disponíveis. Tem acesso exclusivo aos recursos obtidos durante o período pedido.

  • Spot: com base na disponibilidade, pode obter imediatamente recursos com grandes descontos. No entanto, o Compute Engine pode parar ou eliminar as instâncias de VM em qualquer altura para reclamar capacidade.

Modelo de aprovisionamento associado a reservas

O modelo de aprovisionamento associado a reservas associa as instâncias de VM criadas à capacidade que reservou anteriormente. Quando reserva capacidade, o Compute Engine cria uma reserva vazia. Em seguida, à hora de início da reserva, ocorre o seguinte:

  • O Compute Engine adiciona os recursos reservados à reserva. Tem acesso exclusivo à capacidade reservada até à hora de fim da reserva.

  • Google Cloud cobra-lhe a capacidade reservada até ao final do período de reserva, quer use ou não a capacidade.

Em seguida, pode usar os recursos reservados para criar VMs sem custos adicionais. Só paga pelos recursos que não estão incluídos na reserva, como discos ou endereços IP.

Pode reservar recursos para o número de VMs que quiser durante o tempo que quiser para uma data futura. Em seguida, pode usar os recursos reservados para criar e executar VMs até ao final do período de reserva. Se reservar recursos durante um ano ou mais, tem de comprar e anexar um compromisso baseado em recursos.

Para aprovisionar recursos através do modelo de aprovisionamento associado a reservas, consulte:

Pode usar o aprovisionamento associado a reservas com instâncias H4D especificando o modelo de aprovisionamento associado a reservas quando criar VMs individuais, um cluster de HPC ou um grupo de VMs.

Modelo de aprovisionamento de início flexível

Para executar cargas de trabalho de curta duração que requerem recursos densamente alocados, pode pedir recursos de computação durante um máximo de sete dias através do início flexível. Sempre que os recursos estão disponíveis, o Compute Engine cria o número de VMs pedido. Pode parar VMs de início flexível autónomas, mas não pode parar VMs de início flexível que um grupo de instâncias gerido (MIG) cria através de pedidos de redimensionamento. As VMs de início flexível existem até as eliminar ou até o Compute Engine as eliminar no final da respetiva duração de execução.

O início flexível é ideal para cargas de trabalho que podem ser iniciadas em qualquer altura. O modelo de aprovisionamento de início flexível aprovisiona recursos a partir de um conjunto de capacidade seguro, pelo que os recursos atribuídos são densamente atribuídos para minimizar a latência da rede.

Quando adiciona VMs de início flexível a um grupo de instâncias gerido (GIG) através de pedidos de redimensionamento, o GIG cria as VMs todas de uma vez. Esta abordagem ajuda a evitar cobranças desnecessárias por capacidade parcial que o Compute Engine pode fornecer enquanto aguarda a capacidade total necessária para iniciar a sua carga de trabalho.

Pode usar o aprovisionamento de início flexível com instâncias H4D, usando qualquer modelo de implementação disponível.

Modelo de aprovisionamento de espaços

Para executar cargas de trabalho com tolerância a falhas, pode obter recursos de computação imediatamente com base na disponibilidade. Recebe recursos ao preço mais baixo possível. No entanto, o Compute Engine pode parar ou eliminar as VMs de Spot criadas em qualquer altura para reclamar capacidade. Este processo é denominado preempção.

As VMs do Spot são ideais para cargas de trabalho em que as interrupções são aceitáveis, como:

  • Processamento em lote
  • Informática de elevado desempenho (HPC)
  • Análise de dados
  • Integração contínua e implementação contínua (CI/CD)
  • Codificação de multimédia

Pode usar VMs Spot com qualquer tipo de máquina, exceto os tipos de máquinas A4X, X4 e bare metal. A alocação densa depende da disponibilidade de recursos. Para ajudar a garantir uma atribuição mais precisa, pode aplicar uma política de posicionamento compacta às VMs de Spot.

Pode usar VMs do Spot com as seguintes opções de implementação densa:

Escolha uma opção de consumo e obtenha capacidade

As opções de consumo determinam como os recursos são obtidos para o seu cluster. Para criar um cluster que use capacidades de gestão de clusters melhoradas, tem de pedir blocos de capacidade para uma implementação densa.

A tabela seguinte resume as principais diferenças entre as opções de consumo para blocos de capacidade:

Opção de consumo Reservas futuras para blocos de capacidade Reservas futuras até 90 dias (no modo de calendário) Flex-start Espaço
Caraterísticas da carga de trabalho Cargas de trabalho distribuídas de grande escala e de execução prolongada que requerem recursos densamente atribuídos Cargas de trabalho de curta duração que requerem recursos densamente alocados Cargas de trabalho de curta duração que requerem recursos densamente alocados Cargas de trabalho com tolerância a falhas
Duração Qualquer hora Até 90 dias Até 7 dias Em qualquer altura, mas sujeito a preempção
Preemptível Não Não Não Sim
Garantia de capacidade Muito alto Muito alto Dentro do possível Dentro do possível
Quota Verifique se tem quota suficiente antes de criar instâncias. Não é cobrada nenhuma quota É cobrada a quota preemptível. É cobrada a quota preemptível.
Preços
Atribuição de recursos Denso Denso Denso Padrão (Política de posicionamento compacto opcional)
Modelo de aprovisionamento Associado a reserva Associado a reserva Flex-start Espaço
Método de criação

Para criar VMs e clusters de HPC, tem de fazer o seguinte:

  1. Reserve capacidade através da sua equipa de contas
  2. Na data e hora escolhidas, pode usar a capacidade reservada para criar clusters de HPC. Consulte a secção Escolha uma opção de implementação.

Para criar VMs e clusters de HPC, tem de fazer o seguinte:

  1. Crie um pedido de reserva futura no modo de calendário
  2. Na data e hora escolhidas, pode usar a capacidade reservada para criar clusters de HPC. Consulte a secção Escolha uma opção de implementação.

Para criar VMs, selecione uma das seguintes opções:

Quando a capacidade pedida fica disponível, o Compute Engine aprovisiona-a.

Pode criar VMs imediatamente. Consulte o artigo Escolha uma opção de implementação.

Escolha uma opção de implementação

As cargas de trabalho de computação de alto desempenho (HPC) agregam recursos de computação para obter um desempenho superior ao de uma única estação de trabalho, servidor ou computador. A HPC é usada para resolver problemas em investigação académica, ciência, design, simulação e inteligência empresarial.

Para clusters de HPC com capacidades de gestão de clusters melhoradas, escolha a série de máquinas H4D. Se planeia usar uma série de máquinas diferente, siga a documentação em Crie uma instância de VM pronta para HPC em vez de usar os métodos de implementação indicados nesta página.

Algumas das opções de implementação disponíveis incluem a instalação e a configuração de um orquestrador para uma gestão melhorada do cluster de HPC.

Para a opção mais adequada para criar as suas VMs ou clusters para o seu exemplo de utilização, escolha uma das seguintes opções:

Opção Exemplo de utilização
Cluster Toolkit

Quer usar software de código aberto que simplifique o processo de implementação de clusters do Slurm e do Google Kubernetes Engine (GKE). O Cluster Toolkit foi concebido para ser altamente personalizável e extensível. Para saber mais, consulte o seguinte:

GKE Quer a máxima flexibilidade na configuração do cluster do Google Kubernetes Engine com base nas necessidades da sua carga de trabalho. Para saber mais, consulte o artigo Execute cargas de trabalho de HPC com o H4D.
Use o Compute Engine

Quer ter controlo total da camada de infraestrutura para poder configurar o seu próprio orquestrador. Para saber mais, consulte o seguinte:

Escolha a imagem do sistema operativo

A imagem do sistema operativo (SO) que escolher depende do serviço que usar para implementar o cluster.

  • Para clusters no GKE: use uma imagem de nó do GKE, como o SO otimizado para contentores. Se usar o Cluster Toolkit para implementar o seu cluster do GKE, é usada uma imagem do SO otimizado para contentores por predefinição. Para mais informações sobre imagens de nós, consulte o artigo Imagens de nós na documentação do GKE.

  • Para clusters no Compute Engine: pode usar uma das seguintes imagens:

  • Para clusters Slurm: o Cluster Toolkit implementa o cluster Slurm com uma imagem de VM de HPC baseada no Rocky Linux 8 otimizada para cargas de trabalho de HPC fortemente acopladas.

Crie o seu cluster de HPC

Depois de rever o processo de criação de clusters e tomar decisões preliminares para a sua carga de trabalho, crie o cluster através de qualquer uma das opções de implementação.

Capacidades de gestão de clusters melhoradas para o seu cluster de HPC

Quando cria instâncias H4D com recursos densamente atribuídos através dos métodos de implementação mencionados em Escolha uma opção de implementação, pode usar capacidades de gestão de clusters de HPC melhoradas com as suas instâncias.

Para mais informações sobre estas capacidades, consulte o artigo Gestão melhorada de clusters de HPC com instâncias H4D.

O que se segue?