Cloud Storage FUSE fornisce quattro tipi di memorizzazione nella cache facoltativa per aiutare ad aumentare prestazioni del recupero dati:
Panoramica della memorizzazione nella cache dei file
La cache dei file di Cloud Storage FUSE è una cache di lettura basata su client che pubblica legge il file da uno spazio di archiviazione cache più rapido di tua scelta.
Vantaggi della memorizzazione nella cache dei file
Prestazioni migliorate: la memorizzazione nella cache dei file migliora la latenza e la velocità effettiva di che fornisce la lettura direttamente dal supporto della cache. Operazioni di I/O piccole e casuali può essere significativamente più veloce se fornito dalla cache.
Utilizza capacità esistente: la memorizzazione nella cache dei file può utilizzare la capacità di provisioning esistente della tua cache per la directory della cache senza che ti vengano addebitati spazio di archiviazione aggiuntivo. Sono incluse le unità SSD locali fornite in bundle Tipi di macchine GPU Cloud come
a2-ultragpu
,a3-highgpu
, Persistent Disk (ovvero il disco di avvio utilizzato da ogni VM), o/tmpfs
in memoria.Costi ridotti: i hit della cache vengono pubblicati localmente e non vengono addebitati Costi delle operazioni Cloud Storage o della rete.
Miglioramento del costo totale di proprietà per l'addestramento AI e ML: memorizzazione nella cache dei file aumenta l'utilizzo di GPU Cloud e Cloud TPU caricando i dati il che riduce i tempi di addestramento e fornisce un rapporto prezzo/prestazioni per i carichi di lavoro di addestramento di AI e ML.
Abilita e configura la cache dei file
La cache dei file è disattivata per impostazione predefinita e può essere attivata e configurata utilizzando un file di configurazione di Cloud Storage FUSE. Puoi controllare la memorizzazione nella cache utilizzando i seguenti campi:
max-size-mb
: controlla la capacità massima nella directory della cache occupati dai dati memorizzati nella cache. Per impostazione predefinita, il campomax-size-mb
è impostato i dati memorizzati nella cache aumentano fino a occupare tutta la capacità disponibile .cache-dir
: specifica una directory per l'archiviazione dei dati della cache di file. Tieni presente che la specifica di una directory della cache è un prerequisito per l'abilitazione della cache dei file.ttl-secs
: determina quando i dati memorizzati nella cache diventano obsoleti e devono essere aggiornato da Cloud Storage. Per impostazione predefinita, il campottl-secs
è impostato su scadono e aggiorna da Cloud Storage dopo 60 secondi di inattività. Ti consigliamo di aumentare questo valore.Per scoprire come controllare l'annullamento della convalida dei dati della cache, consulta Configurazione dell'annullamento della convalida dei dati della cache. Per ulteriori informazioni l'eliminazione dei dati memorizzati nella cache, consulta Rimozione.
enable-parallel-downloads
: accelera le prestazioni di lettura per le applicazioni di grandi dimensioni file di dimensioni superiori a 1 GB, incluse le letture per la prima volta, utilizzando più worker per scaricare un file in parallelo utilizzando la cache dei file come buffer di precaricamento. Ti consigliamo di attivare le funzionalità per le operazioni di pubblicazione e ripristino dei checkpoint. Per ulteriori informazioni sull'attivazione e la configurazione dei download paralleli, consulta Configurare i download paralleli.
Casuale e Letture parziali
Se la prima operazione di lettura del file inizia dall'inizio del file, nel
offset 0
, la cache del file Cloud Storage FUSE importa e carica l'intero file
nella cache, anche se leggi solo da un sottoinsieme ridotto di intervalli. Questo
consente la pubblicazione di letture casuali o parziali successive dello stesso oggetto
direttamente dalla cache.
Se la prima operazione di lettura di un file inizia da un punto qualsiasi che non sia l'offset 0
,
Per impostazione predefinita, Cloud Storage FUSE non attiva il recupero asincrono del file completo.
Per modificare questo comportamento in modo che Cloud Storage FUSE importi un file in
cache dopo una lettura casuale iniziale, imposta cache-file-for-range-read
per true
. Ti consigliamo di attivare cache-file-for-range-read
se vengono eseguite molte operazioni di lettura casuali o parziali
lo stesso oggetto.
Eliminazione
L'eliminazione dei metadati e dei dati memorizzati nella cache si basa su dati utilizzati meno di recente
(LRU) che inizia una volta impostata la soglia di spazio
Hai raggiunto il limite di max-size-mb
. Se la voce scade in base al suo TTL, viene restituito
La chiamata di recupero dei metadati viene effettuata prima di tutto a Cloud Storage ed è soggetta alla rete
e la latenza minima. Poiché i dati e i metadati vengono gestiti separatamente,
la rimozione o la invalidazione di un'entità e non dell'altra.
Prestazioni
La memorizzazione nella cache di Cloud Storage FUSE funziona con qualsiasi directory specificata dall'utente supportata
in base allo spazio di archiviazione che preferisci, ad esempio SSD locale, Persistent Disk,
in memoria tmpfs
o Filestore. Cache FUSE di Cloud Storage
le prestazioni corrispondono allo spazio di archiviazione sottostante utilizzato dalla cache con un overhead minimo.
Per saperne di più sulle prestazioni della memorizzazione nella cache, consulta
Prestazioni e best practice per la memorizzazione nella cache di Cloud Storage FUSE.
Persistenza
Le cache di Cloud Storage FUSE non sono rese persistenti su operazioni di smontaggio e riavvio. Per file per la memorizzazione nella cache, mentre le voci di metadati necessarie per gestire i file rimossi in caso di smontaggio e riavvii, i dati nella cache dei file potrebbero essere ancora presenti nella directory dei file. Dovresti eliminare i dati nella directory della cache dei file dopo si smonta o si riavvia.
Sicurezza
Quando attivi la memorizzazione nella cache, Cloud Storage FUSE utilizza la directory della cache specificata
utilizzando il campo cache-dir
come directory sottostante in modo che la cache
in modo permanente i file dal tuo bucket Cloud Storage in formato non criptato. Qualsiasi
utente o processo che ha accesso a questa directory della cache può accedere a questi file.
Ti consigliamo di limitare l'accesso a questa directory.
Accesso diretto o multiplo alla cache dei file
Utilizzo di un processo diverso da Cloud Storage FUSE per accedere o modificare un file nella la directory della cache può danneggiare i dati. Le cache di Cloud Storage FUSE sono specifiche a ciascun processo in esecuzione di Cloud Storage FUSE senza consapevolezza Processi di Cloud Storage FUSE in esecuzione sulla stessa macchina o su macchine diverse. Pertanto, non è consigliabile utilizzare la stessa directory della cache per diversi Cloud Storage FUSE i processi di machine learning.
Se più processi di Cloud Storage FUSE devono essere eseguiti sulla stessa macchina, Il processo Cloud Storage FUSE deve ottenere la propria directory della cache specifica oppure utilizzare uno dei seguenti metodi per assicurarti che i dati non vengano danneggiati:
Per montare tutti i bucket con una cache condivisa, utilizza il montaggio dinamico per montare tutti ai bucket a cui hai accesso in un singolo processo con una cache condivisa. Per ulteriori informazioni vedi Montaggio dinamico di Cloud Storage FUSE.
Abilita la memorizzazione nella cache in un bucket specifico: abilita la memorizzazione nella cache solo su un bucket specificato utilizzando il montaggio statico. Per saperne di più, vedi Montaggio statico di Cloud Storage FUSE.
Memorizza nella cache solo una cartella o una directory specifica: monta e memorizza nella cache solo una cartella una cartella specifica a livello di bucket, invece di montare un intero bucket. Per ulteriori informazioni vedi Montare una directory all'interno di un bucket.
Panoramica della memorizzazione nella cache delle statistiche
La cache delle statistiche di Cloud Storage FUSE è una cache per i metadati degli oggetti che
il rendimento per operazioni specifiche di attributi dei file come dimensioni,
data e ora di modifica o autorizzazioni. L'utilizzo della cache delle statistiche migliora la latenza utilizzando
memorizzati nella cache per eseguire operazioni anziché inviare una richiesta di oggetto stat
di archiviazione ideale in Cloud Storage. Per impostazione predefinita, la cache delle statistiche è abilitata con un
Valore stat-cache-max-size-mb
di 32 MB e valore ttl-secs
impostato su 60
secondi. Ti consigliamo di aumentare entrambi i valori. Per scoprire di più sulla memorizzazione
nella cache delle statistiche,
consulta la documentazione sulla semantica su GitHub.
Panoramica dei tipi di memorizzazione nella cache
La cache di tipo Cloud Storage FUSE è una cache di metadati che accelera le prestazioni
per operazioni sui metadati specifiche dell'esistenza di file o directory. Utilizzo del tipo
di cache migliora la latenza riducendo il numero di richieste inviate
Cloud Storage per verificare l'esistenza di un file o di una directory archiviando questo
informazioni a livello locale. Per impostazione predefinita, il tipo di cache è abilitato con un
Valore type-cache-max-size-mb
di 4 MB e un valore ttl-secs
di 60
secondi del
predefinito. Ti consigliamo di aumentare entrambi i valori. Per scoprire di più sulla memorizzazione nella cache dei tipi,
consulta la documentazione sulla semantica su GitHub.
Panoramica della memorizzazione nella cache dell'elenco
La cache dell'elenco di Cloud Storage FUSE è destinata all'elenco di directory e file o ls
,
risposte che migliorano la velocità delle operazioni degli elenchi. La memorizzazione nella cache degli elenchi è particolarmente utile
per carichi di lavoro che ripetono l'elenco completo delle directory durante l'esecuzione,
come le esecuzioni di addestramento AI/ML.
La cache dell'elenco viene mantenuta nella cache della pagina, controllata dal basato sulla disponibilità di memoria, anziché sulle cache stat e type, che vengono conservati nella memoria della macchina e controllati da Cloud Storage FUSE.
Abilita memorizzazione nella cache dell'elenco
La cache dell'elenco è disattivata per impostazione predefinita.
Puoi abilitare la memorizzazione nella cache degli elenchi utilizzando
Campo kernel-list-cache-ttl-secs
con uno dei seguenti valori:
Un valore positivo che rappresenta la durata (TTL) in secondi da conservare la risposta dell'elenco di directory nella cache della pagina del kernel.
Un valore
-1
per bypassare la scadenza della voce e restituire la risposta dell'elenco dalla cache quando è disponibile.
Per attivare e configurare la memorizzazione nella cache degli elenchi, consulta il file di configurazione di Cloud Storage FUSE.
Configura l'annullamento della convalida della cache
Le seguenti sezioni descrivono come configurare l'annullamento della convalida della cache per tutti tipi di cache.
Annullamento convalida cache di file, statistiche e tipo
Per le cache di file, statistiche e tipi, il campo ttl-secs
specifica il TTL in
secondi di utilizzo dei metadati memorizzati nella cache dal momento del recupero
da Cloud Storage fino alla scadenza e alla necessità di un aggiornamento.
Puoi configurare ttl-secs
in un file di configurazione di Cloud Storage FUSE.
Il campo ttl-secs
è impostato su 60
per impostazione predefinita.
Se specifichi un valore per ttl-secs
maggiore di 0
, i metadati
per la cache dei file rimane valida solo per il tempo specificato.
Per la memorizzazione nella cache di file, consigliamo di aumentare il valore ttl-secs
in base al
il tempo previsto tra una lettura ripetuta e l'altra per bilanciare le esigenze di coerenza.
In base all'importanza e alla frequenza di modifica dei dati, ti consigliamo
impostando il valore ttl-secs
al massimo consentito dal tuo carico di lavoro. Quando
voce di metadati non è più valida, viene eseguita una query sulle letture successive da
di archiviazione ideale in Cloud Storage.
Oltre ad accettare valori che rappresentano un TTL specifico secondi prima che i metadati memorizzati nella cache scadano e debbano essere aggiornati, puoi utilizzare i seguenti valori per specificare la modalità di lettura del file:
Valore
ttl-secs
di0
: garantisce il file con i dati più aggiornati viene letta eseguendo una chiamata di metadatiGET
a Cloud Storage che controlla il file da cui viene pubblicato per verificare che la cache sia coerente. Se il file nella cache è aggiornato, viene fornito direttamente dalla cache. La specifica di un valore diverso da0
può comportare un rendimento ridotto perché occorre sempre effettuare una chiamata a Cloud Storage per controllare prima i metadati. Se il file si trova nella cache e non è cambiato, viene pubblicato dalla Cache con coerenza dopo la chiamata ai metadatiGET
.Valore
ttl-secs
di-1
: garantisce che il file venga sempre letto dalla cache se disponibili, senza verificare la coerenza. File disponibili per la pubblicazione senza la verifica della coerenza può generare dati incoerenti e dovrebbe essere utilizzata temporaneamente per i carichi di lavoro eseguiti in job con dati che non cambiano. Per ad esempio, l'utilizzo del valore-1
è utile per l'addestramento del machine learning, dove gli stessi dati vengono letti in più epoche senza modifiche.
Annullamento convalida cache elenco
L'annullamento della convalida della cache dell'elenco viene impostato specificando un valore maggiore di 0
utilizzando il metodo
kernel-list-cache-ttl-secs
. La risposta dell'elenco di directory viene conservata
cache della pagina del kernel e rimane valida per il tempo specificato.
Per impostazione predefinita, la cache dell'elenco è disattivata e impostata sul valore 0
. Quando
specifica il valore -1
, Cloud Storage FUSE disabilita la scadenza della cache dell'elenco e
restituisce la risposta "list" dalla cache quando è disponibile.
Percorso di lettura per i dati memorizzati nella cache
La cache di Cloud Storage FUSE accelera le letture ripetute importati nella cache. Sia la prima lettura sia gli errori della cache passano direttamente a Cloud Storage e sono soggetti alle normali e la latenza di rete.
Considerazioni
È possibile abilitare la memorizzazione nella cache di file, la memorizzazione nella cache delle statistiche, il tipo di memorizzazione nella cache o la memorizzazione nella cache di un elenco Aumentare le prestazioni ma ridurre la coerenza, cosa che di solito si verifica quando accedi allo stesso bucket utilizzando più client con un un tasso di variazione elevato. Per ridurre l'impatto sulla coerenza, ti consigliamo montare bucket in sola lettura. Per scoprire di più sul comportamento della memorizzazione nella cache, consulta Documentazione sulla semantica di Cloud Storage FUSE su GitHub.
Se una voce della cache di file non è ancora scaduta in base al relativo TTL e il file è nella cache, l'intera operazione viene gestita dalla cache del client locale senza che venga inviata alcuna richiesta a Cloud Storage.
Se una voce della cache di file è scaduta in base al suo TTL, un'intestazione Recupera metadati viene prima effettuata la chiamata a Cloud Storage e, se il file non si trova nella cache, il file viene recuperato da Cloud Storage. Entrambe le operazioni sono soggette e la latenza di rete. Se la voce di metadati è stata invalidata, ma il file si trova nella cache e la generazione dell'oggetto non è cambiata, il file viene disponibili dalla cache solo dopo aver effettuato la chiamata per verificare se è stata effettuata se i dati sono validi.
Se un client Cloud Storage FUSE modifica un file memorizzato nella cache o la relativa metadati, il file viene immediatamente invalidato e viene garantita la coerenza di quanto segue lette dallo stesso client. Tuttavia, se clienti diversi accedere allo stesso file o ai relativi metadati e le voci vengono memorizzate nella cache, viene letta la versione memorizzata nella cache del file o dei metadati e non la versione aggiornata finché il file non viene invalidato dall'impostazione TTL del client specifico.
Passaggi successivi
Scopri come utilizzare e configurare la memorizzazione nella cache dei file.
Scopri le prestazioni e le best practice per la memorizzazione nella cache di Cloud Storage FUSE.