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- und ML-Arbeitslasten (künstliche Intelligenz und 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 Feld profile oder der Option --profile 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 Mountvorgangs festlegen. Wenn Sie die Option--profileoder das Feldprofileaktualisieren 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 ein Cloud Storage FUSE-Parameter auf mehrere Arten konfiguriert wird, gilt die folgende Prioritätsreihenfolge (von höchster bis niedrigster Priorität):
- Werte, die direkt in einem
gcsfuse-Befehl oder einer Cloud Storage FUSE-Konfigurationsdatei festgelegt sind. - Werte, die von einem Profil festgelegt werden, wobei das Profil mit der Option
--profilein einemgcsfuse-Befehl oder mit dem Feldprofilein 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 Feld
profileoder die Option--profilenicht.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 Serving-, Trainings- oder Checkpointing-Workloads 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 durchsatzstarke Lesevorgänge 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 mit einer Cloud Storage FUSE-Konfigurationsdatei oder --profile=aiml-training mit 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
# 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 checkpointingspezifische 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-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
# 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 die Bereitstellung von Arbeitslasten durch einen verbesserten Datenzugriff und Caching-Mechanismen.
Wenn Sie das Serving-spezifische 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-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
# 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