Cloud Storage FUSE-Datei-Caching verwenden

Der Cloud Storage FUSE-Datei-Cache 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.

Vorteile des Datei-Caching

Das Datei-Caching bietet folgende Vorteile:

  • Verbessert die Leistung bei kleinen und zufälligen E/A-Vorgängen: Weitere Informationen zum Datei-Caching und seinen Vorteilen finden Sie unter Vorteile des Datei-Caching. In allen Fällen müssen die Daten oder die einzelne große Datei in die verfügbare Kapazität des Dateicache-Verzeichnisses passen, das mit dem Attribut max-size-mb gesteuert wird.

  • Parallele Downloads nutzen: Parallele Downloads werden in Cloud Storage FUSE-Versionen 2.12 und höher automatisch aktiviert, wenn der Datei-Cache aktiviert ist. Bei parallelen Downloads wird eine Datei mithilfe mehrerer Worker parallel heruntergeladen und das Dateicache-Verzeichnis als Prefetch-Puffer verwendet. Dadurch kann die Ladezeit des Modells um das bis zu Neunfache verkürzt werden. 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.

Parallele Downloads

Parallele Downloads können die Leseleistung verbessern, indem mehrere Worker verwendet werden, um mehrere Teile einer Datei parallel herunterzuladen. Dabei wird das Dateicache-Verzeichnis als Prefetch-Puffer verwendet. Die Property enable-parallel-downloads wird automatisch auf true gesetzt, wenn Sie das Dateicaching aktivieren. Wir empfehlen parallele Downloads für Leseszenarien, bei denen große Dateien geladen werden, z. B. beim Modell-Serving, beim Wiederherstellen von Checkpoints und beim Training mit großen Objekten.

Anwendungsfälle für das Aktivieren des Datei-Cachings mit parallelen Downloads:

Anwendungsfalltyp Beschreibung
Training Aktivieren Sie das Dateicaching, wenn auf die Daten, auf die Sie zugreifen möchten, mehrmals zugegriffen wird, entweder auf dieselbe Datei mehrmals oder auf verschiedene Offsets derselben Datei. Wenn das Dataset größer als der Datei-Cache ist, sollte der Datei-Cache deaktiviert bleiben und stattdessen cache-file-for-range-read aktiviert werden.
Bereitstellung von Modellgewichten und Prüfpunkten Aktivieren Sie das Dateicaching mit parallelen Downloads, um parallele Downloads nutzen zu können. Dadurch werden große Dateien viel schneller geladen als ohne Dateicaching und parallele Downloads.

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.

Dateicaching-Verhalten aktivieren und konfigurieren

Aktivieren und konfigurieren Sie das Datei-Caching entweder mit einer Cloud Storage FUSE-Konfigurationsdatei oder mit Cloud Storage FUSE-Befehlszeilenoptionen. Sie können auch Beispielkonfigurationen verwenden. Weitere Informationen finden Sie unter Beispielkonfiguration zum Aktivieren des Dateicaching und paralleler Downloads.

  1. Geben Sie das zu verwendende Cacheverzeichnis mit dem Feld file-cache:cache-dir oder der Option --cache-dir an. Diese werden verwendet, um den Dateicache für Bereitstellungen zu aktivieren, die nicht in Google Kubernetes Engine erfolgen. Wenn Sie eine Google Kubernetes Engine-Bereitstellung verwenden, geben Sie die Eigenschaft file-cache:max-size-mb an.

  2. Wenn Sie die Gesamtkapazität begrenzen möchten, die der Cloud Storage FUSE-Cache in seinem eingebundenen Verzeichnis verwenden kann, passen Sie die Eigenschaft max-size-mb an. Diese wird automatisch auf -1 festgelegt, wenn Sie die Eigenschaft cache-dir festlegen. Sie können auch einen Wert in MiB oder GiB angeben, um die Cachegröße zu begrenzen.

  3. Legen Sie die Option metadata-cache:ttl-secs auf -1 fest, um den TTL-Ablauf von Cache-Einträgen zu umgehen und Dateimetadaten aus dem Cache bereitzustellen, sofern verfügbar. Der Standardwert ist 60 Sekunden. Mit dem Wert -1 wird er auf unbegrenzt festgelegt. Sie können auch einen hohen Wert angeben, der Ihren Anforderungen entspricht. Wir empfehlen, den Wert ttl-secs so hoch wie möglich für Ihre Arbeitslast festzulegen. Weitere Informationen zum Festlegen einer TTL für im Cache gespeicherte Einträge finden Sie unter Gültigkeitsdauer.

  4. Legen Sie die Option file-cache:cache-file-for-range-read auf true fest, um die gesamte Datei asynchron in den Cache zu laden, wenn der erste Lesevorgang einer Datei von einem anderen Ort als offset 0 beginnt. So können nachfolgende Lesevorgänge verschiedener Offsets aus derselben Datei aus dem Cache bereitgestellt werden.

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

  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 Leseleistung beim ersten Mal finden Sie unter Leseleistung beim ersten Mal verbessern.

Wenn Sie das Datei-Caching aktivieren, werden parallele Downloads in Cloud Storage FUSE-Versionen 2.12 und höher automatisch aktiviert. Wenn Sie eine ältere Version von Cloud Storage FUSE verwenden, legen Sie die Option enable-parallel-downloads auf true fest.

Unterstützende Eigenschaften für parallele Downloads konfigurieren

Optional können Sie die folgenden unterstützenden Attribute für parallele Downloads konfigurieren:

  • 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 beträgt 200 MiB. Beachten Sie, dass ein paralleler Download nur ausgelöst wird, wenn die gelesene Datei die angegebene Größe hat.

Parallele Downloads deaktivieren

Wenn Sie parallele Downloads deaktivieren möchten, legen Sie die Eigenschaft enable-parallel-downloads in Ihrer Cloud Storage FUSE-Konfigurationsdatei auf false fest.

Nächste Schritte