Criar cluster

Se você tiver interesse em clusters de treinamento da Gemini Enterprise Agent Platform, entre em contato com seu representante de vendas para ter acesso.

Nesta página, você encontra o método direto, orientado por API, para criar e gerenciar um cluster de treinamento. Você vai aprender a definir a configuração completa do cluster, incluindo nós de login, partições de GPU de alta performance, como a A4, e configurações do orquestrador Slurm, tudo em um arquivo JSON. Também está incluído como usar chamadas curl e API REST para implantar essa configuração, criar o cluster e gerenciar o ciclo de vida dele com operações GET, LIST, UPDATE e DELETE.

Definir a configuração do cluster

Crie um arquivo JSON para definir a configuração completa do cluster de treinamento.

Se a política da organização proibir endereços IP públicos em instâncias de computação, implante o cluster de treinamento com o parâmetro enable_public_ips: false e use o Cloud NAT para saída da Internet.

A primeira etapa no provisionamento de um cluster de treinamento é definir a configuração completa dele em um arquivo JSON. Esse arquivo atua como o blueprint do cluster, especificando tudo, desde o nome e as configurações de rede até o hardware para os nós de login e de trabalho.

A seção a seguir fornece vários arquivos de configuração JSON completos que servem como modelos práticos para uma variedade de casos de uso comuns. Consulte esta lista para encontrar o exemplo que mais se adequa às suas necessidades e use-o como ponto de partida.

Cada exemplo é seguido por uma descrição detalhada dos principais parâmetros usados nessa configuração específica.

Somente GPU com Filestore

Essa é a configuração padrão. Ele fornece uma instância do Filestore que serve como o diretório /home para o cluster, adequado para uso geral e armazenamento de dados do usuário.

O exemplo a seguir mostra o conteúdo de gpu-filestore.json. Essa especificação cria um cluster com uma partição de GPU. Você pode usar isso como um modelo e modificar valores como machineType ou nodeCount para atender às suas necessidades.

Para uma lista de parâmetros, consulte Referência de parâmetros.

 {
  "display_name": "DISPLAY_NAME",
  "network": {
    "network": "projects/PROJECT_ID/global/networks/NETWORK",
    "subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK"
  },
  "node_pools": [
    {
      "id": "login",
      "machine_spec": {
        "machine_type": "n2-standard-8"
      },
      "scaling_spec": {
        "min_node_count": MIN_NODE_COUNT,
        "max_node_count": MAX_NODE_COUNT
      },
      "enable_public_ips": true,
      "zone": "ZONE",
      "boot_disk": {
        "boot_disk_type": "pd-standard",
        "boot_disk_size_gb": 200
      },
      "labels": { "example-key": "example-value" }
    },
    {
      "id": "a4",
      "machine_spec": {
        "machine_type": "a4-highgpu-8g",
        "accelerator_type": "NVIDIA_B200",
        "accelerator_count": 8,
        "reservation_affinity": {
          "reservationAffinityType": "RESERVATION_AFFINITY_TYPE",
          "key": "compute.googleapis.com/reservation-name",
          "values": [
            "projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME"
          ]
        }
      },
      "provisioning_model": "RESERVATION",
      "scaling_spec": {
        "min_node_count": MIN_NODE_COUNT,
        "max_node_count": MAX_NODE_COUNT
      },
      "enable_public_ips": true,
      "zone": "ZONE",
      "boot_disk": {
        "boot_disk_type": "hyperdisk-balanced",
        "boot_disk_size_gb": 200
      },
      "labels": { "example-key": "example-value" }
    }
  ],
  "orchestrator_spec": {
    "slurm_spec": {
      "home_directory_storage": "projects/PROJECT_ID/locations/ZONE/instances/FILESTORE",
      "partitions": [
        {
          "id": "a4",
          "node_pool_ids": [
            "a4"
          ]
        }
      ],
      "login_node_pool_id": "login"
    }
  }
}

GPU com Filestore e Managed Lustre

Essa configuração avançada inclui a instância padrão do Filestore e um sistema de arquivos Lustre de alto desempenho. Escolha essa opção se os jobs de treinamento exigirem acesso de alta capacidade de processamento a grandes conjuntos de dados.

Para uma lista de parâmetros, consulte Referência de parâmetros.

{
  "display_name": "DISPLAY_NAME",
  "network": {
    "network": "projects/PROJECT_ID/global/networks/NETWORK",
    "subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK"
  },
  "node_pools": [
    {
      "id": "login",
      "machine_spec": {
        "machine_type": "n2-standard-8"
      },
      "scaling_spec": {
        "min_node_count": MIN_NODE_COUNT,
        "max_node_count": MAX_NODE_COUNT
      },
      "enable_public_ips": true,
      "zone": "ZONE",
      "boot_disk": {
        "boot_disk_type": "pd-standard",
        "boot_disk_size_gb": 200
      },
      "lustres": [
        "projects/PROJECT_ID/locations/ZONE/instances/LUSTRE"
      ]
    },
    {
      "id": "a4",
      "machine_spec": {
        "machine_type": "a4-highgpu-8g",
        "accelerator_type": "NVIDIA_B200",
        "accelerator_count": 8,
        "reservation_affinity": {
          "reservationAffinityType": "RESERVATION_AFFINITY_TYPE",
          "key": "compute.googleapis.com/reservation-name",
          "values": [
            "projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME"
          ]
        }
      },
      "provisioning_model": "RESERVATION",
      "scaling_spec": {
        "min_node_count": MIN_NODE_COUNT,
        "max_node_count": MAX_NODE_COUNT
      },
      "enable_public_ips": true,
      "zone": "ZONE",
      "boot_disk": {
        "boot_disk_type": "hyperdisk-balanced",
        "boot_disk_size_gb": 200
      },
      "lustres": [
        "projects/PROJECT_ID/locations/ZONE/instances/LUSTRE"
      ]
    }
  ],
  "orchestrator_spec": {
    "slurm_spec": {
      "home_directory_storage": "projects/PROJECT_ID/locations/ZONE/instances/FILESTORE",
      "partitions": [
        {
          "id": "a4",
          "node_pool_ids": [
            "a4"
          ]
        }
      ],
      "login_node_pool_id": "login"
    }
  }
}
  

GPU com script de inicialização

Este exemplo mostra como adicionar um script personalizado a um pool de nós. Esse script é executado em todos os nós desse pool na inicialização. Para configurar isso, adicione os campos relevantes à definição do pool de nós, além das configurações gerais. Para uma lista de parâmetros e suas descrições, consulte Referência de parâmetros.

{
  "display_name": "DISPLAY_NAME",
  "network": {
    "network": "projects/PROJECT_ID/global/networks/NETWORK",
    "subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK"
  },
  "node_pools": [
    {
      "id": "login",
      "machine_spec": {
        "machine_type": "n2-standard-8"
      },
      "scaling_spec": {
        "min_node_count": MIN_NODE_COUNT,
        "max_node_count": MAX_NODE_COUNT
      },
      "enable_public_ips": true,
      "zone": "ZONE",
      "boot_disk": {
        "boot_disk_type": "pd-standard",
        "boot_disk_size_gb": 200
      },
      "startup_script" : "#Example script\nsudo mkdir -p /data\necho 'Script Finished'\n"
    },
    {
      "id": "a4",
      "machine_spec": {
        "machine_type": "a4-highgpu-8g",
        "accelerator_type": "NVIDIA_B200",
        "accelerator_count": 8,
        "reservation_affinity": {
          "reservationAffinityType": "RESERVATION_AFFINITY_TYPE",
          "key": "compute.googleapis.com/reservation-name",
          "values": [
            "projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME"
          ]
        }
      },
      "provisioning_model": "PROVISIONING_MODEL",
      "scaling_spec": {
        "min_node_count": MIN_NODE_COUNT,
        "max_node_count": MAX_NODE_COUNT
      },
      "enable_public_ips": true,
      "zone": "ZONE",
      "boot_disk": {
        "boot_disk_type": "hyperdisk-balanced",
        "boot_disk_size_gb": 200
      },
      "startup_script" : "#Example script\nsudo mkdir -p /data\necho 'Script Finished'\n"
    }
  ],
  "orchestrator_spec": {
    "slurm_spec": {
      "home_directory_storage": "projects/PROJECT_ID/locations/ZONE/instances/FILESTORE",
      "partitions": [
        {
          "id": "a4",
          "node_pool_ids": [
            "a4"
          ]
        }
      ],
      "login_node_pool_id": "login"
    }
  }
}

Cluster somente de CPU

Para provisionar um ambiente de cluster de treinamento, primeiro defina a configuração completa dele em um arquivo JSON. Esse arquivo funciona como o projeto do cluster, especificando tudo, desde o nome e as configurações de rede até o hardware para os nós de login e de trabalho.

Para uma lista de parâmetros, consulte Referência de parâmetros.

{
  "display_name": "DISPLAY_NAME",
  "network": {
    "network": "projects/PROJECT_ID/global/networks/NETWORK",
    "subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK"
  },
  "node_pools": [
    {
      "id": "cpu",
      "machine_spec": {
        "machine_type": "n2-standard-8"
      },
      "scaling_spec": {
        "min_node_count": MIN_NODE_COUNT,
        "max_node_count": MAX_NODE_COUNT
      },
      "zone": "ZONE",
      "enable_public_ips": true,
      "boot_disk": {
        "boot_disk_type": "pd-standard",
        "boot_disk_size_gb": 120
      }
    },
    {
      "id": "login",
      "machine_spec": {
        "machine_type": "n2-standard-8"
      },
      "scaling_spec": {
        "min_node_count": MIN_NODE_COUNT,
        "max_node_count": MAX_NODE_COUNT
      },
      "zone": "ZONE",
      "enable_public_ips": true,
      "boot_disk": {
        "boot_disk_type": "pd-standard",
        "boot_disk_size_gb": 120
      }
    }
  ],
  "orchestrator_spec": {
    "slurm_spec": {
      "home_directory_storage": "projects/PROJECT_ID/locations/ZONE/instances/FILESTORE",
      "partitions": [
        {
          "id": "cpu",
          "node_pool_ids": [
            "cpu"
          ]
        }
      ],
      "login_node_pool_id": "login"
    }
  }
}

Configuração avançada do Slurm

Este exemplo oferece controle refinado sobre o Slurm definindo parâmetros slurm.conf por nome e executando scripts de prólogo e epílogo para configuração e limpeza automatizadas de jobs. Os parâmetros podem ser definidos em todo o cluster, para uma única partição ou para um único pool de nós.

Há três mapas de configuração, um para cada registro slurm.conf:

  • config na especificação do Slurm para configurações em todo o cluster
  • config em uma partição
  • Entrada node_sets para um pool de nós

Para conferir as regras sobre nomes e valores de parâmetros e quais parâmetros são recusados, consulte Mapas de configuração do Slurm.

Não é necessário resolver isso no momento da criação. Todos os três mapas podem ser alterados em um cluster em execução, sem reiniciar nós ou interromper jobs na fila. Consulte Atualizar as configurações de configuração do Slurm.

{
  "display_name": "DISPLAY_NAME",
  "network": {
    "network": "projects/PROJECT_ID/global/networks/NETWORK",
    "subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK"
  },
  "node_pools": [
    {
      "id": "cpu",
      "machine_spec": {
        "machine_type": "n2-standard-8"
      },
      "scaling_spec": {
        "min_node_count": MIN_NODE_COUNT,
        "max_node_count": MAX_NODE_COUNT
      },
      "zone": "ZONE",
      "enable_public_ips": true,
      "boot_disk": {
        "boot_disk_type": "pd-standard",
        "boot_disk_size_gb": 120
      }
    },
    {
      "id": "login",
      "machine_spec": {
        "machine_type": "n2-standard-8"
      },
      "scaling_spec": {
        "min_node_count": MIN_NODE_COUNT,
        "max_node_count": MAX_NODE_COUNT
      },
      "zone": "ZONE",
      "enable_public_ips": true,
      "boot_disk": {
        "boot_disk_type": "pd-standard",
        "boot_disk_size_gb": 120
      }
    }
  ],
  "orchestrator_spec": {
    "slurm_spec": {
      "home_directory_storage": "projects/PROJECT_ID/locations/ZONE/instances/FILESTORE",
      "config": {
        "PriorityType": "priority/multifactor",
        "PriorityWeightAge": "1000",
        "PriorityWeightFairshare": "10000",
        "PreemptType": "preempt/partition_prio",
        "PreemptMode": "SUSPEND,GANG",
        "SchedulerParameters": "bf_continue,bf_window=1440,bf_resolution=600",
        "AccountingStorageEnforce": "limits,qos"
      },
      "prolog_bash_scripts": [
        "#!/bin/bash\necho 'Prolog script running'"
      ],
      "epilog_bash_scripts": [
        "#!/bin/bash\necho 'Epilog script running'"
      ],
      "partitions": [
        {
          "id": "cpu",
          "node_pool_ids": [
            "cpu"
          ],
          "config": {
            "MaxTime": "4-00:00:00",
            "DefMemPerCPU": "4096",
            "PriorityTier": "20"
          }
        }
      ],
      "node_sets": [
        {
          "node_pool_id": "cpu",
          "config": {
            "Weight": "10",
            "Features": "cpu,spot"
          }
        }
      ],
      "login_node_pool_id": "login"
    }
  }
}

O mapa com escopo de cluster define a prioridade multifatorial, a substituição de prioridade de partição e SchedulerParameters, cujo termo bf_continue mostra a forma composta: um termo simples ativa uma flag, e os termos são separados por vírgulas. O mapa de partição limita o tempo de execução do job e a memória padrão apenas para a partição cpu, além de rotular as entradas node_sets dos nós do pool para que os jobs possam selecioná-los com --constraint.

Depois que o cluster for definido em um arquivo JSON, use os seguintes comandos da API REST para implantar e gerenciar o cluster. Os exemplos usam um alias gcurl, que é um atalho autenticado conveniente para interagir com os endpoints da API. Esses comandos abrangem todo o ciclo de vida, desde a implantação inicial do cluster até a atualização, a obtenção do status, a listagem de todos os clusters e, por fim, a exclusão.

Autenticação

alias gcurl='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"'

Criar um arquivo JSON

Crie um arquivo JSON (por exemplo, @cpu-cluster.json) para especificar a configuração do cluster de treinamento de modelo.

Implantar o cluster

Depois de criar o arquivo de configuração JSON, você pode implantar o cluster usando a API REST.

Defina as variáveis de ambiente

Antes de executar o comando, defina as seguintes variáveis de ambiente. Isso torna o comando da API mais limpo e fácil de gerenciar.

  • PROJECT_ID: o ID do seu projeto Google Cloud em que o cluster será criado.
  • REGION: a Google Cloud região do cluster e dos recursos dele.
  • ZONE: a Google Cloud zona em que os recursos do cluster serão provisionados.
  • CLUSTER_ID: um identificador exclusivo para seu cluster de treinamento, que também é usado como prefixo para nomear recursos relacionados.

Execute o comando de criação

Agora, execute o seguinte comando gcurl. Ele usa o arquivo JSON (neste exemplo, cpu-cluster.json) como o corpo da solicitação e as variáveis de ambiente que você acabou de definir para construir o endpoint de API e os parâmetros de consulta.

  gcurl -X POST -d @cpu-cluster.json https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters?model_development_cluster_id=CLUSTER_ID
    

Quando a implantação começar, um ID de operação será gerado. Copie esse ID. Você vai precisar dele para validar o cluster na próxima etapa.

  gcurl -X POST -d @cpu-cluster.json https://us-central1-aiplatform.googleapis.com/v1beta1/projects/managedtraining-project/locations/us-central1/modelDevelopmentClusters?model_development_cluster_id=training
  {
      "name": "projects/1059558423163/locations/us-central1/operations/2995239222190800896",
      "metadata": {
      "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.CreateModelDevelopmentClusterOperationMetadata",
      "genericMetadata": {
        "createTime": "2025-10-24T14:16:59.233332Z",
        "updateTime": "2025-10-24T14:16:59.233332Z"
      },
      "progressMessage": "Create Model Development Cluster request received, provisioning..."
  }
    

Validar a implantação do cluster

Acompanhe o progresso da implantação usando o ID da operação fornecido quando você implantou o cluster. Por exemplo, 2995239222190800896 é o ID da operação no exemplo citado anteriormente.

    gcurl https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID
    

Em resumo

Ao enviar a configuração do cluster com o comando POST gcurl, você inicia o provisionamento do cluster, que é uma operação assíncrona de longa duração. A API retorna imediatamente uma resposta que contém um Operation ID. É fundamental salvar esse ID, já que ele será usado nas etapas a seguir para monitorar o progresso da implantação, verificar se o cluster foi criado com sucesso e gerenciar o ciclo de vida dele.

Referência de parâmetros

A lista a seguir descreve todos os parâmetros usados nos exemplos de configuração. Os parâmetros são organizados em grupos lógicos com base no recurso que configuram.

Configurações gerais e de rede

  • DISPLAY_NAME: um nome exclusivo para o cluster de treinamento. A string só pode conter caracteres alfanuméricos minúsculos, precisa começar com uma letra e tem um limite de 10 caracteres.
  • PROJECT_ID: o ID do projeto do Google Cloud .
  • REGION: a Google Cloud região em que o cluster e os recursos dele vão estar localizados.
  • NETWORK: a rede de nuvem privada virtual a ser usada para os recursos do cluster.
  • ZONE: a Google Cloud zona do cluster e dos recursos dele.
  • SUBNETWORK: a sub-rede a ser usada para os recursos do cluster.

Configuração do pool de nós

Os parâmetros a seguir são usados para definir os pools de nós para nós de login e de trabalho.

Configurações comuns do pool de nós

  • ID: um identificador exclusivo do pool de nós no cluster (por exemplo, "login", "a4", "cpu").
  • PROVISIONING_MODEL: o modelo de provisionamento do nó de trabalho (por exemplo, ON_DEMAND, SPOT, RESERVATION, FLEX_START).
  • MACHINE_TYPE: o tipo de máquina para o nó de trabalho (por exemplo, a3-highgpu-8g, a3-megagpu-8g, a3-ultragpu-8g, a4-highgpu-8g). Para conferir a lista completa de tipos de máquina compatíveis, consulte Recursos de computação.
  • MIN_NODE_COUNT: o MIN_NODE_COUNT precisa ser igual ao MAX_NODE_COUNT.
  • MAX_NODE_COUNT: para o pool de nós de login, o MAX_NODE_COUNT precisa ser igual ao MIN_NODE_COUNT.
  • ENABLE_PUBLIC_IPS: um booleano (true ou false) para determinar se o nó de login tem um endereço IP público.
  • BOOT_DISK_TYPE: o tipo de disco de inicialização do nó de login (por exemplo, pd-standard, pd-ssd).
  • BOOT_DISK_SIZE_GB: o tamanho do disco de inicialização em GB para o nó de login.
  • LABELS: um conjunto de pares de chave/valor para rotular o pool de nós.
  • NODE_IMAGE (corresponde a node_image em um objeto node_pools): a imagem de VM de que os nós do pool de nós fazem a inicialização, como um caminho de recurso de imagem completa ou família de imagens (por exemplo, projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY ). Se você omitir esse campo, o pool de nós usará a imagem padrão atual para o tipo de máquina, que avança com o tempo. Defina para manter o pool de nós em uma imagem específica. Mudar a imagem de um pool de nós recria os nós dele.

Configurações do armazenamento adicional

  • FILESTORES (corresponde a filestores em um objeto node_pools): uma lista de instâncias preexistentes do Filestore a serem ativadas no pool de nós para acesso compartilhado a arquivos.
  • LUSTRES (corresponde a lustres em um objeto node_pools): uma lista de instâncias do Lustre preexistentes para montagem no pool de nós para acesso a arquivos de alto desempenho.

Configurações específicas do worker

  • ACCELERATOR_TYPE: o acelerador de GPU correspondente a ser anexado aos nós de trabalho. Os valores aceitos são:
    • NVIDIA_H100_80GB
    • NVIDIA_H100_MEGA_80GB
    • NVIDIA_H200_141GB
    • NVIDIA_B200
  • ACCELERATOR_COUNT: o número de aceleradores a serem anexados a cada nó de trabalho.
  • RESERVATION_AFFINITY_TYPE (corresponde a machine_spec.reservation_affinity.reservationAffinityType): a afinidade de reserva do pool de nós. Esse parâmetro precisa ser SPECIFIC_RESERVATION, que é o único valor compatível. Quando SPECIFIC_RESERVATION é usado, é necessário especificar a reserva em machine_spec.reservation_affinity.values.
  • RESERVATION_NAME: o nome da reserva a ser usada para o pool de nós. Isso é usado no nome completo do recurso de reserva fornecido em machine_spec.reservation_affinity.values, por exemplo projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME. É necessário fazer uma reserva quando RESERVATION_AFFINITY_TYPE é SPECIFIC_RESERVATION.

Configuração do orquestrador e do armazenamento

Esses campos são definidos no bloco orchestrator_spec.slurm_spec do arquivo JSON.

Configurações principais do Slurm e do armazenamento

  • HOME_DIRECTORY_STORAGE (corresponde a home_directory_storage): o nome completo do recurso da instância do Filestore preexistente a ser montada como o diretório /home.
  • LOGIN_NODE_POOL_ID (corresponde a login_node_pool_id): o ID do pool de nós que deve ser usado para nós de login.
  • partitions: uma lista de objetos de partição, em que cada objeto exige um id e uma lista de node_pool_ids.
  • default_partition_id (opcional): a id da partição usada para executar jobs do Slurm quando nenhuma partição é especificada explicitamente (por exemplo, ao executar sbatch sem a flag --partition). Se não for definido, a primeira partição na lista de partições se tornará a padrão. Portanto, reordenar a lista mudará a partição padrão.

Configurações avançadas do Slurm

  • prolog_bash_scripts: uma lista de strings, em que cada string contém todo o conteúdo de um script Bash a ser executado antes do início de um job.
  • epilog_bash_scripts: uma lista de strings, em que cada string contém o conteúdo completo de um script Bash a ser executado após a conclusão de um job.
  • config, partitions[].config e node_sets: parâmetros do Slurm definidos por nome. Consulte Mapas de configuração do Slurm.
  • scheduling e accounting: substituídos. Esses dois objetos expõem um conjunto fixo de parâmetros de prioridade, substituição e faturamento, cada um deles pode ser definido por nome no mapa config no escopo do cluster (priority_type como "PriorityType", preempt_mode como "PreemptMode" e assim por diante). Elas ainda funcionam para clusters que as usam, mas os novos clusters precisam usar config, que oferece suporte a muito mais parâmetros slurm.conf do que esse subconjunto.

Mapas de configuração do Slurm

Os parâmetros do Slurm são definidos por nome, em três mapas, um para cada registro slurm.conf:

  • config: configurações no escopo do cluster, escritas como linhas globais Key=Value.
  • partitions[].config: configurações de uma partição, gravadas como pares extras na linha PartitionName= dessa partição.
  • node_sets: uma lista de objetos, cada um com um node_pool_id e um mapa config. As configurações são gravadas como pares extras na linha NodeName= para os nós desse pool de nós. No máximo uma entrada por pool de nós, e o pool precisa ser de computação do cluster, não de login.

Nos três casos, as chaves são nomes de parâmetros do Slurm, conforme documentado pela SchedMD, sem correspondência de maiúsculas e minúsculas e ignorando sublinhados. Portanto, DefMemPerCPU, defmempercpu e def_mem_per_cpu significam o mesmo parâmetro. Os valores são gravados da mesma forma que slurm.conf, incluindo listas separadas por vírgulas, como "PreemptMode": "SUSPEND,GANG", e valores compostos, como "SchedulerParameters": "bf_window=1440,bf_resolution=600".

Cada mapa oferece suporte a um subconjunto dos parâmetros slurm.conf válidos para o registro dele, não a todos. Se você precisar de um parâmetro que não é compatível, entre em contato com seu contato dos clusters de treinamento da Gemini Enterprise Agent Platform.

Um parâmetro que não é compatível com o escopo em que você o definiu ou um valor que não é válido para esse parâmetro é rejeitado quando você faz a solicitação, e o erro nomeia o parâmetro. Nada é descartado silenciosamente. Alguns parâmetros são recusados por um motivo específico:

  • O serviço gerencia a verificação de integridade do nó e o reenvio de tarefas. Portanto, não é possível definir HealthCheckProgram, HealthCheckInterval, HealthCheckNodeState e RequeueExit.
  • Prolog e Epilog são definidos por prolog_bash_scripts e epilog_bash_scripts.
  • Os parâmetros slurmdbd.conf, como StorageHost e PurgeJobAfter, não são configuráveis. O banco de dados de faturamento é gerenciado pelo serviço.
  • No escopo da partição, Default é recusado. A partição padrão é uma escolha em todo o cluster, definida com default_partition_id.

Configuração do ambiente de execução

Esses campos são definidos no bloco runtime_spec do arquivo JSON.

  • service_account: a conta de serviço padrão usada pelo cluster ao executar cargas de trabalho nele. Se não for especificada, a conta de serviço padrão do Compute Engine será usada. Não é possível atualizar esse campo após a criação do cluster.

A seguir

Use seu cluster de treinamento persistente ativo para executar as cargas de trabalho de machine learning.