Associer un stockage de blocs durable à une VM TPU

Une VM TPU inclut un disque de démarrage de 10 Go. Certains scénarios nécessitent un espace de stockage supplémentaire pour l'entraînement ou le prétraitement. Ajoutez un volume Google Cloud Hyperdisk ou Persistent Disk (PD) pour augmenter la capacité du disque local.

Pour bénéficier des meilleures performances et de fonctionnalités avancées, utilisez Hyperdisk si cette option est disponible pour votre version de TPU. Sinon, utilisez Persistent Disk. Pour en savoir plus sur les options de stockage de blocs dans Compute Engine, consultez Choisir un type de disque.

Compatibilité des TPU avec Hyperdisk et Persistent Disk

Le tableau suivant indique les types de disques compatibles pour chaque version de TPU :

Version du TPU Types de disques compatibles Nombre maximal de disques par VM
(disque de démarrage inclus)
TPU7x Hyperdisk Balanced
Hyperdisk ML
128
v6e Hyperdisk Balanced
Hyperdisk ML
32
v5p Hyperdisk ML
Disque persistant avec équilibrage
128

Modes d'accès

Configurez un disque associé à une seule VM TPU (également appelée tranche de TPU à hôte unique), par exemple ct6e-standard-4t, en mode lecture/écriture (rw) ou lecture seule (ro).

Lorsque vous associez un disque à une tranche de TPU multi-hôte, il est associé à chaque VM de la tranche. Pour empêcher plusieurs VM TPU d'écrire simultanément sur un disque, vous devez configurer tous les disques associés à une tranche de TPU multi-hôte en lecture seule (ro). Les disques en lecture seule sont utiles pour stocker un ensemble de données à traiter sur une tranche de TPU.

Prérequis

Avant d'utiliser ces procédures, configurez un Google Cloud compte et un projet. Pour en savoir plus, consultez la section Configurer l'environnement Cloud TPU.

Créer un disque

Pour créer un disque, exécutez la commande suivante :

gcloud compute disks create DISK_NAME \
    --size DISK_SIZE  \
    --zone ZONE \
    --type DISK_TYPE

Remplacez les espaces réservés suivants :

  • DISK_NAME : nom du nouveau disque.
  • DISK_SIZE : taille du nouveau disque. La valeur doit être un nombre entier suivi d'une unité de taille (GB pour des gibioctets, TB pour des tébioctets). Si vous ne spécifiez pas d'unité de taille, le système suppose qu'il s'agit de GB.
  • ZONE : nom de la zone dans laquelle créer le nouveau disque. Il doit s'agir de la même zone que celle dans laquelle vous créez le TPU.
  • DISK_TYPE : le type de disque. Utilisez l'une des valeurs suivantes : hyperdisk-balanced, hyperdisk-ml ou pd-balanced.

Pour Hyperdisk, vous pouvez éventuellement spécifier le flag --access-mode avec l'une des valeurs suivantes :

  • READ_WRITE_SINGLE : accès en lecture/écriture à partir d'une instance (par défaut).
  • READ_ONLY_MANY : (Hyperdisk ML uniquement) accès simultané en lecture seule à partir de plusieurs instances.

Pour en savoir plus sur la création de disques, consultez Créer un volume Hyperdisk et Créer un volume Persistent Disk.

Associer un disque

Associez un volume de disque à votre VM TPU ou à votre tranche lorsque vous la créez, ou après sa création.

Associer un disque lorsque vous créez une VM TPU

Lorsque vous créez une VM TPU ou un modèle d'instance, utilisez le flag --disk pour associer un volume de disque.

Associer un disque lors de la création d'une seule VM TPU

L'exemple suivant montre comment associer un volume de disque lorsque vous créez une seule VM TPU :

  gcloud compute instances create TPU_NAME \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --zone=ZONE \
    --maintenance-policy=TERMINATE \
    --disk=name=DISK_NAME,device-name=DEVICE_NAME,mode=MODE

Remplacez les espaces réservés suivants :

  • TPU_NAME : nom de votre VM TPU.
  • MACHINE_TYPE : type de machine de la VM TPU (par exemple, ct6e-standard-8t).
  • IMAGE_FAMILY : famille d'images de l'OS pour la VM TPU. Si vous souhaitez installer une version spécifique de l'OS, utilisez le --image flag. Pour en savoir plus sur les images d'OS, consultez Images d'OS.
  • IMAGE_PROJECT : projet contenant l'image de l'OS. Pour les images TPU, il s'agit de ubuntu-os-accelerator-images.
  • ZONE : zone de la VM TPU.
  • DEVICE_NAME : nom de l'appareil à utiliser pour le disque. Ce nom identifie le disque dans l'OS.
  • MODE : mode du disque. Il peut s'agir de rw (lecture/écriture) ou ro (lecture seule). Pour plus d'informations, consultez Modes d'accès.

Associer un disque lors de la création d'une tranche de TPU multi-hôte

Lorsque vous créez une tranche de TPU multi-hôte, vous devez spécifier mode=read-only (Hyperdisk ML et disque persistant avec équilibrage uniquement). Pour plus d'informations, consultez Modes d'accès.

Pour associer un disque à une tranche de TPU multi-hôte, créez un modèle d'instance avec le disque associé, créez une règle de charge de travail, puis créez un MIG :

  1. Créer un modèle d'instance

    gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME
    --machine-type=MACHINE_TYPE \
    --maintenance-policy=TERMINATE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --disk=name=DISK_NAME,mode=MODE
    

    Remplacez les espaces réservés suivants :

  2. Créer une règle de charge de travail

    gcloud compute resource-policies create workload WORKLOAD_POLICY_NAME \
    --type=high-throughput \
    --accelerator-topology=TOPOLOGY
    

    Remplacez les espaces réservés suivants :

    • WORKLOAD_POLICY_NAME : nom de votre règle de charge de travail.
    • TOPOLOGY : topologie des VM TPU, par exemple, 4x4x8. Pour en savoir plus sur la topologie de chaque version de TPU, consultez Architecture du système.
  3. Créer un MIG :

    gcloud compute instance-groups managed create MIG_NAME \
        --project=PROJECT_ID \
        --zone=ZONE \
        --template=TEMPLATE_NAME \
        --size=SIZE \
        --workload-policy=WORKLOAD_POLICY_NAME
    

    Remplacez les espaces réservés suivants :

    • MIG_NAME : nom de votre MIG.
    • PROJECT_ID : ID du projet.
    • ZONE : zone dans laquelle se trouve le Cloud TPU.
    • TEMPLATE_NAME : nom de votre modèle d'instance.
    • SIZE : nombre de VM pour votre tranche de TPU multi-hôte.
    • WORKLOAD_POLICY_NAME : nom de votre règle de charge de travail.

Associer un disque lors de la création d'un MIG avec plusieurs tranches de TPU à hôte unique

Si vous créez une tranche de TPU à hôte unique, vous pouvez spécifier mode=read-only (Hyperdisk ML et disque persistant avec équilibrage uniquement) ou mode=read-write.

Pour associer un stockage durable à un MIG avec des tranches de TPU à hôte unique indépendantes, configurez le modèle d'instance afin de créer un disque pour chaque instance à l'aide du flag --create-disk :

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --maintenance-policy=TERMINATE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --disk=name=DISK_NAME,mode=MODE

Remplacez les espaces réservés suivants :

  • INSTANCE_TEMPLATE_NAME : nom de votre modèle d'instance.
  • MACHINE_TYPE : type de machine de la VM TPU (par exemple, ct6e-standard-8t).
  • IMAGE_FAMILY : famille d'images de l'OS pour la VM TPU.
  • IMAGE_PROJECT : projet contenant l'image de l'OS (ubuntu-os-accelerator-images).
  • DISK_NAME : nom de base du disque à créer et à associer à chaque VM TPU.
  • DISK_SIZE : taille du disque en Go.
  • DISK_TYPE : type de disque (par exemple, pd-balanced, hyperdisk-balanced).

Ensuite, créez le MIG comme indiqué dans la section précédente, en définissant --size sur le nombre de VM TPU de votre choix.

Associer un disque à une VM TPU existante

Pour associer un disque à une VM TPU existante, utilisez la gcloud compute instances attach-disk commande.

gcloud compute instances attach-disk VM_NAME \
    --zone=ZONE \
    --disk=DISK_NAME \
    --mode=MODE

Remplacez les espaces réservés suivants :

Si votre VM s'arrête pour une raison quelconque, vous devrez peut-être installer le disque après avoir redémarré la VM. Pour savoir comment activer l'installation automatique de votre disque au redémarrage de la VM, consultez Configurer l'installation automatique au redémarrage du système.

Pour en savoir plus sur la suppression automatique d'un disque, consultez Modifier le paramètre de suppression automatique d'un disque.

Formater et installer un disque

Si vous associez un nouveau disque vide à votre VM TPU, vous devez le formater et l'installer avant de pouvoir l'utiliser. Si vous associez un disque qui contient déjà des données, vous devez l'installer avant de pouvoir l'utiliser.

Pour en savoir plus sur le formatage et l'installation d'un disque non amorçable, consultez Formater et installer un disque non amorçable sur une VM Linux.

Dissocier un disque

Pour dissocier un disque de votre VM TPU, exécutez la commande suivante :

gcloud compute instances detach-disk VM_NAME \
    --zone=ZONE \
    --disk=DISK_NAME

Remplacez les espaces réservés suivants :

Pour en savoir plus sur la dissociation d'un disque, consultez Dissocier un disque.

Effectuer un nettoyage

Supprimez vos ressources Cloud TPU et Compute Engine lorsque vous n'en avez plus besoin.

  1. Déconnectez-vous du Cloud TPU, si vous ne l'avez pas déjà fait :

    exit
    
  2. Supprimez votre VM TPU :

    gcloud compute instances delete VM_NAME \
        --zone=ZONE
    

    Remplacez les espaces réservés suivants :

    Si vous avez créé une tranche de TPU multi-hôte à l'aide d'un MIG, supprimez plutôt le groupe d'instances :

    gcloud compute instance-groups managed delete MIG_NAME \
        --zone=ZONE
    

    Remplacez les espaces réservés suivants :

  3. Vérifiez la suppression du Cloud TPU. La suppression peut prendre plusieurs minutes.

    gcloud compute instances list --zone=ZONE
    
  4. Vérifiez que le disque est automatiquement supprimé lorsque la VM TPU est supprimée. Pour ce faire, répertoriez tous les disques de la zone dans laquelle vous avez créé le disque :

    gcloud compute disks list --filter="zone:( ZONE )"
    

    Remplacez les espaces réservés suivants :

    Si le disque n'est pas supprimé lorsque la VM TPU est supprimée, exécutez la commande suivante pour le supprimer :

    gcloud compute disks delete DISK_NAME \
        --zone=ZONE
    

    Remplacez les espaces réservés suivants :