- jemalloc, un allocateur mémoire haute performance, est un composant fondamental qui joue un rôle d’infrastructure clé dans la pile logicielle de Meta, aux côtés du noyau Linux et des compilateurs
- Ces dernières années, un éloignement progressif des principes d’ingénierie fondamentaux qui guidaient le développement de jemalloc a entraîné une accumulation de dette technique, ralentissant les avancées
- Après avoir pris en compte les retours de la communauté et échangé avec ses membres, dont le fondateur du projet Jason Evans, le dépôt open source d’origine a été réactivé (unarchived)
- À l’avenir, l’accent sera mis sur la résorption de la dette technique, l’amélioration de l’allocateur Huge-Page, l’efficacité mémoire et les optimisations AArch64
- Meta réaffirme sa gestion à long terme de jemalloc et fait évoluer son approche pour développer le projet en collaboration avec la communauté
Place et importance de jemalloc
- jemalloc est un allocateur mémoire haute performance, un composant qui a constamment offert un fort effet de levier dans la pile logicielle de Meta
- Il s’est continuellement adapté aux évolutions du matériel et des couches logicielles supérieures, contribuant à la stabilité et aux performances de l’infrastructure de Meta aux côtés du noyau Linux et des compilateurs
Écart par rapport aux principes et remise en question
- Les composants logiciels fondamentaux exigent le plus haut niveau de rigueur entre pragmatisme et principes
- En raison de l’effet de levier élevé qu’apporte jemalloc, la tentation existe de rechercher des gains à court terme, ce qui exige une forte autodiscipline à l’échelle de l’organisation pour y résister
- Ces dernières années, un éloignement progressif des principes d’ingénierie fondamentaux qui guidaient le développement de jemalloc s’est produit
- Certaines décisions ont offert des bénéfices immédiats, mais la dette technique qui en a résulté a freiné les progrès
- Les retours de la communauté ont été pris au sérieux, et des échanges ont eu lieu avec ses membres, dont le fondateur du projet, Jason Evans
- Meta a profondément réfléchi à l’impact de sa gestion sur la santé de long terme de jemalloc et a partagé son changement d’approche
- Les travaux ont commencé pour éliminer la dette technique et reconstruire une feuille de route de long terme pour jemalloc
Un nouveau chapitre : désarchivage du dépôt et plans à venir
- À la suite des échanges avec la communauté, le dépôt open source jemalloc d’origine a été réactivé (unarchived)
- Meta peut ainsi continuer à assurer le rôle de steward du projet, avec une orientation centrée sur la réduction de la charge de maintenance et la modernisation de la base de code
- Résorption de la dette technique : maintenir un état efficace, fiable et simple d’utilisation pour tous les utilisateurs grâce au refactoring et aux améliorations
- Allocateur Huge-Page (HPA) : mieux exploiter les Transparent Hugepages (THP) afin d’améliorer l’efficacité CPU
- Efficacité mémoire : optimiser l’efficacité mémoire en améliorant les mécanismes de packing, de caching et de purging
- Optimisations AArch64 : garantir de bonnes performances par défaut sur les plateformes ARM64
Renforcement de la collaboration avec la communauté
- Meta met en avant la construction de la confiance par les actes et vise un développement sain de jemalloc
- Les retours et la participation de la communauté sont les bienvenus, avec l’espoir de construire ensemble l’avenir de jemalloc
- L’entreprise entend promouvoir une collaboration et un développement durables au sein de l’écosystème open source
Aucun commentaire pour le moment.