La cache dei file Cloud Storage FUSE è una cache di lettura basata sul client che consente di servire letture ripetute di file da un archivio cache più veloce a tua scelta. Questa pagina descrive come attivare e utilizzare la memorizzazione nella cache dei file Cloud Storage FUSE.
Vantaggi della memorizzazione nella cache dei file
La memorizzazione nella cache dei file offre i seguenti vantaggi:
Migliora le prestazioni per I/O piccoli e casuali: per scoprire di più sulla memorizzazione nella cache dei file e sui relativi vantaggi, consulta Vantaggi della memorizzazione nella cache dei file. In tutti i casi, i dati o il singolo file di grandi dimensioni devono rientrare nella capacità disponibile della directory della cache dei file, che è controllata utilizzando la proprietà
max-size-mb
.Sfrutta i download paralleli: i download paralleli vengono attivati automaticamente su Cloud Storage FUSE versione 2.12 e successive quando la cache dei file è abilitata. I download paralleli utilizzano più worker per scaricare un file in parallelo utilizzando la directory della cache dei file come buffer di precaricamento, il che può comportare un tempo di caricamento del modello fino a nove volte più veloce. Ti consigliamo di utilizzare i download paralleli per scenari di lettura a thread singolo che caricano file di grandi dimensioni, ad esempio il servizio di modelli e i ripristini dei checkpoint.
Download paralleli
I download paralleli possono migliorare le prestazioni di lettura utilizzando
più worker per scaricare più parti di un file in parallelo utilizzando la
directory della cache dei file come buffer di precaricamento. La proprietà enable-parallel-downloads
viene impostata automaticamente su true
quando attivi la memorizzazione nella cache dei file. Consigliamo di utilizzare i download paralleli per gli scenari di lettura che caricano file di grandi dimensioni, come la pubblicazione di modelli, i ripristini dei checkpoint e l'addestramento su oggetti di grandi dimensioni.
I casi d'uso per l'attivazione della memorizzazione nella cache dei file con download paralleli includono quanto segue:
Tipo di caso d'uso | Descrizione |
---|---|
Formazione | Attiva la memorizzazione nella cache dei file se i dati a cui vuoi accedere vengono letti più volte,
che si tratti dello stesso file più volte o di offset diversi dello stesso file.
Se il set di dati è più grande della cache dei file, la cache dei file deve rimanere
disabilitata e, al suo posto, devi abilitare cache-file-for-range-read .
|
Letture dei pesi del modello e dei checkpoint di pubblicazione | Attiva la memorizzazione nella cache dei file con download paralleli per poter utilizzare i download paralleli, che caricano i file di grandi dimensioni molto più velocemente rispetto a quando non vengono utilizzati la memorizzazione nella cache dei file e i download paralleli. |
Prima di iniziare
La cache dei file richiede un percorso della directory da utilizzare per memorizzare i file nella cache. Puoi creare una nuova directory su un file system esistente o creare un nuovo file system su uno spazio di archiviazione di cui è stato eseguito il provisioning. Se stai eseguendo il provisioning di un nuovo spazio di archiviazione da utilizzare, segui queste istruzioni per creare un nuovo file system:
Per Google Cloud Hyperdisk, consulta Crea un nuovo volume Google Cloud Hyperdisk.
Per Persistent Disk, consulta Crea un nuovo volume su disco permanente.
Per le SSD locali, consulta Aggiungere un SSD locale alla VM.
Per i dischi RAM in memoria, vedi Creazione di dischi RAM in memoria.
Attivare e configurare il comportamento di memorizzazione nella cache dei file
Abilita e configura la memorizzazione nella cache dei file utilizzando un file di configurazione di Cloud Storage FUSE o le opzioni della CLI di Cloud Storage FUSE. Puoi anche utilizzare configurazioni di esempio. Vedi Configurazione di esempio per l'attivazione della memorizzazione nella cache dei file e dei download paralleli.
Specifica la directory della cache che vuoi utilizzare utilizzando il campo
file-cache:cache-dir
o l'opzione--cache-dir
, che vengono utilizzati per attivare la cache dei file per i deployment non Google Kubernetes Engine. Se utilizzi un deployment Google Kubernetes Engine, specifica la proprietàfile-cache:max-size-mb
.Per limitare la capacità totale che la cache di Cloud Storage FUSE può utilizzare all'interno della directory montata, modifica la proprietà
max-size-mb
, che viene impostata automaticamente su-1
quando imposti la proprietàcache-dir
. Puoi anche specificare un valore in MiB o GiB per limitare le dimensioni della cache.Imposta l'opzione
metadata-cache:ttl-secs
su-1
per ignorare la scadenza TTL delle voci memorizzate nella cache e pubblicare i metadati dei file dalla cache, se disponibili. Il valore predefinito è 60 secondi e un valore di-1
lo imposta su illimitato. Puoi anche specificare un valore elevato in base ai tuoi requisiti. Ti consigliamo di impostare il valore dittl-secs
sul valore più alto possibile per il tuo workload. Per ulteriori informazioni sull'impostazione di un TTL per le voci memorizzate nella cache, consulta Time to live.Imposta l'opzione
file-cache:cache-file-for-range-read
sutrue
per caricare in modo asincrono l'intero file nella cache se la prima operazione di lettura di un file inizia da un punto diverso daoffset 0
, in modo che le letture successive di offset diversi dello stesso file possano essere eseguite dalla cache.(Facoltativo) Configura la memorizzazione nella cache delle statistiche e dei tipi utilizzando
metadata-cache
. Per scoprire di più sulle cache di tipo e stat, consulta Panoramica della memorizzazione nella cache dei tipi o Panoramica della memorizzazione nella cache di stat.Esegui manualmente il comando
ls -R
sul bucket montato prima di eseguire il workload per precompilare i metadati e assicurarti che la cache dei tipi venga compilata prima della prima lettura in un metodo batch più rapido. Per saperne di più su come migliorare le prestazioni della prima lettura, consulta Migliorare le prime letture.
Una volta abilitata la memorizzazione nella cache dei file, i download paralleli vengono abilitati automaticamente
in Cloud Storage FUSE versione 2.12 e successive. Se utilizzi una versione precedente di
Cloud Storage FUSE, imposta l'opzione enable-parallel-downloads
su true
.
Configura le proprietà di supporto per i download paralleli
Facoltativamente, puoi configurare le seguenti proprietà di supporto per i download paralleli:
parallel-downloads-per-file
: il numero massimo di worker che possono essere generati per file per scaricare l'oggetto da Cloud Storage nella cache dei file. Il valore predefinito è16
.max-parallel-downloads
: il numero massimo di worker che possono essere generati in un determinato momento in tutti i job di download dei file. Il valore predefinito è il doppio del numero di core della CPU sulla macchina. Per specificare nessun limite, inserisci il valore-1
.download-chunk-size-mb
: la dimensione di ogni richiesta di lettura in MiB che ogni worker invia a Cloud Storage durante il download dell'oggetto nella cache dei file. La dimensione predefinita è 200 MiB. Tieni presente che un download parallelo viene attivato solo se il file letto ha le dimensioni specificate.
Disattivare i download paralleli
Per disattivare i download paralleli, imposta la proprietà enable-parallel-downloads
su
false
nel file di configurazione di Cloud Storage FUSE.
Passaggi successivi
Esamina le considerazioni per la memorizzazione nella cache in Cloud Storage FUSE.
Scopri come migliorare le prestazioni di Cloud Storage FUSE.