Het bedrijf Meta* heeft de herstart van de ontwikkeling van de jemalloc geheugenbeheerlibrary aangekondigd, waarvan de repository in juni vorig jaar naar de archiefmodus was overgezet. De jemalloc library biedt een alternatieve implementatie van malloc-functies, geoptimaliseerd om fragmentatie te verminderen en te werken op multiprocessorsystemen.
Er wordt opgemerkt dat het bedrijf Meta de voordelen van het gebruik van jemalloc in zijn infrastructuur heeft ingezien en heeft besloten om opnieuw aan de code van deze library te werken om de onderhoudskosten te verlagen, de codebasis te moderniseren, technische schulden kwijt te raken en de allocator aan te passen aan nieuwe soorten belasting en actuele apparatuur. De ontwikkeling zal voortgezet worden in de vorm van een open project, waarvan de voortzetting samen met de gemeenschap zal plaatsvinden en waarbij deelname van externe partijen welkom is.
De jemalloc library werd in 2005 ontwikkeld door Jason Evans voor FreeBSD 7.0, waarna het werd geport naar NetBSD en geĆÆntegreerd in Firefox. In 2009 ging de auteur van jemalloc werken bij Facebook, waar deze library werd gebruikt in interne projecten. In 2017 verliet Jason Facebook, waarna de ontwikkeling werd voortgezet door het overgebleven team van Facebook. Na de naamsverandering naar Meta zijn de prioriteiten van het bedrijf veranderd, is de ontwikkeling van de library stilgevallen, is de focus alleen op interne behoeften komen te liggen en is de openbare codebasis in de loop van de tijd achteruitgegaan. Voor het in stand houden van de openbare library was aanzienlijke refactoring vereist, maar Jason was niet bereid om zijn tijd aan dit werk te besteden en heeft daarom 10 maanden geleden de repository in archiefmodus gezet.
Onder de plannen die Facebook heeft opgesteld om na de heropleving van het project te realiseren:
- Vermindering van de accumulatie van technische schulden, het uitvoeren van refactoring en opruiming van de codebasis, het verbeteren van de library voor het behoud van effectiviteit, betrouwbaarheid en gebruiksgemak.
- Voortzetting van de ontwikkeling van de HPA (Huge-Page Allocator) voor het optimaliseren van het CPU-gebruik door een efficiƫnter gebruik van grote geheugenpagina's (transparent hugepage).
- Aanpassingen om de efficiƫntie van het geheugenbeheer te verbeteren, gerelateerd aan verbeterde structuuraanpak, caching en opruiming van vrijgegeven geheugenblokken.
- Toevoegen van optimalisaties voor de AArch64-architectuur (ARM64).
Bron: opennet.ru
