Crea un MIG con sezioni TPU single-host

Questo documento descrive come creare un gruppo di istanze gestite (MIG) che forma sezioni TPU a singolo host. Una sezione TPU a singolo host esegue il mapping a un'istanza di macchina virtuale (VM) TPU.

Puoi anche creare una sezione TPU a singolo host come istanza TPU autonoma. Per saperne di più, consulta Creare un'istanza VM TPU.

Prima di iniziare

  • Esamina le limitazioni per la creazione di MIG con istanze TPU.
  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione verifica la tua identità per l'accesso ad API e servizi Google Cloud . Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:
    1. Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il comando seguente:

      gcloud init

      Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

    2. Imposta una regione e una zona predefinite.

Prerequisiti

Prima di procedere alla creazione di una sezione TPU a singolo host, devi:

  1. Scegliere la versione TPU: seleziona la versione TPU adatta al tuo carico di lavoro. Per un elenco delle versioni TPU per tipo di carico di lavoro, consulta Versioni TPU consigliate per tipo di carico di lavoro.

  2. Convalidare la disponibilità della TPU nella località preferita: le TPU sono disponibili in regioni specifiche Google Cloud . Per utilizzare una versione TPU, assicurati che sia disponibile nella regione che preferisci. Per un elenco delle località TPU, consulta Disponibilità delle TPU.

  3. Assicurati che il tuo progetto abbia una quota TPU sufficiente: se crei una sezione TPU a singolo host con VM on demand o Spot, devi avere una quota TPU sufficiente disponibile nella regione che vuoi utilizzare. La creazione di una sezione TPU a singolo host che utilizza una prenotazione TPU non richiede alcuna quota TPU, poiché la quota viene utilizzata al momento della creazione della prenotazione. Per un elenco dei nomi delle quote TPU, consulta Quota TPU e, per istruzioni su come visualizzare la quota, consulta Visualizzare e gestire le quote

  4. Scegliere un'opzione di consumo TPU: seleziona un'opzione di consumo che si adatti meglio al tuo carico di lavoro, alla sua durata e alle tue esigenze di costo. Per un elenco della disponibilità delle opzioni di consumo per versione TPU, consulta Opzioni di consumo TPU.

  5. Scegliere una topologia: seleziona una topologia supportata per la versione TPU selezionata. Per un elenco delle topologie disponibili per ogni versione TPU, consulta Topologia TPU.

Creare un MIG con più sezioni TPU a singolo host

Per creare più VM TPU indipendenti in un MIG:

  1. Crea un template di istanza.
  2. Crea il MIG.

Crea un template di istanza

Le configurazioni dei template di istanza variano in base all'opzione di consumo utilizzata: on demand, Spot, prenotazioni o Avvio flessibile. Per saperne di più sulle opzioni di consumo, consulta Informazioni sui modelli di provisioning delle VM .

Crea un template di istanza per una VM TPU on demand

Il seguente comando crea un template di istanza che utilizza l'opzione di consumo on demand:

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --maintenance-policy=TERMINATE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT

Sostituisci i seguenti segnaposto:

  • INSTANCE_TEMPLATE_NAME: il nome del template di istanza.
  • MACHINE_TYPE: il tipo di macchina per la VM TPU (ad esempio, ct6e-standard-8t).
  • IMAGE_FAMILY: la famiglia di immagini del sistema operativo per la VM TPU. Se vuoi installare una versione specifica del sistema operativo, utilizza il --image flag. Per saperne di più sulle immagini del sistema operativo, consulta Immagini del sistema operativo.
  • IMAGE_PROJECT: il progetto che contiene l'immagine del sistema operativo. Per le immagini TPU, questo è ubuntu-os-accelerator-images.

Crea un template di istanza per una VM TPU Spot

Il seguente comando crea un template di istanza che utilizza l'opzione di consumo Spot:

 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

Sostituisci i seguenti segnaposto:

  • INSTANCE_TEMPLATE_NAME: il nome del template di istanza.
  • MACHINE_TYPE: il tipo di macchina per la VM TPU (ad esempio, ct6e-standard-8t).
  • IMAGE_FAMILY: la famiglia di immagini del sistema operativo per la VM TPU. Se vuoi installare una versione specifica del sistema operativo, utilizza il --image flag. Per saperne di più sulle immagini del sistema operativo, consulta Immagini del sistema operativo.
  • IMAGE_PROJECT: il progetto che contiene l'immagine del sistema operativo. Per le immagini TPU, questo è ubuntu-os-accelerator-images.

Crea un template di istanza per una VM TPU con prenotazione

Il seguente comando crea un template di istanza che utilizza l'opzione di consumo con prenotazione:

 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

Sostituisci i seguenti segnaposto:

  • INSTANCE_TEMPLATE_NAME: il nome del template di istanza.
  • MACHINE_TYPE: il tipo di macchina per la VM TPU (ad esempio, ct6e-standard-8t).
  • RESERVATION_NAME: il nome di una prenotazione specifica che vuoi utilizzare.
  • IMAGE_FAMILY: la famiglia di immagini del sistema operativo per la VM TPU. Se vuoi installare una versione specifica del sistema operativo, utilizza il --image flag. Per saperne di più sulle immagini del sistema operativo, consulta Immagini del sistema operativo.
  • IMAGE_PROJECT: il progetto che contiene l'immagine del sistema operativo. Per le immagini TPU, questo è ubuntu-os-accelerator-images.

Crea un template di istanza per una VM TPU con avvio flessibile

Il seguente comando crea un template di istanza che utilizza l'opzione di consumo Avvio flessibile:

 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

Sostituisci i seguenti segnaposto:

  • INSTANCE_TEMPLATE_NAME: il nome del template di istanza.
  • MACHINE_TYPE: il tipo di macchina per la VM TPU (ad esempio, ct6e-standard-8t).
  • DURATION: la durata massima di esecuzione della VM TPU (ad esempio, 1h).
  • IMAGE_FAMILY: la famiglia di immagini del sistema operativo per la VM TPU. Se vuoi installare una versione specifica del sistema operativo, utilizza il --image flag. Per saperne di più sulle immagini del sistema operativo, consulta Immagini del sistema operativo.
  • IMAGE_PROJECT: il progetto che contiene l'immagine del sistema operativo. Per le immagini TPU, questo è ubuntu-os-accelerator-images.

Crea un MIG

Crea un MIG a livello di zona o di regione utilizzando il gcloud compute instance-groups managed create comando come segue:

  • Per creare un MIG a livello di zona contenente una sezione TPU a singolo host, utilizza il seguente comando:

    gcloud compute instance-groups managed create MIG_NAME \
        --size=MIG_SIZE \
        --template=INSTANCE_TEMPLATE_URL \
        --zone=ZONE
    
  • Per creare un MIG a livello di regione contenente una sezione TPU a singolo host, utilizza il seguente comando:

    gcloud compute instance-groups managed create MIG_NAME \
        --size=MIG_SIZE \
        --template=INSTANCE_TEMPLATE_URL \
        --region=REGION \
        --target-distribution-shape=ANY_SINGLE_ZONE \
        --instance-redistribution-type=none
    

Sostituisci i seguenti segnaposto:

  • MIG_NAME: il nome del MIG.
  • MIG_SIZE: il numero di VM nel MIG.
  • INSTANCE_TEMPLATE_URL: l'URL del template di istanza che vuoi utilizzare per creare istanze nel MIG. L'URL può contenere l' ID o il nome del template di istanza. Specifica uno dei seguenti valori:
    • Per un template di istanza regionale: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • Per un template di istanza globale: INSTANCE_TEMPLATE_ID
  • ZONE: la zona in cui vuoi eseguire il provisioning del MIG.
  • REGION: la regione in cui vuoi eseguire il provisioning del MIG.

Crea VM con nomi personalizzati in un MIG

Puoi creare VM in un MIG specificando nomi personalizzati per ogni VM. Questa opzione è utile per il debug e per garantire che le istanze vengano create in un ordine specifico.

gcloud

Crea una VM con un nome personalizzato utilizzando il create-instance comando e specifica il --instance flag. Per creare più VM, ripeti il comando per ogni VM. In alternativa, utilizza il metodo dell'API REST per specificare più VM in un'unica richiesta.

  • Per un MIG a livello di zona, utilizza il seguente comando:

    gcloud compute instance-groups managed create-instance MIG_NAME \
        --zone=ZONE \
        --instance=INSTANCE_NAME
    
  • Per un MIG a livello di regione, utilizza il seguente comando:

    gcloud compute instance-groups managed create-instance MIG_NAME \
        --region=REGION \
        --instance=INSTANCE_NAME
    

Sostituisci i seguenti segnaposto:

  • MIG_NAME: il nome del MIG.
  • ZONE: la zona del MIG.
  • REGION: la regione del MIG.
  • INSTANCE_NAME: il nome della VM da aggiungere al MIG specificato.

REST

Crea VM con nomi personalizzati utilizzando uno dei seguenti metodi dell'API REST:

  • Per un MIG a livello di zona, utilizza instanceGroupManagers.createInstances.

     POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/createInstances
     {
       "instances": [
         {
           "name": "INSTANCE_NAME_1"
         },
         {
           "name": "INSTANCE_NAME_2"
         },
         ...
       ]
     }
     

  • Per un MIG a livello di regione, utilizza regionInstanceGroupManagers.createInstances.

     POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/createInstances
     {
       "instances": [
         {
           "name": "INSTANCE_NAME_1"
         },
         {
           "name": "INSTANCE_NAME_2"
         },
         ...
       ]
     }
     

Sostituisci i seguenti segnaposto:

  • PROJECT_ID: l'ID del progetto in cui esiste il MIG.
  • ZONE: la zona del MIG.
  • REGION: la regione del MIG.
  • INSTANCE_NAME_1,2,..: i nomi delle VM da aggiungere al MIG specificato.

Passaggi successivi