Panoramica della memorizzazione nella cache in Cloud Storage FUSE

Cloud Storage FUSE fornisce tre tipi di memorizzazione nella cache facoltativa per 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 consente la ripetizione di file le letture vengano fornite da uno spazio di archiviazione cache più rapido di tua scelta. La cache del file è è disabilitata per impostazione predefinita.

Vantaggi della memorizzazione nella cache dei file

  • Prestazioni migliorate: la memorizzazione nella cache dei file migliora la latenza e la velocità effettiva di e la pubblicazione legge 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 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 più velocemente, con conseguente riduzione dei tempi di addestramento e rapporto prezzo/prestazioni per i carichi di lavoro di addestramento di AI e ML.

Abilitazione e configurazione della cache dei file

Quando attivi la memorizzazione nella cache dei file, imposti i campi in una File di configurazione di Cloud Storage FUSE. Il seguente elenco descrive i campi che puoi utilizzare per controllare la memorizzazione nella cache dei file:

  • Puoi controllare la capacità massima nella directory della cache specificata che i dati memorizzati nella cache possono occupare impostando max-size-mb.

    Per impostazione predefinita, il campo max-size-mb è impostato sul valore -1, che consente che i dati memorizzati nella cache crescano fino a occupare tutta la capacità disponibile che hai specificato come valore per cache-dir.

  • Puoi specificare una directory per l'archiviazione dei dati della cache di file utilizzando il comando campo cache-dir. Tieni presente che specificare una directory della cache è un prerequisito per abilitare la cache dei file.

  • Puoi controllare il momento in cui i dati memorizzati nella cache vengono invalidati utilizzando il campo ttl-secs. Per impostazione predefinita, il campo ttl-secs è impostato su 60, che specifica 60 secondi. Ti consigliamo di aumentare il valore.

    Per maggiori dettagli su come controllare l'annullamento della convalida dei dati memorizzati nella cache, consulta Configurazione dell'annullamento della convalida dei dati della cache. Per ulteriori informazioni l'eliminazione dei dati memorizzati nella cache, consulta Rimozione.

Casuale e Letture parziali

Se la prima operazione di lettura del file inizia dall'inizio del file (alle 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 persistenti sugli smontaggi e si riavviano quando le voci dei metadati vengono rimosse. Tuttavia, i dati contenuti nella cache dei file non vengono rimossi deve essere eliminato dall'utente o può essere riutilizzato in operazioni di montaggio successive una volta compilati di nuovo i metadati.

Sicurezza

Quando attivi la memorizzazione nella cache, Cloud Storage FUSE utilizza il valore cache-dir specificato che hai impostato come directory sottostante per consentire alla cache di conservare i file dal tuo Bucket Cloud Storage in formato non criptato. Qualsiasi utente o processo con che l'accesso a questa directory della cache possa accedere a questi file. Ti consigliamo di limita 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. In seguito la stessa directory della cache non deve essere utilizzata da processi Cloud Storage FUSE diversi.

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: puoi abilitare la memorizzazione nella cache solo del 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: invece di montare un'intera cartella puoi usare l'opzione –only-dir per montare e memorizzare nella cache solo una cartella specifica a livello di bucket. Per saperne di più, vedi Monta 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.

Configurazione dell'annullamento della convalida della cache

Il campo ttl-secs specifica per quanto tempo i metadati rimangono validi nel file, stat e digita le cache. Il campo rappresenta la durata (TTL) della cache di dati in cui i dati memorizzati nella cache vengono invalidati alla scadenza del TTL. Quando voce di metadati non è più valida, viene eseguita una query su letture successive da di archiviazione ideale in Cloud Storage.

Puoi configurare ttl-secs in un file di configurazione di Cloud Storage FUSE.

Se specifichi un valore maggiore per ttl-secs di 0, i metadati per la cache del file rimangono validi solo per la quantità di all'ora specificata. Per tutti i tipi di cache è impostato il valore predefinito 60. Per di memorizzazione nella cache, ti 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. Basata su l'importanza e la frequenza della modifica dei dati, ti consigliamo di impostare il ttl-secs, il valore massimo consentito dal tuo carico di lavoro.

Oltre a specificare un valore che rappresenta il numero di secondi, Il flag ttl-secs supporta anche i valori 0 e -1.

  • Valore ttl-secs di 0: quando inserisci il valore 0, ttl-secs assicura che venga letto il file più aggiornato inviando metadati Get a Cloud Storage che controlla il file da cui viene pubblicato la cache sia coerente. Se il file nella cache è aggiornato, viene pubblicato direttamente dalla cache. Il rendimento è meno efficace rispetto a quando specifica un valore ttl-secs diverso da 0 perché una chiamata deve essere sempre effettuata Cloud Storage per controllare prima i metadati. Se il file si trova nella cache non è cambiato, il file viene pubblicato dalla cache con coerenza dopo Ricevi chiamata di metadati.

  • Valore ttl-secs di -1: se inserisci il valore -1, il file viene legge sempre dalla cache, se disponibile, senza controllare coerenza. È possibile pubblicare file senza controllare la coerenza incoerenti e deve essere usato solo temporaneamente per i carichi di lavoro che in job con dati che non cambiano. Ad esempio, l'utilizzo del valore -1 è utile per l'addestramento del machine learning, dove gli stessi dati vengono letti epoche senza modifiche.

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

  • Utilizzo di Cloud Storage FUSE con la memorizzazione nella cache di file e delle statistiche o la memorizzazione nella cache dei tipi abilitati possono aumentare le prestazioni, ma ridurre la coerenza. Per saperne di più, consulta Documentazione relativa alla semantica 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