Opzioni di archiviazione per i dati Cloud TPU

Questo documento descrive le opzioni di archiviazione dei dati che possono essere utilizzate durante l'addestramento dei modelli su Cloud TPU.

Introduzione

Cloud TPU richiede l'archiviazione dei dati per:

  • Download e pre-elaborazione del set di dati
  • Elaborazione della pipeline di input dell'host
  • Input di addestramento del modello
  • Output dell'addestramento del modello

Le opzioni di archiviazione per i dati delle applicazioni Cloud TPU e i set di dati di addestramento sono:

Per saperne di più sulla gestione dello spazio di archiviazione, consulta le seguenti pagine:

Archiviazione a blocchi durevole

L'archiviazione a blocchi durevole, nota anche come dischi o volumi, è destinata ai dati che vuoi conservare dopo aver arrestato, sospeso o eliminato la VM TPU. L'archiviazione a blocchi durevole è ancora disponibile anche se la VM TPU si arresta in modo anomalo o smette di funzionare. Puoi utilizzare il disco di avvio della VM TPU o collegare ulteriore spazio di archiviazione a blocchi alla TPU.

Potresti voler collegare un disco aggiuntivo nei seguenti scenari:

  • Le dimensioni del set di dati di addestramento superano le dimensioni del disco di avvio della TPU.
  • Hai dati di sola lettura e vuoi un accesso in lettura più rapido utilizzando un volume Hyperdisk ML.

Puoi collegare due tipi di archiviazione a blocchi durevole a una Cloud TPU: Google Cloud Hyperdisk e Persistent Disk. Persistent Disk non è supportato per le serie di macchine più recenti, inclusa Cloud TPU v6e. Google consiglia di utilizzare Google Cloud Hyperdisk per ottenere massime prestazioni e funzionalità avanzate.

Disco di avvio della VM TPU

Per impostazione predefinita, ogni VM Cloud TPU ha un singolo disco di avvio da 100 GiB che contiene il sistema operativo. Il disco di avvio può essere utilizzato anche per l'archiviazione temporanea di set di dati scaricati per la pre-elaborazione e i dati di input e output del modello, a condizione che la quantità totale non superi lo spazio disponibile sul disco di avvio.

Non puoi ridimensionare il disco di avvio su una Cloud TPU. Se la tua applicazione richiede spazio di archiviazione aggiuntivo oltre a quello predefinito del disco di avvio, puoi aggiungere uno o più dischi durevoli all'istanza VM TPU. Per maggiori informazioni, consulta Collega l'archiviazione a blocchi durevole a una VM TPU.

Best practice per la personalizzazione dei dischi di avvio delle VM Cloud TPU

Le VM Cloud TPU offrono la flessibilità di personalizzare l'ambiente del sistema operativo guest utilizzando script di avvio o creando immagini personalizzate. Tuttavia, il recupero del disco di avvio per le VM Cloud TPU è limitato. Non puoi scollegare o creare snapshot del disco di avvio per la riparazione offline, quindi presta attenzione quando apporti modifiche che influiscono sul processo di avvio. Se segui queste best practice, puoi ridurre il rischio di errori di avvio quando personalizzi gli ambienti VM Cloud TPU.

Principi chiave:

  • Riduci al minimo le modifiche al disco di avvio: se possibile, installa le applicazioni e archivia i dati sui volumi Persistent Disk o Hyperdisk anziché modificare pesantemente il disco di avvio.

  • Utilizza gli UUID per il montaggio: quando aggiungi voci a /etc/fstab, utilizza sempre gli UUID per identificare dischi e partizioni (UUID=...) anziché i nomi dei dispositivi come /dev/sdb1, perché i nomi dei dispositivi generati automaticamente non sono garantiti per essere stabili durante i riavvii.

Consigli:

  • Gestione degli errori: implementa controlli degli errori efficaci e modalità di errore controllato negli script. Registra messaggi dettagliati nella console seriale e in Cloud Logging per facilitare il debug.

  • Dipendenze critiche: fai molta attenzione quando modifichi i file essenziali per l'avvio, come /etc/fstab, le configurazioni di rete o le impostazioni del bootloader. Un errore di sintassi o una voce errata può rendere la VM non avviabile.

  • Dischi secondari: se lo script si basa su dischi secondari, assicurati che gestisca i casi in cui il disco potrebbe non essere presente o impiega più tempo del previsto per essere collegato. Evita di rendere il processo di avvio eccessivamente dipendente dai montaggi del disco secondario, a meno che non sia assolutamente necessario.

    Voce di esempio di "/etc/fstab":

    • Consigliato: UUID=a1b2c3d4-e5f6-7890-1234-567890abcdef /mnt/mydata ext4 defaults,nofail 0 2
    • Non consigliato: /dev/sdb1 /mnt/mydata ext4 defaults 0 2

    L'utilizzo di nofail può impedire l'arresto del sistema se il disco non viene trovato, ma assicurati che la tua applicazione possa gestire l'indisponibilità del punto di montaggio.

  • Gestione dei pacchetti: fai attenzione quando aggiungi repository di terze parti. Assicurati che siano attendibili e compatibili con l'immagine del sistema operativo di base. Comprendi le dipendenze di tutti i pacchetti che installi e il loro potenziale impatto sulle librerie di sistema.

  • Spazio su disco: monitora l'utilizzo del disco di avvio. Il logging esteso o le installazioni di software di grandi dimensioni possono riempire il disco di avvio, impedendo l'avvio della VM.

  • Logging: configura le applicazioni e gli script per registrare in modo dettagliato nella console seriale, poiché questo è lo strumento principale per diagnosticare i problemi di avvio sulle VM Cloud TPU.

Spazio di archiviazione collegato

Sia Hyperdisk che Persistent Disk sono dispositivi di archiviazione di rete durevoli a cui le istanze VM possono accedere come se si trattasse di dischi fisici su un computer o un server. Entrambi i tipi di dischi vengono creati indipendentemente dalle istanze di macchine virtuali (VM), in modo da poter conservare i dati anche dopo aver eliminato le istanze VM.

I vantaggi dell'utilizzo di Hyperdisk rispetto a Persistent Disk includono prestazioni personalizzabili e limiti di IOPS e throughput più elevati. Per saperne di più su Hyperdisk e Persistent Disk, consulta Scegliere un tipo di disco.

Per ulteriori informazioni sull'utilizzo dell'archiviazione a blocchi durevole con le VM TPU, consulta Collegare l'archiviazione a blocchi durevole a una VM TPU.

Backup dei dischi

Può essere difficile recuperare i dati dal disco di avvio se la VM TPU si blocca in uno stato "sconosciuto" o recuperare i dati eliminati. Assicurati di eseguire il backup dei dati utilizzando un'altra opzione di archiviazione, ad esempio i bucket Cloud Storage.

Se memorizzi i dati su un disco collegato, puoi utilizzare gli snapshot del disco, che eseguono il backup incrementale dei dati su un disco. Gli snapshot del disco non sono supportati per il disco di avvio della TPU. Per saperne di più, consulta la pagina Informazioni sugli snapshot dei dischi.

Bucket Cloud Storage

I bucket Cloud Storage sono l'opzione di archiviazione più flessibile, scalabile e durevole per le tue istanze VM. Se il tuo job di addestramento non richiede la latenza inferiore dell'archiviazione a blocchi durevole, puoi archiviare il tuo set di dati in un bucket Cloud Storage.

Il rendimento dei bucket Cloud Storage dipende dalla classe di archiviazione selezionata e dalla posizione del bucket rispetto all'istanza.

La creazione del bucket Cloud Storage nella stessa zona della VM TPU offre prestazioni paragonabili all'archiviazione a blocchi durevole, ma con una latenza maggiore e caratteristiche di throughput meno coerenti.

Tutti i bucket Cloud Storage hanno una ridondanza integrata per proteggere i tuoi dati da guasti dell'apparecchiatura e per garantire la disponibilità dei dati tramite eventi di manutenzione del data center. I checksum vengono calcolati per tutte le operazioni di Cloud Storage per garantire che ciò che leggi sia ciò che hai scritto.

A differenza dell'archiviazione a blocchi durevole, i bucket Cloud Storage non sono limitati alla zona in cui si trova l'istanza. Inoltre, puoi leggere e scrivere dati in un bucket da più istanze contemporaneamente. Ad esempio, puoi configurare le istanze in più zone per leggere e scrivere dati nello stesso bucket anziché replicare i dati nello spazio di archiviazione a blocchi durevole in più zone.

Per saperne di più su come connettere la tua VM TPU a un bucket Cloud Storage, consulta Connessione ai bucket Cloud Storage.

Cloud Storage FUSE

Cloud Storage FUSE ti consente di montare e accedere ai bucket Cloud Storage come file system locali. Ciò consente alle applicazioni di leggere e scrivere oggetti nel tuo bucket utilizzando la semantica standard del file system.

Consulta la documentazione di Cloud Storage FUSE per informazioni dettagliate sul funzionamento di Cloud Storage FUSE e una descrizione di come le operazioni di Cloud Storage FUSE vengono mappate alle operazioni di Cloud Storage. Puoi trovare ulteriori informazioni su come utilizzare Cloud Storage FUSE, ad esempio come installare la CLI Cloud Storage FUSE e montare i bucket su GitHub.

Condivisione file Filestore

La condivisione file di Filestore è un Network Attached Storage (NAS) completamente gestito per Compute Engine. Filestore offre compatibilità con le applicazioni aziendali esistenti e supporta qualsiasi client compatibile con NFSv3.

Filestore offre una bassa latenza per le operazioni con i file. Per i carichi di lavoro sensibili alla latenza, Filestore supporta una capacità fino a 100 TiB e una velocità effettiva di 25 GiB al secondo e 720.000 IOPS, con una minima variabilità delle prestazioni.

Con Filestore, puoi montare condivisioni file sulle VM TPU.

Passaggi successivi