Questo documento descrive come utilizzare le configurazioni basate su 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 pubblicazione,
checkpoint o addestramento, puoi applicare profili preconfigurati
in base al tipo di carico di lavoro utilizzando il profile campo o
--profile l'opzione. 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 i carichi di lavoro di addestramento, checkpoint e pubblicazione, con i valori del profilo aiml-training, aiml-checkpointing e aiml-serving rispettivamente.
Considerazioni
Puoi impostare l'opzione
--profileo il campoprofilesolo durante un'operazione di montaggio. Se devi aggiornare l'opzione--profileo il campoprofile, devi rimontare il bucket Cloud Storage FUSE.Quando utilizzi le configurazioni basate su profili, Cloud Storage FUSE imposta la capacità della cache dei metadati e durata (TTL) su illimitato, il che significa che le voci non vengono mai eliminate dalla cache dei metadati. Se la macchina virtuale non ha memoria sufficiente, potresti riscontrare errori di memoria insufficiente (OOM). Pertanto, ti consigliamo di rivedere la capacità di memoria prima di applicare le configurazioni basate su profili. È più probabile che si verifichino errori OOM sulle macchine con meno di 1 TiB di memoria.
Quando un parametro di Cloud Storage FUSE viene configurato in più modi, si applica il seguente ordine di precedenza (dal più alto al più basso):
- Valori impostati direttamente in un comando
gcsfuseo in un file di configurazione di Cloud Storage FUSE. - Valori impostati da un profilo, dove il profilo viene specificato utilizzando l'
--profileopzione in ungcsfusecomando o ilprofilecampo in un file di configurazione di Cloud Storage FUSE. - Valori predefiniti applicati automaticamente quando Cloud Storage FUSE rileva un tipo di macchina ad alte prestazioni. Per saperne di più, consulta Valori di configurazione automatica per i tipi di macchine ad alte prestazioni.
- Valori impostati direttamente in un comando
I volumi CSI di Cloud Storage FUSE nei pod di Google Kubernetes Engine non supportano il
profilecampo o--profileopzione.La memorizzazione nella cache dei file non può essere abilitata utilizzando le configurazioni basate su profili perché richiede l'utilizzo di campi di configurazione di Cloud Storage FUSE e opzioni della CLI di Cloud Storage FUSE che non possono essere generalizzate. Per abilitare la memorizzazione nella cache dei file per i carichi di lavoro di pubblicazione, addestramento o checkpoint, devi configurare esplicitamente le opzioni o i campi di memorizzazione nella cache dei file.
Applicare le configurazioni basate su profili per i carichi di lavoro di addestramento
Il profilo specifico per l'addestramento ottimizza le prestazioni per le letture ad alta velocità effettiva di set di dati di grandi dimensioni e impedisce all'hardware Cloud GPU e Cloud TPU di attendere i dati.
Per applicare il profilo specifico per l'addestramento, specifica
profile: aiml-training utilizzando un file di configurazione di Cloud Storage FUSE o
--profile=aiml-training utilizzando la
CLI di 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
Applicare le configurazioni basate su profili per i carichi di lavoro di checkpoint
Il profilo specifico per il checkpoint ottimizza le prestazioni per le scritture ad alta velocità effettiva per i file di grandi dimensioni riducendo drasticamente il tempo necessario per salvare i checkpoint di più gigabyte, riducendo al minimo le pause di addestramento.
Per applicare il profilo specifico per il checkpoint, specifica
profile: aiml-checkpointing utilizzando un file di configurazione di Cloud Storage FUSE o
--profile=aiml-checkpointing utilizzando la
CLI di 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
# 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 le configurazioni basate su profili per i carichi di lavoro di pubblicazione
La pubblicazione ottimizza le prestazioni per i carichi di lavoro di pubblicazione migliorando i meccanismi di accesso ai dati e di memorizzazione nella cache.
Per applicare il profilo specifico per la pubblicazione, specifica
profile: aiml-serving utilizzando un file di configurazione di Cloud Storage FUSE o
--profile=aiml-serving utilizzando la
CLI di 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
# 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