La capacidad infinita de almacenamiento de objetos en la nube con acceso a archivos compatible con Posix: esa es la promesa de CunoFS de PetaGene, con sede en Cambridge, que tiene como objetivo resolver el desafío cada vez más común de cómo combinar computación de alto rendimiento y cantidades masivas de datos almacenados.
Esto plantea un desafío para las cargas de trabajo como la inteligencia artificial (IA), la producción de videos, la investigación médica y la detección de anomalías de seguridad que necesitan actualizar datos de fuentes profundas o remotas con frecuencia y rapidez para funcionar de manera óptima. Por lo general, cuando se accede a grandes cantidades de memoria, la lectura y escritura rápidas es una propuesta costosa.
«Para ahorrar en costos de capacidad, la solución es utilizar el almacenamiento de objetos en las instalaciones o en la nube», dijo Dan Greenfield, cofundador y director ejecutivo de PetaGene, en un reciente evento IT Press Tour en Berlín, al que también asistieron otros. LeMagIT. “El problema es que las aplicaciones a menudo no están diseñadas para el almacenamiento de objetos. Se abren, guardan, etc. como archivos, generalmente en un NAS [network-attached storage]. No envían solicitudes HTTP a pedido [Amazon] S3″.
Poner acceso a archivos en depósitos S3
Greenfield proporcionó algunos ejemplos: “En AWS [Amazon Web Services]1TB [terabyte] El almacenamiento S3 de uso común cuesta $ 276 por mes. Con el servicio EFS de AWS NAS, la factura aumenta a $3600 por mes. Y si desea el mismo acceso simultáneo que en S3, necesita AWS FSx Lustre, y por 1 TB cuesta $7200 al mes”.
Aún así, es poco probable que muchas empresas conviertan las aplicaciones para que funcionen en S3 como lo hacen en el modo de archivo. Además de las diferencias en los protocolos de comunicación (API REST versus acceso a través del sistema operativo host), también sería necesario cambiar los algoritmos y hábitos de los usuarios existentes.
Con el almacenamiento de objetos no existe el concepto de directorios, no hay administración posix de usuarios o grupos de usuarios, no hay modificaciones, solo creación de nuevas versiones. En resumen, el proceso de migración de archivo a objeto es largo y costoso.
El enfoque tradicional para abordar el aumento del costo del acceso NAS ha sido colocar una puerta de enlace frente al almacenamiento de objetos y convertir NFS o SMB sobre la marcha. Un ejemplo de puerta de enlace es el programa de código abierto basado en Python s3fs.
“El problema con este tipo de arquitectura es que la puerta de enlace crea un cuello de botella que condensa todo el acceso que los servidores pueden otorgar en paralelo en un solo archivo”, dijo Greenfield, quien residiría en S3. «Nuestra solución es implementar una puerta de enlace de archivos/objetos en cada servidor que ejecuta una aplicación».
CunoFS está montado en servidores con la ruta posix «/cuno/s3» y apunta al depósito especificado en la configuración. Esto hace posible navegar a través de directorios mentales con el comando «cd», extraer archivos con «tar», cambiar permisos con «chmod», filtrar contenido con «grep», etc.
Mucho más rápido que el NAS tradicional
CunoFS no solo evita el cuello de botella de una sola puerta de enlace, sino que también acelera el acceso más allá de lo que es posible con el NAS tradicional.
Según las cifras de rendimiento de PetaGene, CunoFS, instalado en un servidor virtual de AWS, escribe el código fuente del kernel de Linux en el almacenamiento S3 en 128 segundos y lo lee en 21 segundos.
El uso de un servidor de aplicaciones para escribir en el NAS de AWS EFS toma seis y 10,5 minutos, respectivamente. Aquí escribir es más rápido que leer porque EFS usa caché.
Pasar por una puerta de enlace NAS/objeto externa como s3fs para escribir el mismo código desde el mismo servidor al mismo almacenamiento S3 toma un poco más de dos horas, mientras que la lectura toma alrededor de 15 minutos.
También es probable que los marcos de IA sean un caso de uso adecuado para más y más empresas. Entonces, un servidor PyTorch alojado en Google Cloud Platform (GCP) escribe en un servicio de almacenamiento de objetos a 260 Mbps a través de una puerta de enlace S3FS y escribe en NAS a 350 Mbps sin conversión. Con CunoFS en el servidor PyTorch, la velocidad aumenta a 20 Gbit/s.
¿Cómo logra CunoFS operaciones de lectura/escritura de archivos más rápido que un NAS que no necesita procesar solicitudes HTTP? Simplemente porque CunoFS no es solo una puerta de enlace local, sino también una herramienta eficiente para la compresión sobre la marcha. Es más rápido porque se transfieren muchos menos datos.
CunoFS: una variante de PetaSuite
PetaGene comenzó como un proveedor de herramientas de compresión para laboratorios de genoma, PetaSuite, que podía lograr tasas de reducción del 60 al 90 %.
A PetaSuite le siguió la biblioteca PetaLink, que permitió la compresión y rehidratación de archivos sobre la marcha en los servidores de aplicaciones. Esto permitió lecturas y escrituras aceleradas en el NAS.
En 2018, la plataforma obtuvo la capacidad de almacenar archivos en cubos S3 y convertirlos al modo objeto sobre la marcha. Sin embargo, pasaron cuatro años más antes de que el módulo se usara para algo más que datos del genoma.
«Inicialmente, PetaSuite Cloud Edition fue muy eficiente para almacenar archivos muy grandes en la nube, pero el rendimiento fue muy decepcionante para archivos de tamaño normal», dijo Greenfield. «Comprendimos que resolver este problema nos permitiría expandir nuestra base de clientes para incluir a cualquiera que quiera procesar una gran cantidad de archivos».
Coincidentemente, PetaGene se dio cuenta de que había cometido el error de almacenar los metadatos de Posix (directorios, permisos) junto con los demás metadatos almacenados en S3 (nombre del autor, tipo de contenido).
«Los metadatos de Posix son mucho más simples que los metadatos de S3», dijo Greenfield. «Es mucho más comprimible y podemos agregarlo entre varios archivos. Por lo tanto, es posible tratarlo por separado, y así fue como PetaSuite Cloud Edition se convirtió en CunoFS”.
Desde 2022, CunoFS ha atraído a algunos de los principales proveedores de almacenamiento, sobre todo Dell y NetApp, que lo vieron como una forma de acelerar sus soluciones.
Además, PeteGene prevé extender la compatibilidad de CunoFS a servidores Linux, con una versión de cliente para Windows y MacOS, y un controlador CSI para clústeres de Kubernetes. Se espera una versión compatible con servidores ARM a finales de este año.