Usa el almacenamiento en caché de archivos de Cloud Storage FUSE

La característica de caché de archivos de Cloud Storage FUSE es una caché de lectura basada en el cliente que permite repetir las lecturas de archivos para entregarlas desde el almacenamiento en caché más rápido que elijas. En esta página, se describe cómo habilitar y usar el almacenamiento en caché de archivos de Cloud Storage FUSE. Para obtener una descripción general del almacenamiento en caché de archivos, de estadísticas o de tipo, consulta Descripción general del almacenamiento en caché.

Antes de comenzar

La caché de archivos requiere una ruta de acceso de directorio que se usará para almacenar los archivos en caché. Puedes crear un directorio nuevo en un sistema de archivos existente o crear un sistema de archivos nuevo en el almacenamiento aprovisionado. Si aprovisionas un almacenamiento nuevo para usar, sigue estas instrucciones para crear un sistema de archivos nuevo:

  1. Para Hyperdisk de Google Cloud, consulta Crea un nuevo volumen de Hyperdisk de Google Cloud.

  2. Para Persistent Disk, consulta Crea un nuevo volumen de Persistent Disk.

  3. Para SSD locales, consulta Agrega una SSD local a tu VM.

  4. Para los discos RAM en la memoria, consulta Crea discos RAM en la memoria.

Habilita y configura el comportamiento del almacenamiento en caché

  1. Habilita y configura el almacenamiento en caché de archivos mediante el campo file-cache en un archivo de configuración de Cloud Storage FUSE y especifica el directorio de caché que deseas usar en el campo cache-dir. La caché de archivos está inhabilitada de forma predeterminada. Ten en cuenta que puedes habilitar el almacenamiento en caché de archivos si pasas un directorio al campo cache-dir.

  2. Opcional: Configura el almacenamiento en caché de estadísticas y de tipo mediante el campo metadata-cache en un archivo de configuración. Para obtener más información sobre el almacenamiento en caché de estadísticas y tipos, consulta Descripción general del almacenamiento en caché de tipo o Descripción general del almacenamiento en caché de estadísticas.

  3. Opcional: Aumenta el TTL de las entradas almacenadas en caché mediante la configuración de la opción ttl-secs en un valor basado en el tiempo esperado entre las lecturas repetidas mientras equilibra las necesidades de coherencia. Te recomendamos que establezcas el valor ttl-secs en el mismo valor que tu carga de trabajo. Puedes configurar el TTL en un archivo de configuración de Cloud Storage FUSE. Si deseas obtener más información sobre cómo configurar un TTL para entradas almacenadas en caché, consulta Tiempo de actividad.

    Por ejemplo, el siguiente archivo de configuración habilita el almacenamiento en caché de archivos, de estadísticas y de tipos con un TTL de 3600 segundos, y el directorio de la caché configurado como /path/to/a/directory/. Ten en cuenta que max-size-mb se establece en -1, que configura la caché del archivo para usar toda la capacidad disponible.

    file-cache:
      max-size-mb: -1
      cache-file-for-range-read: false
    
    metadata-cache:
      stat-cache-max-size-mb: 32
      ttl-secs: 3600
      type-cache-max-size-mb: 4
    
    cache-dir: /path/to/a/directory
    
  4. Opcional: Para acelerar las lecturas de archivos grandes, incluidas las primeras lecturas, habilita la propiedad enable-parallel-downloads, que usa varios trabajadores para descargar un archivo grande en paralelo con el directorio de caché de archivos como un búfer de carga previa. Para obtener más información sobre las descargas en paralelo y cómo configurar sus propiedades compatibles, consulta Cómo mejorar el rendimiento de lectura con descargas en paralelo.

  5. Ejecuta de forma manual el comando ls -R en el bucket activado antes de ejecutar la carga de trabajo para propagar los metadatos con anterioridad para garantizar que la caché del tipo se propague antes de la primera lectura en un método por lotes más rápido. Para obtener más información para mejorar el rendimiento de las lecturas por primera vez, consulta Mejora las lecturas por primera vez.

Descarga varios archivos en paralelo con descargas paralelas

Puedes mejorar el rendimiento de lectura habilitando y configurando la función de descarga en paralelo, que usa varios trabajadores para descargar un archivo en paralelo con el directorio de almacenamiento en caché de archivos como búfer de carga previa. Recomendamos usar descargas en paralelo para situaciones de lectura de subproceso único que carguen archivos grandes, como la entrega de modelos y las restauraciones de puntos de control.

Antes de habilitar las descargas paralelas, ten en cuenta lo siguiente:

  • Si tu aplicación realiza un paralelismo de lectura alto en ocho subprocesos, es posible que experimentes una leve degradación del rendimiento.

  • No recomendamos usar descargas paralelas para las cargas de trabajo de entrenamiento debido a su alto paralelismo de lectura.

  • Para usar descargas paralelas, primero debes habilitar y configurar la caché de archivos.

  • El archivo que se lee debe ajustarse a la capacidad disponible del directorio de caché de archivos, que se puede controlar con la propiedad max-size-mb.

Configura descargas paralelas

  1. En un archivo de configuración de Cloud Storage FUSE, establece la propiedad enable-parallel-downloads en true y, de forma opcional, configura la siguiente configuración compatible:

    • parallel-downloads-per-file: es la cantidad máxima de trabajadores que pueden generarse por archivo para descargar el objeto de Cloud Storage a la caché de archivos. El valor predeterminado es 16.

    • max-parallel-downloads: la cantidad máxima de trabajadores que se pueden generar en un momento determinado en todos los trabajos de descarga de archivos. De forma predeterminada, se establece el doble de los núcleos de CPU en tu máquina. Para especificar que no haya límite, ingresa un valor de -1.

    • download-chunk-size-mb: Es el tamaño de cada solicitud de lectura en MiB que cada trabajador realiza en Cloud Storage cuando descarga el objeto en la caché de archivos. El tamaño predeterminado es de 50 MiB. Ten en cuenta que una descarga en paralelo solo se activa si el archivo que se lee es del tamaño especificado.

¿Qué sigue?