Tvrtka Meta* najavila je nastavak rada na biblioteci za upravljanje memorijom jemalloc, čiji je repozitorij u lipnju prošle godine prebačen u arhivski režim. Biblioteka jemalloc nudi alternativnu implementaciju malloc funkcija, optimiziranu za smanjenje fragmentacije i rad na višek procesorskim sustavima.
Primjećuje se da je tvrtka Meta prepoznala prednosti korištenja jemalloc u svojoj infrastrukturi i odlučila obnoviti rad na kodu ove biblioteke za smanjenje troškova održavanja, modernizaciju kodne baze, riješavanje tehničkog duga i prilagodbu alokatora novim vrstama opterećenja i aktuelnoj opremi. Razvoj će se nastaviti kao otvoreni projekt, razvijan u suradnji sa zajednicom i pozivajući vanjske sudionike da se uključe.
Biblioteku jemalloc razvio je Jason Evans 2005. godine za FreeBSD 7.0, nakon čega je portirana na NetBSD i integrirana u Firefox. Godine 2009. autor jemalloc prešao je raditi u Facebook, gdje se ova biblioteka koristila u internim projektima. Godine 2017. Jason je napustio Facebook, a razvoj su nastavili preostali članovi tima iz Facebooka. Nakon preimenovanja u Meta, prioriteti su se promijenili, razvoj biblioteke je stagnirao, a fokus se prebacio isključivo na interne potrebe, dok je javna kodna baza s vremenom degradirala. Da bi se održala javna biblioteka u funkciji, bio je potreban značajan refaktoring, ali Jason nije bio spreman trošiti svoje vrijeme na taj posao i zbog toga je prije 10 mjeseci preveo repozitorij u arhivski režim.
Među planovima koje je tvrtka Facebook predvidjela realizirati nakon oživljavanja projekta:
- Smanjenje akumuliranog tehničkog duga, provođenje refaktoringa i čišćenje kodne baze, unapređenje biblioteke za očuvanje efikasnosti, pouzdanosti i jednostavnosti korištenja.
- Nastavak razvoja alokatora HPA (Huge-Page Allocator) za optimizaciju potrošnje CPU resursa kroz optimalnije korištenje velikih stranica memorije (transparent hugepage).
- Unos izmjena za povećanje učinkovitosti rada s memorijom, povezanih s poboljšanjem pakiranja struktura, keširanja i čišćenja oslobođenih blokova memorije.
- Dodavanje optimizacija za arhitekturu AArch64 (ARM64).
Izvor: opennet.ru
