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.

Datei-Caching aktivieren und konfigurieren

Aktivieren und konfigurieren Sie das Datei-Caching entweder mit einer Cloud Storage FUSE-Konfigurationsdatei oder mit Cloud Storage FUSE-Befehlszeilenoptionen:

  1. Geben Sie das gewünschte Cache-Verzeichnis mit dem Feld file-cache:cache-dir oder der Option --cache-dir an, um den Dateicache zu aktivieren.

  2. Optional: Wenn Sie die Gesamtkapazität begrenzen möchten, die der Cloud Storage FUSE-Cache im bereitgestellten Verzeichnis verwenden kann, passen Sie die Eigenschaft max-size-mb an. Sie wird automatisch auf -1 gesetzt, wenn Sie die Eigenschaft cache-dir festlegen.

  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. 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.

    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: Konfigurieren Sie das Statistik-Caching und das Typ-Caching mithilfe von metadata-cache. Weitere Informationen zu Statistik- und Typ-Caches finden Sie unter Übersicht über Typ-Caching oder Übersicht über das Statistik-Caching.

  5. 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.

  6. 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