Información general sobre el almacenamiento en caché en Cloud Storage FUSE

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

Para mejorar el rendimiento de la recuperación de datos, Cloud Storage FUSE ofrece cuatro tipos de almacenamiento en caché opcionales:

Cuestiones importantes

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

  • Si una entrada de la caché de archivos aún no ha caducado según su tiempo de vida (TTL) y el archivo está en la caché, las operaciones de lectura de ese archivo se sirven desde la caché del cliente local sin que se envíe ninguna solicitud a Cloud Storage.

  • Si una entrada de la caché de archivos ha caducado según su TTL, primero se hace una llamada de GET atributos de archivo a Cloud Storage. Si el archivo no está en la caché o si los atributos del archivo indican que el contenido del archivo ha cambiado, el contenido del archivo se recupera de Cloud Storage. Ambas operaciones están sujetas a latencias de red. Si los atributos de archivo almacenados en caché no son válidos, pero el contenido del archivo está en la caché y su generación de objetos no ha cambiado, el contenido del archivo se sirve desde la caché solo después de que la llamada de atributos de archivo GET confirme la validez del contenido del archivo.

  • Si un cliente FUSE de Cloud Storage modifica el contenido de un archivo almacenado en caché o sus atributos de archivo, la entrada de caché de ese archivo se invalida inmediatamente, lo que garantiza la coherencia en la siguiente lectura del mismo cliente. Sin embargo, si diferentes clientes acceden al mismo contenido de un archivo o a sus atributos y sus respectivas entradas se almacenan en caché, esos clientes seguirán leyendo sus versiones en caché del contenido del archivo o de sus atributos hasta que sus ajustes de tiempo de vida (TTL) individuales provoquen una invalidación.

  • Para evitar que la caché se agote, asegúrate de que todo tu conjunto de datos quepa en la capacidad de la caché. También debes tener en cuenta la capacidad máxima y el rendimiento que pueden ofrecer tus medios de caché. Si alcanzas el rendimiento máximo, el límite de capacidad o ambos de la caché aprovisionada, te recomendamos que leas directamente de Cloud Storage, que tiene límites mucho más altos que Cloud Storage FUSE.

Ruta de lectura de los datos almacenados en caché

La caché de Cloud Storage FUSE acelera las lecturas repetidas después de que se hayan insertado en la caché. Tanto las lecturas iniciales como los fallos de caché van directamente a Cloud Storage y están sujetas a las latencias de red normales de Cloud Storage. Para mejorar el rendimiento de la primera lectura, consulta Rellenar previamente la caché de metadatos.

Información general sobre el almacenamiento en caché de archivos

La caché de archivos FUSE de Cloud Storage es una caché de lectura basada en el cliente que sirve 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 iniciales, mediante el uso de varios procesos para descargar un archivo en paralelo usando el directorio de caché de archivos como búfer de prefetched. Las descargas paralelas se pueden usar para optimizar el rendimiento de las cargas de trabajo de inteligencia artificial (IA) y aprendizaje automático (ML), como el servicio de modelos, la restauración de puntos de control y el entrenamiento con objetos grandes. Para obtener más información sobre las descargas paralelas, consulta Descargas paralelas.

Configurar el almacenamiento en caché de archivos

Para saber cómo configurar el almacenamiento en caché de archivos, consulta Usar el almacenamiento en caché de archivos de Cloud Storage FUSE.

Información general sobre el almacenamiento en caché de estadísticas

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

Configurar 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 mediante uno de los siguientes métodos:

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

Configurar el almacenamiento en caché de estadísticas negativas

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

Descripción general del almacenamiento en caché de tipos

La caché de tipo FUSE de Cloud Storage es una caché de metadatos que almacena información de tipo en caché, como un archivo, un directorio o un enlace simbólico, y acelera el rendimiento de las operaciones de metadatos específicas de la existencia de archivos o directorios. El uso de la caché de tipos mejora la latencia al reducir el número de solicitudes realizadas a Cloud Storage para comprobar si existe un archivo o un directorio, ya que almacena esta información de forma local. Para obtener más información sobre el almacenamiento en caché de tipos, consulta la documentación de Semantics en GitHub.

Configurar el almacenamiento en caché de tipos

La caché de tipos está habilitada de forma predeterminada y se puede configurar mediante 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 mediante 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 sobre las opciones de la CLI o el archivo de configuración.

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

Descripción general del almacenamiento en caché de listas

La caché de lista de Cloud Storage FUSE se usa para las listas de directorios y archivos, o respuestas ls, lo que mejora la velocidad de las operaciones de lista. El almacenamiento en caché de listas es especialmente útil para cargas de trabajo que repiten listados de directorios completos como parte de la ejecución, como las ejecuciones de entrenamiento de IA o de aprendizaje automático.

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

Configurar el almacenamiento en caché de listas

Puede habilitar el almacenamiento en caché de listas mediante uno de los siguientes métodos:

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

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

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

En el caso de las cachés de archivos, estadísticas y tipos, utilice uno de los siguientes métodos para especificar el TTL en segundos durante el que se usan los metadatos almacenados en caché desde que se obtienen de Cloud Storage hasta que caducan y deben actualizarse:

Si especifica un valor superior a 0, los metadatos de la caché del archivo solo serán válidos durante el tiempo que haya especificado. Para el almacenamiento en caché de archivos, te recomendamos que aumentes el valor en función del tiempo previsto entre lecturas repetidas mientras equilibras las necesidades de coherencia. En función de la importancia y la frecuencia con la que cambian los datos, te recomendamos que definas el valor más alto que te permita tu carga de trabajo. Cuando una entrada de metadatos deja de ser válida, las lecturas posteriores se consultan en Cloud Storage.

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

  • 0: asegura que se lea el archivo con los datos más actualizados. Para ello, se hace una llamada de metadatos GET a Cloud Storage que comprueba el archivo desde el que se sirve para asegurarse de que la caché sea coherente. Si el archivo de la caché está actualizado, se sirve directamente desde la caché. Si se especifica un valor distinto de 0, el rendimiento puede verse afectado, ya que siempre se debe hacer una llamada a Cloud Storage para comprobar los metadatos primero. Si el archivo está en la caché y no ha cambiado, se sirve desde la caché con coherencia después de la llamada de metadatos GET.

  • -1: asegura que el archivo siempre se lea de la caché si está disponible, sin comprobar la coherencia. Si se sirven archivos sin comprobar la coherencia, se pueden servir datos incoherentes. Por lo tanto, solo se deben usar temporalmente para cargas de trabajo que se ejecuten en trabajos con datos que no cambien. Por ejemplo, usar el valor -1 es útil para el entrenamiento de aprendizaje automático, donde se leen los mismos datos en varias épocas sin cambios.

Invalidación de caché de listas

La invalidación de la caché de listas se define especificando un valor superior a 0 mediante uno de los siguientes métodos:

  • Opción de la CLI --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 páginas del kernel y sigue siendo válida durante el tiempo que hayas especificado. Si especificas el valor -1, Cloud Storage FUSE inhabilita la caducidad de la caché de listas y devuelve la respuesta de la lista de la caché cuando está disponible. Si se especifica el valor 0, se inhabilita la caché de la lista.

Siguientes pasos