Questo documento descrive come utilizzare le configurazioni basate sui profili per semplificare l'adozione e migliorare le prestazioni di Cloud Storage FUSE per i carichi di lavoro di intelligenza artificiale o machine learning (AI/ML).
Per semplificare la configurazione di Cloud Storage FUSE per i carichi di lavoro di servizio, checkpoint o addestramento, puoi applicare profili preconfigurati in base al tipo di carico di lavoro utilizzando il campo profile
o l'opzione --profile
. Utilizzando il campo o l'opzione, puoi specificare un insieme predefinito e ottimizzato di funzionalità di Cloud Storage FUSE per la memorizzazione nella cache, i thread e le dimensioni dei buffer, garantendo prestazioni elevate con il minimo sforzo per l'addestramento, il checkpointing e la gestione dei carichi di lavoro, con i valori dei profili aiml-training
, aiml-checkpointing
e aiml-serving
rispettivamente.
Considerazioni
Puoi impostare solo l'opzione
--profile
o il campoprofile
durante un'operazione di montaggio. Se devi aggiornare l'opzione--profile
o il campoprofile
, devi rimontare il bucket Cloud Storage FUSE.Quando utilizzi configurazioni basate sul profilo, Cloud Storage FUSE imposta la capacità della cache dei metadati e la durata (TTL) su illimitato, il che significa che le voci non vengono mai eliminate dalla cache dei metadati. Se la tua macchina virtuale non ha memoria sufficiente, potresti riscontrare errori di esaurimento della memoria (OOM). Pertanto, ti consigliamo di rivedere la capacità di memoria prima di applicare le configurazioni basate sul profilo. È più probabile che si verifichino errori di tipo OOM sulle macchine con meno di 1 TiB di memoria.
Quando specifichi i valori di configurazione utilizzando i profili, i tipi di macchine ad alte prestazioni rilevati, un comando
gcsfuse
o un file di configurazione FUSE di Cloud Storage, i metodi hanno la precedenza nel seguente ordine (dove i metodi in alto hanno la precedenza su quelli sottostanti):Valori impostati nell'ambito di un comando
gcsfuse
o di un file di configurazione Cloud Storage FUSE.Valori impostati come argomento dell'opzione
--profiles
in un comandogcsfuse
o del campoprofile
in un file di configurazione di Cloud Storage FUSE.Valori di configurazione automatizzati impostati quando Cloud Storage FUSE rileva che viene utilizzato un tipo di macchina ad alte prestazioni. Per ulteriori informazioni, consulta la sezione Valori di configurazione automatica.
I volumi CSI FUSE di Cloud Storage nei pod Google Kubernetes Engine non supportano il campo
profile
o l'opzione--profile
.La memorizzazione nella cache dei file non può essere abilitata utilizzando configurazioni basate sul profilo perché richiede l'utilizzo di campi di configurazione di Cloud Storage FUSE e opzioni della CLI Cloud Storage FUSE che non possono essere generalizzate. Per abilitare la memorizzazione nella cache dei file per la pubblicazione, l'addestramento o il checkpointing dei carichi di lavoro, devi configurare in modo esplicito le opzioni o i campi di memorizzazione nella cache dei file.
Applicare configurazioni basate sul profilo per i carichi di lavoro di addestramento
Il profilo specifico per l'addestramento ottimizza le prestazioni per le letture ad alta velocità effettuate su set di dati di grandi dimensioni e impedisce all'hardware GPU Cloud e Cloud TPU di attendere i dati.
Per applicare il profilo specifico per l'addestramento, specifica profile=aiml-training
utilizzando un file di configurazione Cloud Storage FUSE o --profile=aiml-training
utilizzando l'interfaccia a riga di comando Cloud Storage FUSE. Vengono quindi applicate le seguenti configurazioni:
# Create implicit directories locally when accessed:
- implicit-dirs
# Disable caching for lookups of files or directories that don't exist:
- metadata-cache:negative-ttl-secs:0
# Keep cached metadata (file attributes, types) indefinitely time-wise:
- metadata-cache:ttl-secs:-1
# Allow unlimited size for the file attribute (stat) cache:
- metadata-cache:stat-cache-max-size-mb:-1
# Allow unlimited size for the file/directory type cache:
- metadata-cache:type-cache-max-size-mb:-1
Applicare configurazioni basate sul profilo per i workload di checkpointing
Il profilo specifico per il checkpointing ottimizza le prestazioni per le scritture ad alto throughput per file di grandi dimensioni riducendo drasticamente il tempo necessario per salvare checkpoint di più gigabyte, riducendo al minimo le pause di addestramento.
Per applicare il profilo specifico per l'addestramento, specifica profile=aiml-checkpointing
utilizzando un file di configurazione Cloud Storage FUSE o --profile=aiml-checkpointing
utilizzando l'interfaccia a riga di comando Cloud Storage FUSE. Vengono quindi applicate le seguenti configurazioni:
# Create implicit directories locally when accessed:
- implicit-dirs
# Disable caching for lookups of files/dirs that don't exist:
- metadata-cache:negative-ttl-secs:0
# Keep cached metadata (file attributes, types) indefinitely time-wise:
- metadata-cache:ttl-secs:-1
# Allow unlimited size for the file attribute (stat) cache:
- metadata-cache:stat-cache-max-size-mb:-1
# Allow unlimited size for the file/directory type cache:
- metadata-cache:type-cache-max-size-mb:-1
# Cache the entire file when any part is read sequentially:
- file-cache:cache-file-for-range-read:true
# Allow renaming directories with a lot of files in non-HNS buckets.
- file-system:rename-dir-limit:200000
Applicare configurazioni basate sul profilo per pubblicare i workload
Serving ottimizza le prestazioni per i carichi di lavoro di serving migliorando i meccanismi di accesso ai dati e di memorizzazione nella cache.
Per applicare il profilo specifico per l'addestramento, specifica profile=aiml-serving
utilizzando un file di configurazione Cloud Storage FUSE o --profile=aiml-serving
utilizzando l'interfaccia a riga di comando Cloud Storage FUSE. Vengono quindi applicate le seguenti configurazioni:
# Create implicit directories locally when accessed:
- implicit-dirs
# Disable caching for lookups of files/dirs that don't exist:
- metadata-cache:negative-ttl-secs:0
# Keep cached metadata (file attributes, types) indefinitely time-wise:
- metadata-cache:ttl-secs:-1
# Allow unlimited size for the file attribute (stat) cache:
- metadata-cache:stat-cache-max-size-mb:-1
# Allow unlimited size for the file/directory type cache:
- metadata-cache:type-cache-max-size-mb:-1
# Cache the entire file when any part is read sequentially:
- file-cache:cache-file-for-range-read:true
# Enable kernel-list-cache to make listing faster as this is a readonly file system hierarchy.
- file-system:kernel-list-cache-ttl-secs:-1
Passaggi successivi
Scopri di più sui valori di configurazione automatica per i tipi di macchine ad alte prestazioni.
Scopri come ottimizzare le prestazioni con i file YAML GKE preconfigurati.