Panoramica della memorizzazione nella cache in Cloud Storage FUSE

Questa pagina fornisce dettagli sulle opzioni di memorizzazione nella cache disponibili per Cloud Storage FUSE e su come configurare ogni tipo di cache.

Per contribuire ad aumentare le prestazioni del recupero dei dati, Cloud Storage FUSE offre quattro tipi di memorizzazione nella cache facoltativa:

Considerazioni

  • L'attivazione della memorizzazione nella cache dei file, delle statistiche, dei tipi o degli elenchi può aumentare le prestazioni, ma ridurre la coerenza, il che si verifica in genere quando accedi allo stesso bucket utilizzando più client con un tasso di modifica elevato. Per ridurre l'impatto sulla coerenza, ti consigliamo di montare i bucket come di sola lettura. Per saperne di più sul comportamento di memorizzazione nella cache, consulta la documentazione sulla semantica di Cloud Storage FUSE su GitHub.

  • Se una voce della cache dei file non è ancora scaduta in base al durata (TTL) e il file si trova nella cache, le operazioni di lettura del file vengono eseguite dalla cache client locale senza che venga emessa alcuna richiesta a Cloud Storage.

  • Se una voce della cache dei file è scaduta in base al TTL, viene prima effettuata una chiamata ai metadati GET a Cloud Storage e, se il file non è nella cache, viene recuperato da Cloud Storage. Entrambe le operazioni sono soggette a latenze 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 pubblicato dalla cache solo dopo che viene effettuata la chiamata ai metadati GET per verificare se i dati sono validi.

  • Se un client FUSE di Cloud Storage modifica un file memorizzato nella cache o i relativi metadati, il file viene immediatamente invalidato e la coerenza viene garantita nella lettura successiva da parte dello stesso client. Tuttavia, se client diversi accedono allo stesso file o ai relativi metadati e le relative 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 di quel client specifico.

  • Per evitare il thrashing della cache, assicurati che l'intero set di dati rientri nella capacità della cache. Considera anche la capacità massima e le prestazioni che i tuoi media della cache possono fornire. Se raggiungi le prestazioni massime, il limite di capacità o entrambi della cache di cui è stato eseguito il provisioning, è utile leggere direttamente da Cloud Storage, che ha limiti molto più elevati rispetto a Cloud Storage FUSE.

Percorso di lettura per i dati memorizzati nella cache

La cache di Cloud Storage FUSE accelera le letture ripetute dopo che sono state inserite nella cache. Sia le letture iniziali che gli errori della cache vanno direttamente a Cloud Storage e sono soggetti alle normali latenze di rete di Cloud Storage. Per migliorare le prestazioni di lettura iniziale, consulta Precompilare la cache dei metadati.

Panoramica della memorizzazione nella cache dei file

La cache dei file FUSE di Cloud Storage è una cache di lettura basata sul client che gestisce le letture ripetute dei file dall'archiviazione della cache supportata dal file system locale. Per scoprire di più sulla memorizzazione nella cache dei file, consulta la pagina Memorizzazione nella cache dei file.

Download paralleli

Quando abiliti la memorizzazione nella cache dei file, i download paralleli vengono abilitati automaticamente in Cloud Storage FUSE versione 2.12 e successive. I download paralleli accelerano le prestazioni di lettura per i file di grandi dimensioni superiori a 1 GB, comprese le letture iniziali, utilizzando più worker per scaricare un file in parallelo utilizzando la directory della cache dei file come buffer di precaricamento. I download paralleli possono essere utilizzati per ottimizzare le prestazioni per i carichi di lavoro di intelligenza artificiale (AI) e machine learning (ML), come la gestione dei modelli, i ripristini dei checkpoint e l'addestramento su oggetti di grandi dimensioni. Per saperne di più sui download paralleli, vedi Download paralleli.

Configurare la memorizzazione nella cache dei file

Per scoprire come configurare la memorizzazione nella cache dei file, consulta Utilizzare la memorizzazione nella cache dei file di Cloud Storage FUSE.

Panoramica della memorizzazione nella cache delle statistiche

La cache delle statistiche FUSE di Cloud Storage è una cache per i metadati degli oggetti che migliora le prestazioni per le operazioni specifiche degli attributi dei file, come dimensioni, ora di modifica o autorizzazioni. L'utilizzo della cache delle statistiche migliora la latenza utilizzando i dati memorizzati nella cache per eseguire le operazioni anziché inviare una richiesta di oggetto delle statistiche a Cloud Storage. Per saperne di più sulla memorizzazione nella cache delle statistiche, consulta la documentazione di Semantics su GitHub.

Configura la cache delle statistiche

La cache delle statistiche è abilitata per impostazione predefinita e può essere configurata utilizzando un file di configurazione Cloud Storage FUSE. La dimensione massima della cache è controllata utilizzando uno dei seguenti metodi:

Per maggiori informazioni sui valori predefiniti e consigliati per la configurazione della cache delle statistiche, consulta le pagine relative alle opzioni CLI e al file di configurazione di Cloud Storage FUSE.

Configurare la memorizzazione nella cache delle statistiche negative

Cloud Storage FUSE offre anche una funzionalità di memorizzazione nella cache delle statistiche negative, che consente di impostare un TTL per le voci della cache delle statistiche per i file inesistenti o i risultati negativi. Il TTL della cache delle statistiche negative viene controllato utilizzando uno dei seguenti metodi:

Panoramica della memorizzazione nella cache dei tipi

La cache di tipo Cloud Storage FUSE è una cache di metadati che accelera le prestazioni per le operazioni sui metadati specifiche dell'esistenza di file o directory. L'utilizzo della cache dei tipi migliora la latenza riducendo il numero di richieste effettuate a Cloud Storage per verificare l'esistenza di un file o di una directory memorizzando queste informazioni localmente. Per saperne di più sulla memorizzazione nella cache dei tipi, consulta la documentazione sulla semantica su GitHub.

Configura la memorizzazione nella cache dei tipi

La cache dei tipi è abilitata per impostazione predefinita e può essere configurata utilizzando un file di configurazione Cloud Storage FUSE o la CLI Cloud Storage FUSE. La dimensione massima della cache viene controllata utilizzando uno dei metodi:

Per saperne di più sulla memorizzazione nella cache dei tipi e sui valori consigliati, consulta le pagine relative alle opzioni della CLI o al file di configurazione.

Il TTL della cache viene controllato utilizzando uno dei seguenti metodi:

Panoramica della memorizzazione nella cache degli elenchi

La cache dell'elenco Cloud Storage FUSE è per l'elenco di directory e file o ls, risposte che migliorano la velocità delle operazioni di elenco. La memorizzazione nella cache degli elenchi è particolarmente utile per i workload che ripetono gli elenchi di directory completi come parte dell'esecuzione, come le esecuzioni di addestramento AI/ML.

La cache dell'elenco viene mantenuta in memoria nella cache della pagina, che è controllata dal kernel in base alla disponibilità di memoria, a differenza delle cache stat e dei tipi, che vengono mantenute nella memoria della macchina e controllate da Cloud Storage FUSE.

Configurare la memorizzazione nella cache degli elenchi

Puoi attivare la memorizzazione nella cache degli elenchi utilizzando uno dei seguenti metodi:

Per abilitare e configurare la memorizzazione nella cache degli elenchi, consulta le pagine File di configurazione di Cloud Storage FUSE o Opzioni della CLI Cloud Storage FUSE.

Configura l'annullamento della convalida della cache di file, statistiche e tipi

Le sezioni seguenti descrivono come configurare l'invalidazione della cache per tutti i tipi di cache.

Per le cache di file, statistiche e tipi, utilizza uno dei seguenti metodi per specificare il TTL in secondi per la durata di utilizzo dei metadati memorizzati nella cache dal momento in cui vengono recuperati da Cloud Storage fino alla scadenza e al successivo aggiornamento:

Quando specifichi un valore maggiore di 0, i metadati della cache dei file rimangono validi solo per il periodo di tempo specificato. Per la memorizzazione nella cache dei file, ti consigliamo di aumentare il valore in base al tempo previsto tra le letture ripetute mentre bilanci le esigenze di coerenza. In base all'importanza e alla frequenza della modifica dei dati, ti consigliamo di impostare il valore più alto possibile in base al tuo carico di lavoro. Quando una voce di metadati diventa non valida, le letture successive vengono eseguite da Cloud Storage.

Oltre ad accettare valori che rappresentano un TTL specifico in secondi prima che i metadati memorizzati nella cache scadano e debbano essere aggiornati, puoi utilizzare i seguenti valori per specificare come viene letto il file:

  • 0: garantisce che il file con i dati più aggiornati venga letto emettendo una chiamata di metadati GET a Cloud Storage che controlla il file da cui viene pubblicato per garantire la coerenza della cache. Se il file nella cache è aggiornato, viene pubblicato direttamente dalla cache. Se specifichi un valore diverso da 0, le prestazioni potrebbero ridursi perché deve sempre essere effettuata una chiamata a Cloud Storage per controllare prima i metadati. Se il file è nella cache e non è stato modificato, viene pubblicato dalla cache in modo coerente dopo la chiamata ai metadati GET.

  • -1: garantisce che il file venga sempre letto dalla cache se è disponibile, senza verificarne la coerenza. La pubblicazione di file senza controllare la coerenza può pubblicare dati incoerenti e deve essere utilizzata solo temporaneamente per i workload eseguiti in job con dati non modificabili. Ad esempio, l'utilizzo di un valore di -1 è utile per l'addestramento del machine learning, in cui gli stessi dati vengono letti in più epoche senza modifiche.

Elenca annullamenti convalida cache

L'invalidazione della cache dell'elenco viene impostata specificando un valore maggiore di 0 utilizzando uno dei seguenti metodi:

  • Opzione dell'interfaccia a riga di comando --kernel-list-cache-ttl-secs
  • Campo file-system:kernel-list-cache-ttl-secs

La risposta all'elenco delle directory viene conservata nella cache delle pagine del kernel e rimane valida per il periodo di tempo specificato. Quando specifichi un valore di -1, Cloud Storage FUSE disattiva la scadenza della cache di elenco e restituisce la risposta di elenco dalla cache quando è disponibile. Se specifichi un valore pari a 0, la cache dell'elenco viene disattivata.

Passaggi successivi