Meta* ettevõte teatas, et taasalustatakse jemalloc mäluhalduse raamistiku arendamist, mille hoidla viidi arhiivirežiimi eelmise aasta juunis. Jemalloc pakub alternatiivset teostust malloc funktsioonidest, mis on optimeeritud fragmentatsiooni vähendamiseks ja tööks mitme protsessoriga süsteemides.
On märgitud, et Meta ettevõte mõistis jemalloci rakendamise eeliseid oma infrastruktuuris ja otsustas jätkata selle raamistiku koodi arendamist, et vähendada hoolduskulusid, moderniseerida koodibaasi, vabastada tehnilisest võlast ja kohandada allokaatorit uue koormuse ja kaasaegse riistvaraga. Arendus jätkub avatud projekti vormis, mida arendatakse koos kogukonnaga ja mis tervitab kolmandate osaliste liitumist.
Jemalloci raamistiku lõi Jason Evans 2005. aastal FreeBSD 7.0 jaoks, seejärel portiti see NetBSDsse ja integreeriti Firefoxi. 2009. aastal liitus jemalloci autor Facebookiga, kus selle raamistiku kasutati sisemistes projektides. 2017. aastal lahkus Jason Facebookist ning arendust jätkas jäänud meeskond Facebookis. Pärast Meta nime muutmist muutusid ettevõtte prioriteedid ja raamistiku areng seisis, arendus keskendus ainult sisemistele vajadustele ning avalik koodibaas halvenes aja jooksul. Avaliku raamistiku säilitamiseks oli vajalik ulatuslik refaktoreerimine, kuid Jason ei soovinud sellele tööle aega pühendada ja seetõttu viis ta 10 kuud tagasi hoidla arhiivirežiimi.
Facebooki ettevõtte plaanide seas, mida kavatsetakse ellu viia pärast projekti taassündi, on:
- Tehnilise võla vähendamine, koodibaasi refaktoreerimine ja puhastamine, raamistiku täiustamine tõhususe, usaldusväärsuse ja kasutusmugavuse säilitamiseks.
- HPA (Huge-Page Allocator) allokaatori arendamise jätkamine, et optimeerida CPU ressursitootlikkust suurte mäluleheküljede (transparent hugepage) tõhusama kasutamise abil.
- Mäluhaldustöös efektiivsuse suurendamiseks tehtud muudatused, mis on seotud struktuuride pakendamise, vahemälu ja vabastatud mälubloomi puhastamise täiustamisega.
- AArch64 (ARM64) arhitektuurile optimeerimiste lisamine.
Allikas: opennet.ru
