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/maschinelles Lernen) zu verbessern.
Um die Cloud Storage FUSE-Konfiguration für Ihre Bereitstellungs-,
Prüfpunkt- oder Trainingsarbeitslasten zu optimieren, können Sie vorkonfigurierte Profile
basierend auf Ihrem Arbeitslasttyp mit dem profile Feld oder
--profile Option anwenden. Mit dem Feld oder der Option können Sie einen vordefinierten, optimierten Satz von Cloud Storage FUSE-Funktionen für Caching, Threading und Puffergrößen angeben. So können Sie mit minimalem Aufwand eine hohe Leistung für Trainings-, Prüfpunkt- und Bereitstellungsarbeitslasten erzielen. Die Profilwerte sind aiml-training, aiml-checkpointing und aiml-serving.
Hinweise
Sie können die Option
--profileoder das Feldprofilenur während eines Bereitstellungsvorgangs festlegen. Wenn Sie die Option--profileoder das Feldprofileaktualisieren müssen, müssen Sie den Cloud Storage FUSE-Bucket neu bereitstellen.Wenn Sie profilbasierte Konfigurationen verwenden, legt Cloud Storage FUSE die Metadaten-Cache-Kapazität und die Lebensdauer (Time-to-Live, TTL) auf unbegrenzt fest. Das bedeutet, dass Einträge nie aus dem Metadaten-Cache entfernt werden. Wenn Ihre virtuelle Maschine nicht genügend Arbeitsspeicher hat, können Out of Memory (OOM)-Fehler auftreten. Daher empfehlen wir, die Arbeitsspeicherkapazität zu überprüfen, bevor Sie profilbasierte Konfigurationen anwenden. Fehler aufgrund von ungenügendem Arbeitsspeicher treten häufiger auf Maschinen mit weniger als 1 TiB Arbeitsspeicher auf.
Wenn ein Cloud Storage FUSE-Parameter auf mehrere Arten konfiguriert wird, gilt die folgende Rangfolge (von höchster zu niedrigster Priorität):
- Werte, die direkt in einem
gcsfuse-Befehl oder einer Cloud Storage FUSE-Konfigurationsdatei festgelegt wurden. - Werte, die von einem Profil festgelegt wurden, wobei das Profil mit der
--profileOption in einemgcsfuseBefehl oder demprofileFeld in einer Cloud Storage FUSE-Konfigurationsdatei angegeben wird. - Standardwerte, die automatisch angewendet werden, wenn Cloud Storage FUSE einen leistungsstarken Maschinentyp erkennt. Weitere Informationen finden Sie unter Automatisierte Konfigurationswerte für leistungsstarke Maschinentypen.
- Werte, die direkt in einem
Cloud Storage FUSE-CSI-Volumes in Google Kubernetes Engine-Pods unterstützen das
profileFeld oder die--profileOption 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 Datei-Caching für Bereitstellungs-, Trainings- oder Prüfpunktarbeitslasten aktivieren möchten, müssen Sie die Optionen oder Felder für das Datei-Caching explizit konfigurieren.
Profilbasierte Konfigurationen für Trainingsarbeitslasten anwenden
Das trainingsspezifische Profil optimiert die Leistung für Lesevorgänge mit hohem Durchsatz in 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 in einer Cloud Storage FUSE-Konfigurationsdatei oder
--profile=aiml-training in der
Cloud Storage FUSE-Befehlszeile 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
Profilbasierte Konfigurationen für Prüfpunktarbeitslasten anwenden
Das prüfpunktspezifische Profil optimiert die Leistung für durchsatzstarke Schreibvorgänge für große Dateien, indem es die Zeit zum Speichern von Prüfpunkten mit mehreren Gigabyte drastisch verkürzt und Trainingspausen minimiert.
Wenn Sie das prüfpunktspezifische Profil anwenden möchten, geben Sie entweder
profile: aiml-checkpointing in einer Cloud Storage FUSE-Konfigurationsdatei oder
--profile=aiml-checkpointing in der
Cloud Storage FUSE-Befehlszeile 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
# 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 Bereitstellungsarbeitslasten, indem sie den Datenzugriff und die Caching-Mechanismen verbessert.
Wenn Sie das bereitstellungsspezifische Profil anwenden möchten, geben Sie entweder
profile: aiml-serving in einer Cloud Storage FUSE-Konfigurationsdatei oder
--profile=aiml-serving in der
Cloud Storage FUSE-Befehlszeile 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
# 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
Nächste Schritte
Informationen zu automatisierten Konfigurationswerten für leistungsstarke Maschinentypen.
Informationen zum Optimieren der Leistung mit vorkonfigurierten GKE-YAML-Dateien