Linux 7.3 améliore les performances de FUSE avec des groupes de buffers et une copie zéro

By: www.diariobitcoin.com|2026/08/26 20:39:24

**FUSE, la technologie qui permet d'exécuter des systèmes de fichiers depuis l'espace utilisateur, pourrait intégrer dans Linux 7.3 des groupes de buffers pour IO_uring et des capacités de copie zéro. Les changements visent à améliorer les performances, réduire la consommation de mémoire et éviter les mouvements de données inutiles.

  • Le développement de Linux 7.3 ajoute des groupes de buffers pour IO_uring dans FUSE.
  • La copie zéro vise à éviter les copies entre le noyau et l'espace utilisateur ; son implémentation nécessite des groupes de buffers et peut dépendre de privilèges spécifiques.
  • Les tests cités dans la série de patches rapportent des améliorations de performance, bien que les résultats ne représentent pas toutes les charges de travail de FUSE.

FUSE, le composant du noyau Linux qui permet de construire et d'exécuter des systèmes de fichiers depuis l'espace utilisateur, se dirige vers une amélioration significative des performances avec Linux 7.3. La version est encore en développement et intègre des avancées pour le transport IO_uring qui visent à réduire la consommation de mémoire et à accélérer l'échange de données entre le noyau et les serveurs FUSE.

Un rapport de Phoronix publié le 26 août 2026 indique que les principales optimisations sont la compatibilité avec les groupes de buffers IO_uring et l'incorporation de mécanismes de copie zéro. Le travail comprend également des corrections de bogues et d'autres ajustements. La documentation et les séries de patches disponibles décrivent ces fonctions comme faisant partie du développement de FUSE, de sorte que leurs détails peuvent encore changer avant une version stable.

Une gestion plus flexible des buffers

L'architecture précédente de FUSE maintenait une relation étroite entre chaque entrée d'une demande et son buffer de charge utile. En pratique, cela pouvait exiger des buffers indépendants et une capacité suffisante pour la taille maximale possible de la charge utile, même lorsque les demandes utilisaient beaucoup moins de bytes.

La série de patches attribuée à Joanne Koong suggère que ce design est sous-optimal car certaines classes de demandes nécessitent peu de données, tandis que d'autres n'ont besoin d'aucun buffer de charge utile. Le schéma pouvait réserver de la mémoire au-delà des besoins réels de chaque opération, une limitation particulièrement importante dans des scénarios avec de nombreuses demandes simultanées.

Les groupes de buffers changent cette relation en permettant au serveur d'enregistrer des buffers à l'avance et au noyau de les utiliser selon les besoins des entrées et des demandes. Ainsi, les entrées ne sont plus liées à un buffer dédié et le noyau obtient une plus grande liberté pour distribuer la mémoire de charge utile entre les opérations actives.

Ce découplage peut réduire les exigences de mémoire nécessaires pour utiliser FUSE sur IO_uring et ouvre la voie à de nouvelles optimisations dans l'allocation des ressources. L'avantage ne réside pas seulement dans la réservation de moins d'espace, mais aussi dans la possibilité d'adapter l'utilisation de la mémoire à la nature concrète de chaque demande.

La copie zéro évite des étapes intermédiaires

La même ligne de travail ajoute un support de copie zéro au transport IO_uring de FUSE. Avec ce mécanisme, le serveur peut accéder directement aux pages du client ou aux feuilles du cache de pages, sans d'abord transférer les données vers un buffer intermédiaire.

Éliminer cette copie peut réduire le travail associé au mouvement des données et améliorer l'efficacité des opérations d'entrée et de sortie. Le bénéfice est particulièrement attrayant pour les charges qui gèrent de grands volumes d'informations, bien que les tests disponibles ne fournissent pas un chiffre universel de performance applicable à tous les systèmes ou applications.

La fonction ne sera pas disponible sans restrictions : la documentation relative au passthrough de FUSE indique que certaines modalités nécessitent le privilège CAP_SYS_ADMIN, tandis que la série de copie zéro exige l'activation des groupes de buffers gérés par le noyau. Ces conditions de sécurité et de configuration devront être évaluées avant de considérer le mécanisme pour les environnements de production.

En termes opérationnels, la combinaison de groupes de buffers et de copie zéro offre au noyau un meilleur contrôle sur la mémoire et réduit le nombre d'étapes nécessaires pour traiter certaines demandes. Cependant, le résultat final dépendra de l'implémentation du serveur FUSE, du modèle d'accès aux données et de la configuration des privilèges du système.

Les tests montrent des améliorations dans FUSE

Joanne Koong a réalisé des tests de référence pour mesurer l'effet des changements proposés. Selon les résultats cités dans la série de correctifs et par Phoronix, certaines lectures aléatoires directes ont enregistré une augmentation d'environ 20 % des performances, passant de près de 2 100 Mo/s. Ce chiffre correspond à un test spécifique et ne représente pas nécessairement le comportement de toutes les modalités de FUSE.

L'intérêt de ces résultats réside dans le fait que FUSE est utilisé pour implémenter des systèmes de fichiers sans placer toute sa logique dans le noyau. Cette flexibilité facilite le développement et l'intégration de services, mais peut également introduire des coûts liés à la communication entre l'espace utilisateur, le noyau et les zones de mémoire impliquées dans chaque opération.

En abordant l'allocation de buffers et les copies de données, Linux 7.3 tente de réduire deux sources potentielles de surcharge dans ce parcours. L'amélioration peut se traduire par une réponse plus efficace pour les applications dépendant des systèmes de fichiers FUSE, bien que les développeurs et administrateurs devront vérifier l'impact sur leurs propres flux de travail.

En plus de ces optimisations de IO_uring, le développement comprend des corrections de bogues et d'autres changements dans le code de FUSE. Les informations disponibles ne détaillent pas chaque ajustement, mais les présentent comme faisant partie de l'ensemble des modifications qui accompagne l'évolution de cette fonctionnalité.

Le support pour les grandes pages reste en attente

Le travail de FUSE contient également des préparatifs pour prendre en charge les grandes pages, une évolution liée à la manière dont le noyau gère les pages de mémoire. Cependant, cette capacité n'est pas encore terminée et ne fait pas partie d'une implémentation complète prête à l'utilisation générale.

La distinction est importante car les préparatifs ne sont pas équivalents à une fonction finalisée. Pour l'instant, l'avancement décrit se concentre sur les groupes de buffers de IO_uring, la copie zéro, les corrections de bogues et les changements complémentaires inclus dans le développement de FUSE.

Linux 7.3 continue donc d'évoluer en tant que plateforme, et ses détails peuvent changer avant la version finale. Les utilisateurs intéressés par l'adoption des nouveautés devront suivre le développement du noyau et valider la compatibilité de leurs serveurs FUSE, en particulier lorsqu'ils dépendent de CAP_SYS_ADMIN ou de configurations spécifiques de IO_uring.

L'objectif du projet est de faire en sorte que FUSE utilise la mémoire de manière plus rationnelle et que l'échange de données nécessite moins de travail supplémentaire. Si les améliorations observées lors des tests se maintiennent, la mise à jour pourrait offrir une base plus rapide et efficace pour les systèmes de fichiers implémentés dans l'espace utilisateur.

Prix de --

--
--
--

Ce contenu est fourni à titre informatif uniquement et ne constitue pas un conseil financier, d'investissement, juridique ou fiscal. Les événements, récompenses, promotions en ligne ou informations mentionnées ici ne doivent pas être considérés comme une recommandation, une sollicitation ou une invitation à acheter, vendre, trader ou effectuer toute autre opération sur des actifs crypto. Les actifs crypto sont très volatils et peuvent entraîner des pertes. La disponibilité des services, produits et événements liés à WEEX peut varier selon les régions. Veuillez vous assurer que votre participation respecte les lois et réglementations locales applicables.

Vous pourriez aussi aimer

Contenu

Derniers articles

Plus

Dernières cotations sur WEEX

iconiconiconiconiconicon
Assistance client:@weikecs
Collaborations commerciales:@weikecs
Trading quantitatif/Market makers:[email protected]
Programme VIP:[email protected]