Facebook a relancé le développement de la bibliothèque de gestion de mémoire jemalloc

La société Meta* a annoncé la reprise du développement de la bibliothèque de gestion de la mémoire jemalloc, dont le dépôt a été archivé en juin de l'année dernière. La bibliothèque jemalloc propose une implémentation alternative des fonctions malloc, optimisée pour réduire la fragmentation et fonctionner sur des systèmes multiprocesseurs.

Il est noté que la société Meta a reconnu les avantages de l'utilisation de jemalloc dans son infrastructure et a décidé de reprendre le travail sur le code de cette bibliothèque afin de réduire les coûts de maintenance, de modernisation de la base de code, de se débarrasser de la dette technique et d'adapter l'allocateur pour de nouvelles charges de travail et du matériel actuel. Le développement se poursuivra sous la forme d'un projet open source, développé en collaboration avec la communauté et accueillant la participation d'intervenants externes.

La bibliothèque jemalloc a été développée par Jason Evans en 2005 pour FreeBSD 7.0, avant d'être portée sur NetBSD et intégrée dans Firefox. En 2009, l'auteur de jemalloc a rejoint Facebook, où cette bibliothèque a été utilisée dans des projets internes. En 2017, Jason a quitté Facebook, et le développement a été poursuivi par l'équipe restante de Facebook. Après le changement de nom en Meta, les priorités de l'entreprise ont changé, le développement de la bibliothèque a stagné, la conception s'est concentrée uniquement sur les besoins internes, et la base de code publique s'est dégradée au fil du temps. Pour maintenir la bibliothèque publique à flot, un refactoring significatif était nécessaire, mais Jason n'était pas prêt à consacrer son temps à ce travail et a donc archivé le dépôt il y a 10 mois.

Parmi les projets que Facebook prévoit de réaliser après la renaissance du projet :

  • Réduction de la dette technique accumulée, réalisation d'un refactoring et nettoyage de la base de code, amélioration de la bibliothèque pour maintenir son efficacité, sa fiabilité et sa facilité d'utilisation.
  • Poursuite du développement de l'allocateur HPA (Huge-Page Allocator) pour optimiser la consommation des ressources CPU grâce à une utilisation plus optimale des grandes pages mémoire (transparent hugepage).
  • Modifications visant à améliorer l'efficacité de la gestion de la mémoire, liées à l'amélioration de l'emballage des structures, du caching et du nettoyage des blocs de mémoire libérés.
  • Ajout d'optimisations pour l'architecture AArch64 (ARM64).

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster