El Enhanced Read-Only File System, o EROFS, ha introducido la compartición de caché de páginas para reducir significativamente el uso de memoria en entornos contenedorizados. Esta función permite que múltiples contenedores compartan páginas en caché de la misma imagen de sistema de archivos, reduciendo el desperdicio de memoria entre un 40% y un 60%. Desarrollado inicialmente por Huawei, EROFS está ganando popularidad en escenarios de computación en la nube y edge.
Originalmente creado por Huawei para dispositivos móviles, EROFS ha evolucionado hasta convertirse en una herramienta clave para la orquestación de contenedores en entornos de nube y edge. La nueva función de compartición de caché de páginas permite que múltiples instancias de imágenes de sistema de archivos idénticas compartan cachés de memoria, evitando copias redundantes que inflan las demandas de recursos. En cargas de trabajo con muchos contenedores, como las de Kubernetes, esto soluciona el caché duplicado que afecta al rendimiento durante los arranques rápidos de pods.
Los colaboradores del kernel, incluidos Hongzhen Luo y Hongbo Li, han impulsado este desarrollo mediante series de parches enviados a la Linux Kernel Mailing List. La versión más reciente, v11, perfecciona prototipos anteriores corrigiendo errores, añadiendo soporte para readahead y mejorando la compatibilidad con el modo fscache y archivos anónimos. Estos parches se basan en trabajos de principios de año y buscan integrarse en kernels desde la versión 5.16 en adelante, aprovechando la infraestructura folio para una gestión eficiente de la memoria.
Las pruebas de rendimiento demuestran beneficios claros. Pruebas con imágenes de contenedores de Android mostraron reducciones significativas de memoria al compartir cachés entre montajes. Por ejemplo, el despliegue de contenedores similares de TensorFlow en un nodo logró ahorros de memoria de hasta el 20%, mientras que escenarios de contenedores más amplios consiguieron reducciones del 40% al 60% durante picos de carga como tormentas de arranque. Phoronix informa de un mejor rendimiento de lectura junto con un menor consumo de memoria, especialmente para datos superpuestos en flujos de trabajo de machine learning.
La opción de montaje 'sharecache' activa esta capacidad, garantizando un acceso compartido seguro mediante técnicas como copy-on-write. Las discusiones de la comunidad en plataformas como X elogian su potencial, con una publicación que señala que podría "reducir el desperdicio de memoria en contenedores en un 40-60%", disminuyendo costes para operadores hyperscale. La adopción se expande más allá de Huawei, atrayendo colaboradores de Alibaba y otros, mientras EROFS compite con sistemas como SquashFS gracias a una compresión y caché superiores.
Los desafíos incluyen asegurar los cachés compartidos contra fugas de datos entre contenedores, con los mantenedores debatiendo casos límite en la lista de correo. Futuras integraciones con cgroups y herramientas como CRI-O o Docker podrían mejorar la densidad en microservicios y pasarelas IoT, promoviendo una computación sostenible en entornos intensivos en datos.