Ottimizza il driver CSI di Cloud Storage FUSE per le prestazioni di GKE


Questa guida mostra come ottimizzare le prestazioni del driver CSI FUSE Cloud Storage su Google Kubernetes Engine (GKE).

Sebbene Cloud Storage FUSE offra flessibilità e scalabilità, una configurazione e un'ottimizzazione attente sono fondamentali per ottenere prestazioni ottimali. Le prestazioni di Cloud Storage FUSE possono differire da quelle di un file system POSIX in termini di latenza, throughput e coerenza. L'obiettivo della messa a punto è ridurre al minimo l'overhead delle operazioni sui metadati e massimizzare l'efficienza dell'accesso ai dati. Se stai utilizzando applicazioni AI/ML che consumano dati nei bucket Cloud Storage, l'ottimizzazione del driver CSI può ridurre i tempi di addestramento e inferenza delle tue applicazioni AI/ML.

Questa guida è rivolta a sviluppatori e machine learning engineer che vogliono migliorare le prestazioni delle loro applicazioni che accedono ai dati archiviati nei bucket Cloud Storage.

Prima di leggere questa pagina, assicurati di conoscere le nozioni di base di Cloud Storage, Kubernetes e del driver CSI di Cloud Storage FUSE. Assicurati di controllare anche i requisiti della versione GKE per le funzionalità specifiche che vuoi utilizzare.

Configura le opzioni di montaggio

Il driver CSI di Cloud Storage FUSE supporta le opzioni di montaggio per configurare il modo in cui i bucket Cloud Storage vengono montati sul file system locale. Per l'elenco completo delle opzioni di montaggio supportate, consulta la documentazione del file della CLI Cloud Storage FUSE.

Puoi specificare le opzioni di montaggio nei seguenti modi, a seconda del tipo di volume che utilizzi:

Volume temporaneo CSI

Se utilizzi volumi effimeri CSI, specifica le opzioni di montaggio nel spec.volumes[n].csi.volumeAttributes.mountOptions campo del manifest del tuo pod.

Devi specificare le opzioni di montaggio come stringa, con i flag separati da virgole e senza spazi. Ad esempio:

  mountOptions: "implicit-dirs,file-cache:enable-parallel-downloads:true,file-cache:download-chunk-size-mb:3"

Volume permanente

Se utilizzi volumi permanenti, specifica le opzioni di montaggio nel spec.mountOptions campo del file manifest PersistentVolume.

Devi specificare le opzioni di montaggio sotto forma di elenco. Ad esempio:

  mountOptions:
    - implicit-dirs
    - file-cache:enable-parallel-downloads:true
    - file-cache:download-chunk-size-mb:3

Considerazioni sul montaggio

Tieni presenti le seguenti considerazioni quando configuri i mount con il driver CSI:

Considerazioni generali

  • I seguenti flag non sono consentiti: app-name, temp-dir, foreground, log-file, log-format, key-file, token-url e reuse-token-from-url.
  • Cloud Storage FUSE non rende visibili le directory implicite per impostazione predefinita.
  • Se vuoi montare solo una directory nel bucket anziché l'intero bucket, passa il percorso relativo della directory utilizzando il flag only-dir=relative/path/to/the/bucket/root.

Sicurezza e autorizzazioni

  • Se utilizzi un contesto di sicurezza per il pod o il container o se l'immagine del container utilizza un gruppo o un utente non root, devi impostare i flag di montaggio uid e gid. Inoltre, devi utilizzare i flag di montaggio file-mode e dir-mode per impostare le autorizzazioni del file system. Tieni presente che non puoi eseguire comandi chmod, chown o chgrp su un file system FUSE di Cloud Storage, quindi utilizza i flag di montaggio uid, gid, file-mode e dir-mode per ottenere l'accesso per un gruppo o un utente non root.

Opzioni di montaggio del kernel Linux

  • Se devi configurare le opzioni di montaggio del kernel Linux, puoi passare le opzioni utilizzando il flag o. Ad esempio, se non vuoi consentire l'esecuzione diretta di eventuali file binari sul file system montato, imposta il flag o=noexec. Ogni opzione richiede un flag separato, ad esempio o=noexec,o=noatime. Sono consentite solo le seguenti opzioni: exec, noexec, atime, noatime, sync, async e dirsync.

Configurare la memorizzazione nella cache

Questa sezione fornisce una panoramica delle opzioni di memorizzazione nella cache disponibili con il driver CSI di Cloud Storage FUSE per migliorare le prestazioni.

Memorizzazione nella cache dei file

Puoi utilizzare il driver CSI di Cloud Storage FUSE con la memorizzazione nella cache dei file per migliorare le prestazioni di lettura delle applicazioni che gestiscono file di piccole dimensioni dai bucket Cloud Storage. La funzionalità della cache dei file di Cloud Storage FUSE è una cache di lettura basata su client che consente di eseguire più rapidamente letture ripetute dei file dallo spazio di archiviazione della cache di tua scelta.

Puoi scegliere tra una serie di opzioni di archiviazione per la cache di lettura, tra cui SSD locali, archiviazione basata su Persistent Disk e disco RAM (memoria), in base alle tue esigenze in termini di prezzo e prestazioni.

Attivare e utilizzare la memorizzazione nella cache dei file

Per impostazione predefinita, la funzionalità di memorizzazione nella cache dei file è disattivata su GKE. Devi attivare la memorizzazione nella cache dei file con il driver CSI di Cloud Storage FUSE.

Per attivare e controllare la memorizzazione nella cache dei file, imposta l'attributo volumefileCacheCapacity o utilizza l'opzione di montaggio file-cache:max-size-mb.

Per impostazione predefinita, GKE utilizza un volume emptyDir per la memorizzazione nella cache dei file FUSE Cloud Storage supportata dall'archiviazione temporanea configurata sul nodo. Potrebbe essere il disco di avvio collegato al nodo o un SSD locale sul nodo. Se attivi SSD locale sul nodo, GKE utilizza l'SSD locale per eseguire il backup del volume emptyDir.

Puoi configurare un volume della cache di lettura personalizzato per il contenitore sidecar per sostituire il volume emptyDir predefinito per la memorizzazione nella cache dei file nelle operazioni di lettura.

Per saperne di più sulle best practice per la memorizzazione nella cache dei file, consulta Prestazioni di Cloud Storage FUSE.

Seleziona lo spazio di archiviazione per il backup della cache dei file

Per selezionare lo spazio di archiviazione per il backup della cache dei file, tieni conto di queste considerazioni:

  • Per le famiglie di VM GPU e CPU che supportano l'SSD locale (ad esempio le VM A3), ti consigliamo di utilizzare l'SSD locale.
    • Per le VM A3 e versioni successive, GKE configura automaticamente gli SSD locali per il consumo da parte dei pod.
    • Se la famiglia di VM non supporta le unità SSD locali, GKE utilizza il disco di avvio per la memorizzazione nella cache. Il tipo di disco predefinito per il disco di avvio su GKE è pd-balanced.
  • Per le famiglie di VM TPU, in particolare v6 e versioni successive, consigliamo di utilizzare la RAM come cache dei file per ottenere le migliori prestazioni, poiché queste istanze VM hanno una RAM più grande.
    • Quando utilizzi la RAM, presta attenzione agli errori di esaurimento della memoria (OOM), in quanto causano interruzioni dei pod.
    • Per altre famiglie di TPU, ti consigliamo di utilizzare pd-balanced o pd-ssd. Il tipo di disco predefinito per il disco di avvio su GKE è pd-balanced.
  • Evita di utilizzare il disco di avvio per la memorizzazione nella cache, in quanto ciò può comportare un calo delle prestazioni e interruzioni impreviste. Valuta invece la possibilità di utilizzare un PersistentVolume supportato da un disco permanente.

Utilizzare la memorizzazione nella cache dei file basata su disco RAM

Puoi utilizzare il disco RAM per la memorizzazione nella cache dei file o il download parallelo per ridurre il sovraccarico dell'utilizzo di un disco di avvio o di un Persistent Disk, se utilizzi una VM TPU con RAM sufficientemente grande.

Per utilizzare un disco RAM con il driver CSI di Cloud Storage FUSE, aggiungi quanto segue al tuo manifest:

volumes:
  - name: gke-gcsfuse-cache
    emptyDir:
      medium: Memory

Cache delle statistiche

Il driver CSI di Cloud Storage FUSE migliora le prestazioni memorizzando nella cache i metadati dei file, come le dimensioni e la data di modifica. Il driver CSI abilita questa cache delle statistiche per impostazione predefinita e riduce la latenza archiviando le informazioni localmente anziché richiederle ripetutamente da Cloud Storage. Puoi configurarne la dimensione massima (il valore predefinito è 32 MB) e il tempo di permanenza dei dati nella cache (il valore predefinito è 60 secondi). Ottimizzando la cache dei metadati, puoi ridurre le chiamate API a Cloud Storage per migliorare le prestazioni e l'efficienza dell'applicazione riducendo al minimo il traffico di rete e la latenza.

Per saperne di più sulle best practice per la memorizzazione nella cache delle statistiche, consulta la panoramica della memorizzazione nella cache di Cloud Storage FUSE.

Utilizza il pre-caricamento dei metadati per precompilare la cache dei metadati

La funzionalità di prelettura dei metadati consente al driver CSI di Cloud Storage FUSE di caricare in modo proattivo i metadati pertinenti sugli oggetti nel bucket Cloud Storage nelle cache di Cloud Storage FUSE. Questo approccio riduce le chiamate a Cloud Storage ed è particolarmente utile per le applicazioni che accedono a set di dati di grandi dimensioni con molti file, come i carichi di lavoro di addestramento AI/ML.

Questa funzionalità richiede GKE 1.31.3-gke.1162000 o versioni successive.

Per ottenere miglioramenti delle prestazioni dal pre-caricamento dei metadati, devi impostare il valore TTL (time to live) degli elementi della cache dei metadati su illimitato. In genere, l'impostazione di un TTL impedisce che i contenuti memorizzati nella cache diventino obsoleti. Quando imposti il TTL su illimitato, devi prendere le precauzioni del caso per non modificare i contenuti del bucket out-of-band (ovvero consentire a un altro attore o a un altro carico di lavoro di modificarlo). Le modifiche out-of-band non sono visibili a livello locale e potrebbero causare problemi di coerenza.

Per attivare il pre-caricamento dei metadati, apporta le seguenti modifiche alla configurazione. Ti consigliamo di attivare questa funzionalità sui volumi che vengono letti molto.

Per un esempio, consulta l'esempio di codice in Migliorare le prestazioni di lettura di file di grandi dimensioni utilizzando il download parallelo.

Cache dell'elenco

Per velocizzare le schede della directory per le applicazioni, puoi attivare la cache dell'elenco. Questa funzionalità memorizza le schede della directory in memoria in modo che le richieste ripetute possano essere gestite più rapidamente. La cache dell'elenco è disabilitata per impostazione predefinita. Puoi attivarla impostando il parametro kernel-list-cache-ttl-secs nelle opzioni di montaggio. Questo valore definisce la durata della cache delle schede.

Migliorare le prestazioni di lettura dei file di grandi dimensioni utilizzando il download parallelo

Puoi utilizzare il download parallelo di Cloud Storage FUSE per accelerare la lettura di file di grandi dimensioni da Cloud Storage per i download multithread. Il download parallelo di Cloud Storage FUSE può essere particolarmente utile per i casi d'uso di pubblicazione di modelli con letture di dimensioni superiori a 1 GB.

Ecco alcuni esempi comuni:

  • Erogazione del modello, in cui è necessario un buffer di prefetch di grandi dimensioni per accelerare il download del modello durante l'avvio dell'istanza.
  • Ripristini dei punti di controllo, in cui è necessaria una cache di dati di sola lettura per migliorare l'accesso una tantum di più file di grandi dimensioni.
Best practice:

Utilizza il download parallelo per le applicazioni che eseguono letture di file di grandi dimensioni a thread singolo. Le applicazioni con un elevato parallelismo di lettura (che utilizzano più di otto thread) potrebbero riscontrare prestazioni inferiori con questa funzionalità.

Per utilizzare il download parallelo con il driver CSI di Cloud Storage FUSE:

  1. Crea un cluster con la memorizzazione nella cache dei file abilitata, come descritto in Abilitare e utilizzare la memorizzazione nella cache dei file.

  2. Nel file manifest, configura queste impostazioni aggiuntive utilizzando le opzioni di montaggio per abilitare il download parallelo:

    1. Imposta file-cache:enable-parallel-downloads:true.
    2. Regola file-cache:parallel-downloads-per-file, file-cache:parallel-downloads-per-file, file-cache:max-parallel-downloads e file-cache:download-chunk-size-mb in base alle esigenze.
  3. (Facoltativo) Se necessario, ti consigliamo di ottimizzare questi attributi del volume:

Riduci il consumo della quota dai controlli di controllo dell'accesso

Per impostazione predefinita, il driver CSI esegue controlli di controllo dell'accesso'accesso per assicurarsi che l'account di servizio del pod abbia accesso ai bucket Cloud Storage. Ciò comporta un aggravio aggiuntivo sotto forma di API Kubernetes Service, Security Token Service e chiamate IAM. A partire dalla versione GKE 1.29.9-gke.1251000, puoi utilizzare l'attributo volume skipCSIBucketAccessCheck per saltare questi controlli ridondanti e ridurre il consumo di quota.

Esempio di pubblicazione di inferenza

L'esempio seguente mostra come attivare il download parallelo per il servizio di inferenza:

  1. Crea un manifest PersistentVolume e PersistentVolumeClaim con la seguente specifica:

    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: serving-bucket-pv
    spec:
      accessModes:
      - ReadWriteMany
      capacity:
        storage: 64Gi
      persistentVolumeReclaimPolicy: Retain
      storageClassName: example-storage-class
      claimRef:
        namespace: NAMESPACE
        name: serving-bucket-pvc
      mountOptions:
        - implicit-dirs #avoid if list cache enabled and doing metadata prefetch
        - metadata-cache:ttl-secs:-1
        - metadata-cache:stat-cache-max-size-mb:-1
        - metadata-cache:type-cache-max-size-mb:-1
        - file-cache:max-size-mb:-1
        - file-cache:cache-file-for-range-read:true
        - file-system:kernel-list-cache-ttl-secs:-1
        - file-cache:enable-parallel-downloads:true
      csi:
        driver: gcsfuse.csi.storage.gke.io
        volumeHandle: BUCKET_NAME
        volumeAttributes:
          skipCSIBucketAccessCheck: "true"
          gcsfuseMetadataPrefetchOnMount: "true"
    ---
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: serving-bucket-pvc
      namespace: NAMESPACE
    spec:
      accessModes:
      - ReadWriteMany
      resources:
        requests:
          storage: 64Gi
      volumeName: serving-bucket-pv
      storageClassName: example-storage-class
    

    Sostituisci i seguenti valori:

    • NAMESPACE: lo spazio dei nomi Kubernetes in cui vuoi eseguire il deployment del pod.
    • BUCKET_NAME: il nome del bucket Cloud Storage specificato durante la configurazione dell'accesso ai bucket Cloud Storage. Puoi specificare un'underscore (_) per montare tutti i bucket a cui può accedere il servizio account Kubernetes. Per scoprire di più, consulta Montaggio dinamico nella documentazione di Cloud Storage FUSE.
  2. Applica il manifest al cluster:

    kubectl apply -f PV_FILE_PATH
    

    Sostituisci PV_FILE_PATH con il percorso del file YAML.

  3. Crea un file manifest del pod con la seguente specifica per utilizzare la richiesta di volume permanente, a seconda che tu stia utilizzando la memorizzazione nella cache dei file basata su SSD locali o la memorizzazione nella cache dei file basata su disco RAM:

    SSD locale

    apiVersion: v1
    kind: Pod
    metadata:
      name: gcs-fuse-csi-example-pod
      namespace: NAMESPACE
      annotations:
        gke-gcsfuse/volumes: "true"
        gke-gcsfuse/cpu-limit: "0"
        gke-gcsfuse/memory-limit: "0"
        gke-gcsfuse/ephemeral-storage-limit: "0"
    spec:
      containers:
        # Your workload container spec
        ...
        volumeMounts:
        - name: serving-bucket-vol
          mountPath: /serving-data
          readOnly: true
      serviceAccountName: KSA_NAME
      volumes:
      - name: serving-bucket-vol
        persistentVolumeClaim:
          claimName: serving-bucket-pvc
    

    Disco RAM

    apiVersion: v1
    kind: Pod
    metadata:
      name: gcs-fuse-csi-example-pod
      namespace: NAMESPACE
      annotations:
        gke-gcsfuse/volumes: "true"
        gke-gcsfuse/cpu-limit: "0"
        gke-gcsfuse/memory-limit: "0"
        gke-gcsfuse/ephemeral-storage-limit: "0"
    spec:
      containers:
        # Your workload container spec
        ...
        volumeMounts:
        - name: serving-bucket-vol
          mountPath: /serving-data
          readOnly: true
      serviceAccountName: KSA_NAME 
      volumes:
        - name: gke-gcsfuse-cache # gcsfuse file cache backed by RAM Disk
          emptyDir:
            medium: Memory 
      - name: serving-bucket-vol
        persistentVolumeClaim:
          claimName: serving-bucket-pvc
    
  4. Applica il manifest al cluster:

    kubectl apply -f POD_FILE_PATH
    

    Sostituisci POD_FILE_PATH con il percorso del file YAML.

Configura gli attributi del volume

Gli attributi del volume ti consentono di configurare un comportamento specifico del driver CSI di Cloud Storage FUSE.

Il driver CSI di Cloud Storage FUSE non ti consente di specificare direttamente il file di configurazione di Cloud Storage FUSE. Puoi configurare alcuni dei campi nel file di configurazione utilizzando gli attributi del volume CSI FUSE di Cloud Storage. Il driver CSI gestisce la traduzione dei valori degli attributi del volume nei campi del file di configurazione.

Per l'elenco completo degli attributi del volume supportati, consulta il riferimento agli attributi del volume.

Puoi specificare gli attributi del volume nei seguenti modi:

  • Nel campo spec.csi.volumeAttributes di un manifest PersistentVolume, se utilizzi volumi permanenti.
  • Nel campo spec.volumes[n].csi.volumeAttributes, se utilizzi volumi CSI effimeri.

Nel manifest, gli attributi del volume possono essere specificati come coppie chiave-valore. Ad esempio:

volumeAttributes:
  mountOptions: "implicit-dirs"
  fileCacheCapacity: "-1"
  gcsfuseLoggingSeverity: warning

Metriche di Cloud Storage FUSE

Le seguenti metriche di Cloud Storage FUSE sono ora disponibili tramite l'API di monitoraggio GKE. Puoi trovare i dettagli sulle metriche di Cloud Storage FUSE, come etichette, tipo e unità, in Metriche di sistema GKE. Queste metriche sono disponibili per ogni pod che utilizza Cloud Storage FUSE e puoi utilizzarle per configurare gli approfondimenti per volume e bucket.

Le metriche sono disattivate per impostazione predefinita. Per attivarli, imposta l'attributo volume disableMetrics su "false".

Metriche del file system

Le metriche del file system monitorano le prestazioni e lo stato del file system, tra cui il numero di operazioni, gli errori e la velocità di esecuzione. Queste metriche possono aiutarti a identificare i colli di bottiglia e ottimizzare le prestazioni.

  • gcsfusecsi/fs_ops_count
  • gcsfusecsi/fs_ops_error_count
  • gcsfusecsi/fs_ops_latency

Metriche di Cloud Storage

Puoi monitorare le metriche di Cloud Storage, tra cui volume dei dati, velocità e attività di richiesta, per capire in che modo le tue applicazioni interagiscono con i bucket di Cloud Storage. Questi dati possono aiutarti a identificare le aree di ottimizzazione, ad esempio migliorare i pattern di lettura o ridurre il numero di richieste.

  • gcsfusecsi/gcs_download_bytes_count
  • gcsfusecsi/gcs_read_count
  • gcsfusecsi/gcs_read_bytes_count
  • gcsfusecsi/gcs_reader_count
  • gcsfusecsi/gcs_request_count
  • gcsfusecsi/gcs_request_latencies

Metriche della cache dei file

Puoi monitorare le metriche della cache dei file, tra cui il volume di lettura dei dati, la velocità e il tasso di successo della cache, per ottimizzare Cloud Storage FUSE e le prestazioni dell'applicazione. Analizza queste metriche per migliorare la tua strategia di memorizzazione nella cache e massimizzare gli hit della cache.

  • gcsfusecsi/file_cache_read_bytes_count
  • gcsfusecsi/file_cache_read_latencies
  • gcsfusecsi/file_cache_read_count

Best practice per l'ottimizzazione delle prestazioni

Questa sezione elenca alcune tecniche di ottimizzazione e tuning delle prestazioni consigliate per il driver CSI di Cloud Storage FUSE.

  • Utilizza i bucket di spazi dei nomi gerarchici (HNS): scegli i bucket HNS per ottenere un aumento sostanziale di 8 volte delle query al secondo (QPS) iniziali. Questa scelta facilita anche i rinominamenti delle directory rapidi e atomici, un requisito fondamentale per un checkpointing efficiente con Cloud Storage FUSE. I bucket HNS garantiscono un'esperienza simile a quella dei file supportando 40.000 richieste di lettura di oggetti e 8000 richieste di scrittura di oggetti al secondo, un miglioramento significativo rispetto alle 8000 richieste di lettura di oggetti e 1000 richieste di scrittura di oggetti al secondo offerte dai bucket flat.

  • Monta directory specifiche, se possibile:se il tuo carico di lavoro prevede l'accesso a una directory specifica all'interno di un bucket, utilizza il flag --only-dir durante il montaggio. Questo approccio mirato semplifica le chiamate all'elenco, in quanto limita l'ambito delle chiamate LookUpInode, che richiedono una chiamata list+stat per ogni file o directory nel percorso specificato. Se limiti il montaggio alla sottodirectory obbligatoria, riduci al minimo queste chiamate, con un conseguente miglioramento delle prestazioni.

  • Ottimizza la memorizzazione nella cache dei metadati:configura le cache dei metadati per massimizzare la loro capacità e imposta una durata (TTL) infinita. Questa pratica memorizza nella cache in modo efficace tutti i metadati a cui hai eseguito l'accesso per la durata del job, riducendo al minimo le richieste di accesso ai metadati a Cloud Storage. Questa configurazione è particolarmente utile per i volumi di sola lettura, in quanto elimina le ricerche ripetute dei metadati di Cloud Storage. Tuttavia, verifica che il consumo di memoria associato a queste cache di metadati di grandi dimensioni sia in linea con le funzionalità del tuo sistema.

  • Massimizza le risorse sidecar di GKE: Cloud Storage FUSE opera in un contenitore sidecar in un ambiente GKE. Per evitare i colli di bottiglia delle risorse, rimuovi le limitazioni al consumo di CPU e memoria per il contenitore sidecar. In questo modo, Cloud Storage FUSE può scalare l'utilizzo delle risorse in base alle esigenze del carico di lavoro, impedendo il throttling e garantendo una velocità in uscita ottimale.

  • Compila la cache dei metadati in modo proattivo:abilita il pre-caricamento dei metadati per il driver CSI. In questo modo, vengono compilati in modo efficiente i metadati e le cache degli elenchi, riducendo al minimo le chiamate ai metadati di Cloud Storage e accelerando l'esecuzione iniziale. Molti framework di ML eseguono questa operazione automaticamente, ma è fondamentale eseguire questo passaggio per il codice di addestramento personalizzato. Per scoprire di più, consulta Utilizzare il pre-caricamento dei metadati per precompilare la cache dei metadati.

  • Utilizza la cache dei file e i download paralleli:attiva la funzionalità della cache dei file, in particolare per i carichi di lavoro di addestramento con più epoche, in cui i dati vengono letti ripetutamente. La cache dei file memorizza i dati a cui si accede di frequente nell'archiviazione locale (SSD nel caso delle macchine A3), migliorando le prestazioni di lettura. Abbina questa funzionalità ai download paralleli, in particolare per il servizio dei carichi di lavoro, per accelerare il download di file di grandi dimensioni suddividendoli in blocchi più piccoli e scaricandoli contemporaneamente.

  • Ottimizza i checkpoint:per i checkpoint con Cloud Storage FUSE, consigliamo vivamente di utilizzare un bucket HNS. Se utilizzi un bucket non HNS, imposta il parametro rename-dir-limit su un valore elevato per supportare i rinominazioni delle directory spesso impiegate dai framework ML durante il checkpointing. Tuttavia, tieni presente che le rinominazioni delle directory nei bucket non HNS potrebbero non essere atomiche e potrebbero richiedere più tempo per essere completate.

  • Attiva la memorizzazione nella cache degli elenchi:attiva la memorizzazione nella cache degli elenchi utilizzando il flag --kernel-list-cache-ttl-secs per migliorare ulteriormente il rendimento. Questa funzionalità memorizza nella cache le voci di directory e file, migliorando la velocità delle operazioni ls. La memorizzazione nella cache degli elenchi è particolarmente utile per i carichi di lavoro che prevedono elenchi di directory completi ripetuti, comuni negli scenari di addestramento di AI/ML. Ti consigliamo di utilizzare la memorizzazione nella cache degli elenchi con montaggi in sola lettura per mantenere la coerenza dei dati.

Passaggi successivi