In diesem Dokument wird beschrieben, wie Sie profilbasierte Konfigurationen verwenden können, um die Einführung zu optimieren und die Leistung von Cloud Storage FUSE für Ihre KI- oder ML-Arbeitslasten (künstliche Intelligenz/Machine Learning) zu verbessern.
Um die Cloud Storage FUSE-Konfiguration für Ihre Serving-, Checkpointing- oder Trainingsarbeitslasten zu optimieren, können Sie vorkonfigurierte Profile basierend auf Ihrem Arbeitslasttyp mit dem Feld profile
oder der Option --profile
anwenden. Mit dem Feld oder der Option können Sie eine vordefinierte, optimierte Gruppe von Cloud Storage FUSE-Funktionen für Caching, Threading und Puffergrößen angeben, um eine hohe Leistung mit minimalem Aufwand für Trainings-, Checkpointing- und Serving-Arbeitslasten zu erzielen. Die Profilwerte sind aiml-training
, aiml-checkpointing
und aiml-serving
.
Hinweise
Sie können die Option
--profile
oder das Feldprofile
nur während eines Mountvorgangs festlegen. Wenn Sie die Option--profile
oder das Feldprofile
aktualisieren müssen, müssen Sie Ihren Cloud Storage FUSE-Bucket neu bereitstellen.Wenn Sie profilbasierte Konfigurationen verwenden, legt Cloud Storage FUSE die Metadaten-Cachekapazität und die Gültigkeitsdauer (Time-to-Live, TTL) auf unbegrenzt fest. Das bedeutet, dass Einträge nie aus dem Metadaten-Cache entfernt werden. Wenn Ihre VM nicht über genügend Arbeitsspeicher verfügt, können OOM-Fehler (Out of Memory) auftreten. Wir empfehlen Ihnen daher, Ihre Speicherkapazität zu prüfen, bevor Sie profilbasierte Konfigurationen anwenden. OOM-Fehler treten eher auf Maschinen mit weniger als 1 TiB Arbeitsspeicher auf.
Wenn Sie Konfigurationswerte mit Profilen, erkannten leistungsstarken Maschinentypen, einem
gcsfuse
-Befehl oder einer Cloud Storage FUSE-Konfigurationsdatei angeben, haben die Methoden die folgende Priorität (wobei die oberen Methoden die darunterliegenden Methoden überschreiben):Werte, die als Teil eines
gcsfuse
-Befehls oder einer Cloud Storage FUSE-Konfigurationsdatei festgelegt wurden.Werte, die als Argument für die Option
--profiles
in einemgcsfuse
-Befehl oder im Feldprofile
in einer Cloud Storage FUSE-Konfigurationsdatei festgelegt sind.Automatisierte Konfigurationswerte, die festgelegt werden, wenn Cloud Storage FUSE erkennt, dass ein leistungsstarker Maschinentyp verwendet wird. Weitere Informationen finden Sie unter Automatisierte Konfigurationswerte.
Cloud Storage FUSE CSI-Volumes in Google Kubernetes Engine-Pods unterstützen das Feld
profile
oder die Option--profile
nicht.Das Datei-Caching kann nicht mit profilbasierten Konfigurationen aktiviert werden, da dafür Cloud Storage FUSE-Konfigurationsfelder und Cloud Storage FUSE-Befehlszeilenoptionen erforderlich sind, die nicht verallgemeinert werden können. Wenn Sie das Dateicaching für Bereitstellungs-, Trainings- oder Checkpointing-Arbeitslasten aktivieren möchten, müssen Sie die Optionen oder Felder für das Dateicaching explizit konfigurieren.
Profilbasierte Konfigurationen für Trainingsarbeitslasten anwenden
Das trainingsspezifische Profil optimiert die Leistung für Lesevorgänge mit hohem Durchsatz von großen Datasets und verhindert, dass Cloud-GPUs und Cloud TPU-Hardware auf Daten warten müssen.
Wenn Sie das trainingsspezifische Profil anwenden möchten, geben Sie entweder profile=aiml-training
mit einer Cloud Storage FUSE-Konfigurationsdatei oder --profile=aiml-training
mit der Cloud Storage FUSE-CLI an. Die folgenden Konfigurationen werden dann angewendet:
# Create implicit directories locally when accessed:
- implicit-dirs
# Disable caching for lookups of files or directories that don't exist:
- metadata-cache:negative-ttl-secs:0
# Keep cached metadata (file attributes, types) indefinitely time-wise:
- metadata-cache:ttl-secs:-1
# Allow unlimited size for the file attribute (stat) cache:
- metadata-cache:stat-cache-max-size-mb:-1
# Allow unlimited size for the file/directory type cache:
- metadata-cache:type-cache-max-size-mb:-1
Profilbasierte Konfigurationen für Checkpointing-Arbeitslasten anwenden
Das checkpointing-spezifische Profil optimiert die Leistung für Schreibvorgänge mit hohem Durchsatz für große Dateien, indem die Zeit, die zum Speichern von Checkpoints mit mehreren Gigabyte erforderlich ist, drastisch reduziert wird. So werden Trainingspausen minimiert.
Wenn Sie das trainingsspezifische Profil anwenden möchten, geben Sie entweder profile=aiml-checkpointing
mit einer Cloud Storage FUSE-Konfigurationsdatei oder --profile=aiml-checkpointing
mit der Cloud Storage FUSE-CLI an. Die folgenden Konfigurationen werden dann angewendet:
# Create implicit directories locally when accessed:
- implicit-dirs
# Disable caching for lookups of files/dirs that don't exist:
- metadata-cache:negative-ttl-secs:0
# Keep cached metadata (file attributes, types) indefinitely time-wise:
- metadata-cache:ttl-secs:-1
# Allow unlimited size for the file attribute (stat) cache:
- metadata-cache:stat-cache-max-size-mb:-1
# Allow unlimited size for the file/directory type cache:
- metadata-cache:type-cache-max-size-mb:-1
# Cache the entire file when any part is read sequentially:
- file-cache:cache-file-for-range-read:true
# Allow renaming directories with a lot of files in non-HNS buckets.
- file-system:rename-dir-limit:200000
Profilbasierte Konfigurationen für Bereitstellungsarbeitslasten anwenden
Die Bereitstellung optimiert die Leistung für Bereitstellungs-Workloads, indem der Datenzugriff und die Caching-Mechanismen verbessert werden.
Wenn Sie das trainingsspezifische Profil anwenden möchten, geben Sie entweder profile=aiml-serving
mit einer Cloud Storage FUSE-Konfigurationsdatei oder --profile=aiml-serving
mit der Cloud Storage FUSE-CLI an. Die folgenden Konfigurationen werden dann angewendet:
# Create implicit directories locally when accessed:
- implicit-dirs
# Disable caching for lookups of files/dirs that don't exist:
- metadata-cache:negative-ttl-secs:0
# Keep cached metadata (file attributes, types) indefinitely time-wise:
- metadata-cache:ttl-secs:-1
# Allow unlimited size for the file attribute (stat) cache:
- metadata-cache:stat-cache-max-size-mb:-1
# Allow unlimited size for the file/directory type cache:
- metadata-cache:type-cache-max-size-mb:-1
# Cache the entire file when any part is read sequentially:
- file-cache:cache-file-for-range-read:true
# Enable kernel-list-cache to make listing faster as this is a readonly file system hierarchy.
- file-system:kernel-list-cache-ttl-secs:-1