Utilizzare la memorizzazione nella cache dei file di Cloud Storage FUSE

La funzionalità della cache dei file di Cloud Storage FUSE è una cache di lettura basata su client che consente di eseguire letture ripetute dei file da uno spazio di archiviazione della cache più veloce a tua scelta. Questa pagina descrive come attivare e utilizzare la memorizzazione nella cache dei file di Cloud Storage FUSE. Per una panoramica della memorizzazione nella cache dei file, della memorizzazione nella cache delle statistiche o della memorizzazione nella cache dei tipi, consulta la Panoramica della memorizzazione nella cache.

Prima di iniziare

La cache dei file richiede un percorso della directory da utilizzare per memorizzare nella cache i file. Puoi creare una nuova directory su un file system esistente o creare un nuovo file system sullo spazio di archiviazione di cui è stato eseguito il provisioning. Se esegui il provisioning di nuovo spazio di archiviazione da utilizzare, utilizza le seguenti istruzioni per creare un nuovo file system:

  1. Per Hyperdisk di Google Cloud, consulta Creare un nuovo volume Google Cloud Hyperdisk Cloud.

  2. Per Persistent Disk, consulta Creare un nuovo volume Persistent Disk.

  3. Per le SSD locali, consulta Aggiungere un'unità SSD locale alla VM.

  4. Per i dischi RAM in memoria, consulta Creare dischi RAM in memoria.

Attivare e configurare il comportamento di memorizzazione nella cache

  1. Attiva e configura la memorizzazione nella cache dei file utilizzando il campo file-cache in un file di configurazione Cloud Storage FUSE e specifica la directory della cache che vuoi utilizzare nel campo cache-dir. La cache dei file è disattivata per impostazione predefinita. Tieni presente che puoi attivare la memorizzazione nella cache dei file passando una directory al campocache-dir.

  2. (Facoltativo) Configura la memorizzazione nella cache delle statistiche e la memorizzazione nella cache dei tipi utilizzando il campo metadata-cache in un file di configurazione. Per scoprire di più sulle cache di tipo e di statistiche, consulta la Panoramica della memorizzazione nella cache dei tipi o la Panoramica della memorizzazione nella cache delle statistiche.

  3. (Facoltativo) Aumenta il TTL delle voci memorizzate nella cache impostando l'opzione ttl-secs su un valore basato sul tempo previsto tra le letture ripetute, bilanciando al contempo le esigenze di coerenza. Ti consigliamo di impostare il valore ttl-secs su un valore il più alto possibile in base al tuo carico di lavoro. Puoi configurare il TTL in un file di configurazione Cloud Storage FUSE. Per ulteriori informazioni sull'impostazione di un TTL per le voci memorizzate nella cache, consulta la sezione Durata (TTL).

    Ad esempio, il seguente file di configurazione attiva la memorizzazione nella cache dei file, la memorizzazione nella cache delle statistiche e la memorizzazione nella cache dei tipi con un TTL di 3600 secondi e la directory della cache impostata su /path/to/a/directory/. Tieni presente che max-size-mb è impostato su -1, il che configura la cache dei file in modo da utilizzare tutta la capacità disponibile.

    file-cache:
      max-size-mb: -1
      cache-file-for-range-read: false
    
    metadata-cache:
      stat-cache-max-size-mb: 32
      ttl-secs: 3600
      type-cache-max-size-mb: 4
    
    cache-dir: /path/to/a/directory
    
  4. (Facoltativo) Accelera le letture di file di grandi dimensioni, incluse le letture iniziali, attivando la proprietà enable-parallel-downloads che utilizza più worker per scaricare un file di grandi dimensioni in parallelo utilizzando la directory della cache dei file come buffer di prefetch. Per ulteriori informazioni sui download paralleli e su come configurare le relative proprietà di supporto, consulta Migliorare le prestazioni di lettura utilizzando i download paralleli.

  5. Esegui manualmente il comando ls -R sul bucket montato prima di eseguire il carico di lavoro per precompilare i metadati in modo da assicurarti che la cache dei tipi venga compilata prima della prima lettura in un metodo batch più veloce. Per ulteriori informazioni su come migliorare il rendimento delle letture iniziali, consulta Migliorare le letture iniziali.

Scaricare più file in parallelo utilizzando i download paralleli

Puoi migliorare le prestazioni di lettura attivando e configurando la funzionalità di download parallelo, che utilizza più worker per scaricare un file in parallelo utilizzando la directory della cache dei file come buffer di prefetch. Consigliamo di utilizzare i download paralleli per gli scenari di lettura a thread singolo che caricano file di grandi dimensioni, come l'hosting di modelli e i ripristini dei checkpoint.

Prima di attivare i download paralleli, tieni presente quanto segue:

  • Se la tua applicazione esegue un parallelismo di lettura elevato su più di otto thread, potresti riscontrare un lieve peggioramento delle prestazioni.

  • Sconsigliamo di utilizzare i download paralleli per i carichi di lavoro di addestramento a causa del loro elevato parallelismo di lettura.

  • Per utilizzare i download paralleli, devi prima attivare e configurare la cache dei file.

  • Il file da leggere deve rientrare nella capacità disponibile della directory della cache dei file, che può essere controllata utilizzando la proprietà max-size-mb.

Configurare i download paralleli

  1. In un file di configurazione di FUSE Cloud Storage, imposta la proprietà enable-parallel-downloads su true e, facoltativamente, configura le seguenti impostazioni di supporto:

    • 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. L'impostazione predefinita è impostata sul doppio del numero di core della CPU della macchina. Per specificare nessun limite, inserisci un valore di -1.

    • download-chunk-size-mb: le dimensioni in MiB di ogni richiesta di lettura inviata da ciascun worker a Cloud Storage durante il download dell'oggetto nella cache dei file. La dimensione predefinita è 50 MiB. Tieni presente che un download parallelo viene attivato solo se il file in lettura ha le dimensioni specificate.

Passaggi successivi