Criar um MIG com uma fração de Cloud TPU de vários hosts
Este documento descreve como criar um grupo gerenciado de instâncias (MIG) com uma fração de TPU de vários hosts.
Pré-requisitos
Atenda aos seguintes requisitos:
- Crie um projeto para suas TPUs, conforme descrito em Configurar um projeto para TPUs.
- Determine os requisitos de TPU, conforme descrito em Planejar seus recursos.
Criar um MIG com frações de TPU de vários hosts
- Criar um modelo de instância.
- Criar uma política de carga de trabalho.
- Criar o MIG.
Criar um modelo de instância
O comando para criar um modelo de instância depende da opção de consumo usada: sob demanda, Spot, vinculada à reserva ou início flexível. Para mais informações sobre as opções de consumo, consulte Planejar seus recursos de TPU.
Criar um modelo de instância para uma VM de TPU sob demanda
O comando a seguir cria um modelo de instância usando a opção de consumo sob demanda:
gcloud
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--maintenance-policy=TERMINATE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"name": "INSTANCE_TEMPLATE_NAME",
"properties": {
"machineType": "MACHINE_TYPE",
"scheduling": {
"onHostMaintenance": "TERMINATE"
},
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
}
}
],
"networkInterfaces": [
{
"network": "global/networks/default"
}
]
}
}' \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates"
Substitua os seguintes marcadores de posição:
PROJECT_ID: o ID doprojeto. Google CloudINSTANCE_TEMPLATE_NAME: o nome do modelo de instância.MACHINE_TYPE: o tipo de máquina da VM de TPU, por exemplo,ct6e-standard-8t.IMAGE_FAMILY: a família de imagens do SO para a VM de TPU. Se você quiser instalar uma versão específica do SO, use o--imageflag. Para mais informações sobre imagens do SO, consulte Imagens do SO.IMAGE_PROJECT: o projeto que contém a imagem do SO. Para imagens de TPU, esse éubuntu-os-accelerator-images.
Criar um modelo de instância para uma VM Spot de TPU
O comando a seguir cria um modelo de instância usando a opção de consumo Spot:
gcloud
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--maintenance-policy=TERMINATE \
--instance-termination-action=STOP \
--provisioning-model=SPOT \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"name": "INSTANCE_TEMPLATE_NAME",
"properties": {
"machineType": "MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
}
}
],
"scheduling": {
"onHostMaintenance": "TERMINATE",
"provisioningModel": "SPOT",
"instanceTerminationAction": "STOP"
},
"networkInterfaces": [
{
"network": "global/networks/default"
}
]
}
}' \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates"
Substitua os seguintes marcadores de posição:
PROJECT_ID: o ID doprojeto. Google CloudINSTANCE_TEMPLATE_NAME: o nome do modelo de instância.MACHINE_TYPE: o tipo de máquina da VM de TPU, por exemplo,ct6e-standard-8t.IMAGE_FAMILY: a família de imagens do SO para a VM de TPU. Se você quiser instalar uma versão específica do SO, use o--imageflag. Para mais informações sobre imagens do SO, consulte Imagens do SO.IMAGE_PROJECT: o projeto que contém a imagem do SO. Para imagens de TPU, esse éubuntu-os-accelerator-images.
Criar um modelo de instância para uma VM de TPU vinculada à reserva
O comando a seguir cria um modelo de instância usando a opção de consumo vinculada à reserva:
gcloud
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--maintenance-policy=TERMINATE \
--instance-termination-action=DELETE \
--reservation-affinity=specific \
--provisioning-model=reservation-bound \
--reservation=RESERVATION_NAME \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"name": "INSTANCE_TEMPLATE_NAME",
"properties": {
"machineType": "MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
}
}
],
"scheduling": {
"onHostMaintenance": "TERMINATE",
"provisioningModel": "RESERVATION_BOUND",
"instanceTerminationAction": "DELETE"
},
"reservationAffinity": {
"consumeReservationType": "SPECIFIC_RESERVATION",
"key": "compute.googleapis.com/reservation-name",
"values": [
"RESERVATION_NAME"
]
},
"networkInterfaces": [
{
"network": "global/networks/default"
}
]
}
}' \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates"
Substitua os seguintes marcadores de posição:
PROJECT_ID: o ID doprojeto. Google CloudINSTANCE_TEMPLATE_NAME: o nome do modelo de instância.MACHINE_TYPE: o tipo de máquina da VM de TPU, por exemplo,ct6e-standard-8t.RESERVATION_NAME: o nome da reserva específica a ser consumida.IMAGE_FAMILY: a família de imagens do SO para a VM de TPU. Se você quiser instalar uma versão específica do SO, use o--imageflag. Para mais informações sobre imagens do SO, consulte Imagens do SO.IMAGE_PROJECT: o projeto que contém a imagem do SO. Para imagens de TPU, esse éubuntu-os-accelerator-images.
Criar um modelo de instância para uma VM de TPU de início flexível
O comando a seguir cria um modelo de instância usando a opção de consumo de início flexível:
gcloud
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--maintenance-policy=TERMINATE \
--instance-termination-action=DELETE \
--provisioning-model=FLEX_START \
--max-run-duration=DURATION \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"name": "INSTANCE_TEMPLATE_NAME",
"properties": {
"machineType": "MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
}
}
],
"scheduling": {
"onHostMaintenance": "TERMINATE",
"provisioningModel": "FLEX_START",
"instanceTerminationAction": "DELETE",
"maxRunDuration": {
"seconds": "DURATION"
}
},
"networkInterfaces": [
{
"network": "global/networks/default"
}
]
}
}' \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates"
Substitua os seguintes marcadores de posição:
PROJECT_ID: o ID doprojeto. Google CloudINSTANCE_TEMPLATE_NAME: o nome do modelo de instância.MACHINE_TYPE: o tipo de máquina da VM de TPU, por exemplo,ct6e-standard-8t.