Le système de fichiers en lecture seule amélioré, ou EROFS, a introduit le partage de cache de pages pour réduire considérablement l'utilisation de la mémoire dans les environnements conteneurisés. Cette fonctionnalité permet à plusieurs conteneurs de partager des pages en cache de la même image de système de fichiers, réduisant le gaspillage de mémoire de 40 % à 60 %. Développé initialement par Huawei, EROFS gagne du terrain dans les scénarios de calcul cloud et edge.
Initialement créé par Huawei pour les appareils mobiles, EROFS est devenu un outil clé pour l'orchestration de conteneurs dans les environnements cloud et edge. La nouvelle fonctionnalité de partage de cache de pages permet à plusieurs instances d'images de système de fichiers identiques de partager des caches mémoire, évitant les copies redondantes qui gonflent les besoins en ressources. Dans les charges de travail riches en conteneurs, comme celles de Kubernetes, cela résout le cache dupliqué qui entrave les performances lors des spin-ups rapides de pods.
Les contributeurs du noyau, dont Hongzhen Luo et Hongbo Li, ont piloté ce développement via des séries de patches soumises à la Linux Kernel Mailing List. La dernière version, v11, affine les prototypes antérieurs en corrigeant des bugs, ajoutant le support readahead et améliorant la compatibilité avec le mode fscache et les fichiers anonymes. Ces patches s'appuient sur des travaux du début de l'année et visent l'intégration dans les noyaux à partir de la version 5.16, en exploitant l'infrastructure folio pour une gestion efficace de la mémoire.
Les benchmarks montrent des avantages nets. Des tests avec des images de conteneurs Android ont révélé des réductions significatives de mémoire lors du partage de caches entre montages. Par exemple, le déploiement de conteneurs TensorFlow similaires sur un nœud a permis des économies de mémoire jusqu'à 20 %, tandis que des scénarios de conteneurs plus larges ont atteint 40 % à 60 % de réduction pendant les pics de charge comme les tempêtes de démarrage. Phoronix met en avant un meilleur débit de lecture avec une consommation mémoire moindre, particulièrement pour les données superposées dans les workflows d'apprentissage automatique.
L'option de montage 'sharecache' active cette capacité, assurant un accès partagé sécurisé via des techniques comme le copy-on-write. Les discussions communautaires sur des plateformes comme X saluent son potentiel, un post notant qu'il pourrait « réduire le gaspillage de mémoire des conteneurs de 40-60 % », diminuant les coûts pour les opérateurs hyperscale. L'adoption s'étend au-delà de Huawei, attirant des contributeurs d'Alibaba et d'autres, alors qu'EROFS rivalise avec des systèmes comme SquashFS grâce à une compression et un cache supérieurs.
Les défis incluent la sécurisation des caches partagés contre les fuites de données entre conteneurs, les mainteneurs débattant des cas limites sur la liste de diffusion. Des intégrations futures avec cgroups et des outils comme CRI-O ou Docker pourraient accroître la densité dans les microservices et les passerelles IoT, favorisant un calcul durable dans des environnements riches en données.