En este documento se describe cómo puedes usar configuraciones basadas en perfiles para agilizar la adopción y mejorar el rendimiento de Cloud Storage FUSE en tus cargas de trabajo de inteligencia artificial o aprendizaje automático (IA/ML).
Para simplificar la configuración de Cloud Storage FUSE para tus cargas de trabajo de servicio, de creación de puntos de control o de entrenamiento, puedes aplicar perfiles preconfigurados en función del tipo de carga de trabajo mediante el campo profile
o la opción --profile
. Con este campo u opción, puedes especificar un conjunto predefinido y optimizado de funciones de Cloud Storage FUSE para el almacenamiento en caché, el multihilo y los tamaños de búfer, lo que garantiza un alto rendimiento con el mínimo esfuerzo para las cargas de trabajo de entrenamiento, creación de puntos de control y servicio, con los valores de perfil aiml-training
, aiml-checkpointing
y aiml-serving
, respectivamente.
Cuestiones importantes
Solo puedes definir la opción
--profile
o el campoprofile
durante una operación de montaje. Si necesitas actualizar la opción--profile
o el campoprofile
, debes volver a montar tu segmento de Cloud Storage FUSE.Cuando usas configuraciones basadas en perfiles, Cloud Storage FUSE asigna a la capacidad de la caché de metadatos y al tiempo de vida (TTL) el valor ilimitado, lo que significa que las entradas nunca se eliminan de la caché de metadatos. Si tu máquina virtual no tiene suficiente memoria, es posible que se produzcan errores de falta de memoria (OOM). Por lo tanto, te recomendamos que revises la capacidad de memoria antes de aplicar configuraciones basadas en perfiles. Es más probable que se produzcan errores de falta de memoria en máquinas con menos de 1 TiB de memoria.
Cuando se especifican valores de configuración mediante perfiles, tipos de máquina de alto rendimiento detectados, un comando
gcsfuse
o un archivo de configuración de FUSE de Cloud Storage, los métodos tienen prioridad en el siguiente orden (donde los métodos de la parte superior sustituyen a los que están debajo):Valores definidos como parte de un comando
gcsfuse
o de un archivo de configuración de Cloud Storage FUSE.Valores definidos como argumento de la opción
--profiles
en un comandogcsfuse
o en el campoprofile
de un archivo de configuración de Cloud Storage FUSE.Valores de configuración automatizados que se definen cuando Cloud Storage FUSE detecta que se está usando un tipo de máquina de alto rendimiento. Para obtener más información, consulta Valores de configuración automatizados.
Los volúmenes de Cloud Storage FUSE CSI en los pods de Google Kubernetes Engine no admiten el campo
profile
ni la opción--profile
.No se puede habilitar el almacenamiento en caché de archivos mediante configuraciones basadas en perfiles porque requiere el uso de campos de configuración de Cloud Storage FUSE y opciones de la CLI de Cloud Storage FUSE que no se pueden generalizar. Para habilitar el almacenamiento en caché de archivos para servir, entrenar o crear puntos de control de cargas de trabajo, debes configurar explícitamente las opciones o los campos de almacenamiento en caché de archivos.
Aplicar configuraciones basadas en perfiles a cargas de trabajo de entrenamiento
El perfil específico de entrenamiento optimiza el rendimiento para las lecturas de alto rendimiento de grandes conjuntos de datos e impide que el hardware de las GPUs y las TPUs de Cloud espere los datos.
Para aplicar el perfil específico del entrenamiento, especifica profile=aiml-training
mediante un archivo de configuración de Cloud Storage FUSE o --profile=aiml-training
mediante la CLI de Cloud Storage FUSE. A continuación, se aplican las siguientes configuraciones:
# 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
Aplicar configuraciones basadas en perfiles a cargas de trabajo de creación de puntos de control
El perfil específico de creación de puntos de control optimiza el rendimiento de las escrituras de alto rendimiento para archivos grandes, ya que reduce drásticamente el tiempo necesario para guardar puntos de control de varios gigabytes, lo que minimiza las pausas del entrenamiento.
Para aplicar el perfil específico del entrenamiento, especifica profile=aiml-checkpointing
mediante un archivo de configuración de Cloud Storage FUSE o --profile=aiml-checkpointing
mediante la CLI de Cloud Storage FUSE. A continuación, se aplican las siguientes configuraciones:
# 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
Aplicar configuraciones basadas en perfiles para publicar cargas de trabajo
Serving optimiza el rendimiento de las cargas de trabajo de servicio mejorando el acceso a los datos y los mecanismos de almacenamiento en caché.
Para aplicar el perfil específico del entrenamiento, especifica profile=aiml-serving
mediante un archivo de configuración de Cloud Storage FUSE o --profile=aiml-serving
mediante la CLI de Cloud Storage FUSE. A continuación, se aplican las siguientes configuraciones:
# 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
Siguientes pasos
Consulta información sobre los valores de configuración automatizados para tipos de máquinas de alto rendimiento.
Consulta cómo optimizar el rendimiento con archivos YAML de GKE preconfigurados.