Descripción general del almacenamiento en caché en Cloud Storage FUSE

En esta página, se proporcionan detalles sobre las opciones de almacenamiento en caché disponibles para Cloud Storage FUSE y cómo se puede configurar cada tipo de caché.

Para ayudar a aumentar el rendimiento de la recuperación de datos, Cloud Storage FUSE ofrece cuatro tipos de almacenamiento en caché opcional:

Consideraciones

  • Habilitar el almacenamiento en caché de archivos, de estadísticas, de tipo o de listas puede aumentar el rendimiento, pero reducir la coherencia, lo que suele ocurrir cuando accedes al mismo bucket con varios clientes con una tasa de cambio alta. Para reducir el impacto en la coherencia, recomendamos activar los buckets como de solo lectura. Para obtener más información sobre el comportamiento del almacenamiento en caché, consulta la documentación de semántica de Cloud Storage FUSE en GitHub.

  • Si una entrada de caché de archivos aún no venció en función de su tiempo de actividad (TTL) y el archivo está en la caché, las operaciones de lectura de ese archivo se entregan desde la caché del cliente local sin que se emita ninguna solicitud a Cloud Storage.

  • Si una entrada de caché de archivos venció en función de su TTL, primero se hace una llamada de metadatos de GET a Cloud Storage y, si el archivo no está en la caché, se recupera de Cloud Storage. Ambas operaciones están sujetas a latencias de red. Si se invalidó la entrada de metadatos, pero el archivo está en la caché y su generación de objetos no cambió, el archivo se entrega desde la caché solo después de que se realiza la llamada de metadatos GET para comprobar si los datos son válidos.

  • Coherencia: si un cliente de Cloud Storage FUSE modifica un archivo almacenado en caché o sus metadatos, el archivo se invalida de inmediato y el mismo cliente garantiza la coherencia en la siguiente lectura. Sin embargo, si diferentes clientes acceden al mismo archivo o a sus metadatos y sus entradas se almacenan en caché, entonces la versión almacenada en caché del archivo o los metadatos se lee y no la versión actualizada hasta que el archivo se invalida. la configuración de TTL de ese cliente específico.

  • Para evitar la hiperpaginación de caché, asegúrate de que todo tu conjunto de datos se ajuste a la capacidad de caché. Además, considera la capacidad y el rendimiento máximos que pueden proporcionar tus medios de caché. Si alcanzaste el rendimiento máximo de la caché aprovisionada, el límite de capacidad o ambos, es beneficioso leer directamente desde Cloud Storage, que tiene límites mucho más altos que Cloud Storage FUSE.

Ruta de lectura para los datos almacenados en caché

La caché de Cloud Storage FUSE acelera las lecturas repetidas después de que se transfieran a la caché. Las lecturas por primera vez y los errores de caché van directamente a Cloud Storage y están sujetos a latencias de red normales de Cloud Storage. Para mejorar el rendimiento de la primera lectura, consulta Cómo completar previamente la caché de metadatos.

Descripción general del almacenamiento en caché de archivos

La caché de archivos de Cloud Storage FUSE es una caché de lectura basada en el cliente que entrega lecturas de archivos repetidas desde el almacenamiento en caché respaldado por tu sistema de archivos local. Para obtener más información sobre el almacenamiento en caché de archivos, consulta la página Almacenamiento en caché de archivos.

Descargas paralelas

Cuando habilitas el almacenamiento en caché de archivos, las descargas paralelas se habilitan automáticamente en las versiones 2.12 y posteriores de Cloud Storage FUSE. Las descargas paralelas aceleran el rendimiento de lectura de archivos grandes de más de 1 GB, incluidas las lecturas por primera vez, ya que usan varios trabajadores para descargar un archivo en paralelo con el directorio de caché de archivos como un búfer de carga previa. Las descargas en paralelo se pueden usar para optimizar el rendimiento de las cargas de trabajo de inteligencia artificial (IA) y aprendizaje automático (AA), como la entrega de modelos, la restauración de puntos de control y el entrenamiento en objetos grandes. Para obtener más información sobre las descargas paralelas, consulta Descargas paralelas.

Configura el almacenamiento en caché de archivos

Para obtener más información sobre cómo configurar el almacenamiento en caché de archivos, consulta Cómo usar el almacenamiento en caché de archivos de Cloud Storage FUSE.

Descripción general del almacenamiento en caché de estadísticas

La caché de estadísticas de Cloud Storage FUSE es una caché para metadatos de objetos que mejora el rendimiento de operaciones específicas de los atributos de archivo, como el tamaño, la hora de modificación o los permisos. El uso de la caché de estadística mejora la latencia con el uso de datos almacenados en caché para llevar a cabo operaciones en lugar de enviar una solicitud de objeto de estadística a Cloud Storage. Para obtener más información sobre el almacenamiento en caché de estadísticas, consulta la documentación de semántica en GitHub.

Configura la caché de estadísticas

La caché de estadísticas está habilitada de forma predeterminada y se puede configurar mediante un archivo de configuración de Cloud Storage FUSE. El tamaño máximo de la caché se controla con uno de los siguientes métodos:

Para obtener más información sobre los valores predeterminados y recomendados para configurar el caché de estadísticas, consulta las páginas de opciones de la CLI y el archivo de configuración de Cloud Storage FUSE.

Configura el almacenamiento en caché de estadísticas negativas

Cloud Storage FUSE también ofrece una capacidad de almacenamiento en caché de estadísticas negativas, que te permite establecer un TTL para las entradas de caché de estadísticas de archivos no existentes o resultados negativos. El TTL de la caché de estadísticas negativas se controla con uno de los siguientes métodos:

Descripción general del almacenamiento en caché de tipo

La caché de tipo de Cloud Storage FUSE es una caché de metadatos que acelera el rendimiento de las operaciones de metadatos específicas para la existencia de archivos o directorios. El uso de la caché de tipo mejora la latencia, ya que reduce la cantidad de solicitudes que se le hacen a Cloud Storage para comprobar si existe un archivo o directorio con el almacenamiento de esta información de forma local. Para obtener más información sobre el almacenamiento en caché de tipos, consulta la documentación de semántica en GitHub.

Configura el almacenamiento en caché de tipos

La caché de tipos está habilitada de forma predeterminada y se puede configurar con un archivo de configuración de Cloud Storage FUSE o la CLI de Cloud Storage FUSE. El tamaño máximo de la caché se controla con uno de los siguientes métodos:

Para obtener más información sobre el almacenamiento en caché de tipos y los valores recomendados, consulta las páginas de opciones de la CLI o del archivo de configuración.

El TTL de la caché se controla con uno de los siguientes métodos:

Descripción general del almacenamiento en caché de la lista

La caché de la lista de Cloud Storage FUSE es para la lista de directorios y archivos, o ls, respuestas que mejora las velocidades de operaciones de listas. El almacenamiento en caché de la lista es especialmente útil para cargas de trabajo que repiten listas de directorios completas como parte de la ejecución, como las ejecuciones de entrenamiento de IA/AA.

La caché de la lista se mantiene en la memoria caché de la página, que el kernel controla según la disponibilidad de la memoria, a diferencia de las cachés de estadísticas y tipos, que se mantienen en la memoria de tu máquina y las controla Cloud Storage FUSE.

Configura el almacenamiento en caché de la lista

Puedes habilitar el almacenamiento en caché de listas con uno de los siguientes métodos:

Para habilitar y configurar el almacenamiento en caché de la lista, consulta el archivo de configuración de Cloud Storage FUSE o las páginas de opciones de la CLI de Cloud Storage FUSE.

Configura la invalidación de caché de archivos, estadísticas y tipos

En las siguientes secciones, se describe cómo configurar la invalidación de caché para todos los tipos de caché.

En el caso de las cachés de archivos, estadísticas y tipos, usa uno de los siguientes métodos para especificar el TTL en segundos por cuánto tiempo se usan los metadatos almacenados en caché desde el momento en que se recuperan de Cloud Storage hasta que vencen y deben actualizarse:

Cuando especificas un valor mayor que 0, los metadatos de la caché del archivo siguen siendo válidos solo durante el tiempo que especificaste. Para el almacenamiento en caché de archivos, te recomendamos aumentar el valor según el tiempo esperado entre lecturas repetidas mientras balanceas las necesidades de coherencia. Según la importancia y la frecuencia de los datos que cambian, te recomendamos establecer el valor tan alto como lo permita tu carga de trabajo. Cuando una entrada de metadatos deja de ser válida, se consultan las lecturas posteriores desde Cloud Storage.

Además de aceptar valores que representen un TTL específico en segundos antes de que venzan los metadatos almacenados en caché y se deban actualizar, puedes usar los siguientes valores para especificar cómo se lee el archivo:

  • 0: Garantiza que se lea el archivo con los datos más actualizados mediante la emisión de una llamada de metadatos GET a Cloud Storage que compruebe el archivo desde el que se entrega para garantizar que la caché sea coherente. Si el archivo en la caché está actualizado, se entrega directamente desde la caché. Especificar un valor distinto de 0 puede reducir el rendimiento porque siempre se debe hacer una llamada a Cloud Storage para comprobar los metadatos primero. Si el archivo está en la caché y no cambió, el archivo se entrega desde la caché con coherencia después de la llamada de metadatos GET.

  • -1: Garantiza que el archivo siempre se lea desde la caché, si está disponible, sin comprobar la coherencia. Entrega archivos sin comprobar la coherencia puede entregar datos incoherentes y solo debe usarse de forma temporal para las cargas de trabajo que se ejecutan en trabajos con datos que no cambian. Por ejemplo, usar un valor de -1 es útil para la capacitación de aprendizaje automático, en el que se leen los mismos datos en varios ciclos de capacitación sin cambios.

Enumera la invalidación de caché

La invalidación de caché de listas se establece especificando un valor mayor que 0 con uno de los siguientes métodos:

  • Opción de la CLI de --kernel-list-cache-ttl-secs
  • Campo file-system:kernel-list-cache-ttl-secs

La respuesta de la lista de directorios se mantiene en la caché de la página del kernel y sigue siendo válida durante el tiempo que especificaste. Cuando especificas un valor de -1, Cloud Storage FUSE inhabilita el vencimiento de la caché de la lista y muestra la respuesta de la lista de la caché cuando está disponible. Si se especifica un valor de 0, se inhabilita la caché de la lista.

¿Qué sigue?