Cloud Storage FUSE-Datei-Caching verwenden

Das Datei-Cache-Feature von Cloud Storage FUSE ist ein clientbasierter Lese-Cache, mit dem Dateilesevorgänge wiederholt werden können, um einen schnelleren Cache-Speicher Ihrer Wahl bereitzustellen. Auf dieser Seite wird beschrieben, wie Sie das Datei-Caching mit Cloud Storage FUSE aktivieren und verwenden. Eine Übersicht über Datei-Caching, Statistik-Caching oder Typ-Caching finden Sie unter Übersicht über das Caching.

Hinweise

Der Dateicache erfordert einen Verzeichnispfad, um Dateien im Cache zu speichern. Sie können ein neues Verzeichnis in einem vorhandenen Dateisystem erstellen oder ein neues Dateisystem im bereitgestellten Speicher erstellen. Wenn Sie neuen Speicher zur Verwendung bereitstellen, erstellen Sie mit der folgenden Anleitung ein neues Dateisystem:

  1. Informationen zu Google Cloud Hyperdisk finden Sie unter Neues Google Cloud Hyperdisk-Volume erstellen.

  2. Informationen zu Persistent Disk finden Sie unter Neues Persistent Disk-Volume erstellen.

  3. Informationen zu lokalen SSDs finden Sie unter Lokale SSD zu VM hinzufügen.

  4. Informationen zu speicherinternen RAM-Disks finden Sie unter Speicherinterne RAM-Disks erstellen.

Caching-Verhalten aktivieren und konfigurieren

  1. Aktivieren und konfigurieren Sie das Datei-Caching mithilfe des Felds file-cache in einer Cloud Storage FUSE-Konfigurationsdatei und geben Sie das Cache-Verzeichnis an, das Sie im Feld cache-dir verwenden möchten. Der Datei-Cache ist standardmäßig deaktiviert. Beachten Sie, dass Sie das Datei-Caching aktivieren, indem Sie ein Verzeichnis an das Feld cache-dir übergeben.

  2. Optional: Konfigurieren Sie das Statistik-Caching und das Typ-Caching mithilfe des Felds metadata-cache in einer Konfigurationsdatei. Weitere Informationen zu Statistik- und Typ-Caches finden Sie unter Übersicht über Typ-Caching oder Übersicht über das Statistik-Caching.

  3. Optional: Erhöhen Sie die TTL der im Cache gespeicherten Einträge. Setzen Sie dazu die Option ttl-secs auf einen Wert, der auf der erwarteten Zeit zwischen wiederholten Lesevorgängen basiert, während Konsistenzanforderungen ausgeglichen werden. Wir empfehlen, den Wert ttl-secs so hoch zu setzen, wie es Ihrer Arbeitslast möglich ist. Sie können die TTL in einer Cloud Storage FUSE-Konfigurationsdatei konfigurieren. Weitere Informationen zum Festlegen einer TTL für im Cache gespeicherte Einträge finden Sie unter Gültigkeitsdauer.

    Die folgende Konfigurationsdatei aktiviert beispielsweise Datei-Caching, Statistik-Caching und Typ-Caching mit einer TTL von 3600 Sekunden und das Cache-Verzeichnis ist auf /path/to/a/directory/ gesetzt. max-size-mb ist auf -1 gesetzt. Dadurch wird der Datei-Cache so konfiguriert, dass die gesamte verfügbare Kapazität verwendet wird.

    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. Optional: Sie können das Lesen großer Dateien, einschließlich des ersten Lesens, beschleunigen, indem Sie die Eigenschaft enable-parallel-downloads aktivieren. Dabei wird eine große Datei mithilfe mehrerer Worker parallel heruntergeladen und das Dateicache-Verzeichnis als Prefetch-Puffer verwendet. Weitere Informationen zu parallelen Downloads und zur Konfiguration der zugehörigen Eigenschaften finden Sie unter Leseleistung mit parallelen Downloads verbessern.

  5. Führen Sie den Befehl ls -R in Ihrem bereitgestellten Bucket manuell aus, bevor Sie die Arbeitslast ausführen, um Metadaten vorab auszufüllen. So wird sichergestellt, dass der Typ-Cache vor dem ersten Lesevorgang mit einer schnelleren Batchmethode gefüllt wird. Weitere Informationen zur Verbesserung der Leistung beim ersten Lesen finden Sie unter Leseleistung beim ersten Lesen verbessern.

Mehrere Dateien parallel herunterladen

Sie können die Leseleistung verbessern, indem Sie die Funktion für parallele Downloads aktivieren und konfigurieren. Dabei wird eine Datei mithilfe mehrerer Worker parallel heruntergeladen und das Dateicache-Verzeichnis als Prefetch-Puffer verwendet. Wir empfehlen parallele Downloads für Szenarien mit nur einem Lese-Thread, bei denen große Dateien geladen werden, z. B. beim Modell-Serving und beim Wiederherstellen von Checkpoints.

Bevor Sie parallele Downloads aktivieren, sollten Sie Folgendes berücksichtigen:

  • Wenn Ihre Anwendung eine hohe Leseparallelität über acht Threads hinweg verwendet, kann es zu einer leichten Leistungsminderung kommen.

  • Wir empfehlen aufgrund ihrer hohen Leseparallelität keine parallelen Downloads für Trainingsarbeitslasten zu verwenden.

  • Wenn Sie parallele Downloads verwenden möchten, müssen Sie zuerst den Dateicache aktivieren und konfigurieren.

  • Die gelesene Datei muss in die verfügbare Kapazität des Dateicache-Verzeichnisses passen, das mit dem Attribut max-size-mb gesteuert werden kann.

Parallele Downloads konfigurieren

  1. Legen Sie in einer Cloud Storage FUSE-Konfigurationsdatei die Eigenschaft enable-parallel-downloads auf true fest und konfigurieren Sie optional die folgenden unterstützenden Einstellungen:

    • parallel-downloads-per-file: Die maximale Anzahl von Workern, die pro Datei erstellt werden können, um das Objekt aus Cloud Storage in den Dateicache herunterzuladen. Der Standardwert ist 16.

    • max-parallel-downloads: Die Anzahl der maximalen Worker, die jederzeit für alle Dateidownloadjobs erzeugt werden können. Die Standardeinstellung ist auf die doppelte Anzahl der CPU-Kerne auf Ihrer Maschine festgelegt. Wenn Sie kein Limit angeben möchten, geben Sie den Wert -1 ein.

    • download-chunk-size-mb: Die Größe jeder Leseanfrage in MiB, die jeder Worker an Cloud Storage sendet, wenn er das Objekt in den Dateicache herunterlädt. Die Standardgröße ist 50 MiB. Beachten Sie, dass ein paralleler Download nur ausgelöst wird, wenn die gelesene Datei die angegebene Größe hat.

Nächste Schritte