Facebook rifilloi zhvillimin e bibliotekës për menaxhimin e memories jemalloc

Kompanija Meta* shpalli rifillimin e zhvillimit të bibliotekës së menaxhimit të memories jemalloc, e cila u arkivua në qershor të vitit të kaluar. Biblioteka jemalloc ofron një implementim alternativ të funksioneve malloc, të optimizuara për të reduktuar fragmentimin dhe për të funksionuar në sisteme me shumë procesorë.

ËshtĂ« e dukshme se kompania Meta ka njohur pĂ«rfitimet e pĂ«rdorimit tĂ« jemalloc nĂ« infrastrukturĂ«n e saj dhe ka vendosur tĂ« rifillojĂ« punĂ«n mbi kodin e kĂ«saj biblioteke pĂ«r tĂ« ulur kostot e mbĂ«shtetjes, pĂ«rmirĂ«simin e kodit ekzistues, pĂ«r tĂ« eliminuar borxhin teknik dhe pĂ«r tĂ« adaptuar alokatorin pĂ«r lloje tĂ« reja ngarkese dhe pajisje aktuale. Zhvillimi do tĂ« vazhdojĂ« nĂ« formĂ«n e njĂ« projekti tĂ« hapur, tĂ« zhvilluar nĂ« bashkĂ«punim me komunitetin dhe do tĂ« mirĂ«presĂ« pjesĂ«marrjen e palĂ«ve tĂ« treta.

Biblioteka jemalloc u zhvillua nga Jason Evans në vitin 2005 për FreeBSD 7.0, dhe më pas u portua në NetBSD dhe u integrua në Firefox. Në vitin 2009, autori i jemalloc kaloi në punë në Facebook, ku kjo bibliotekë u përdor në projekte të brendshme. Në vitin 2017, Jason u largua nga Facebook, dhe zhvillimi u vazhdua nga ekipi i mbetur në Facebook. Pas ribërjes si Meta, prioritetet e kompanisë ndryshuan, zhvillimi i bibliotekës u ndal dhe u përqendrua vetëm në nevojat e brendshme, ndërsa kodi publik me kalimin e kohës degradoi. Për të mbajtur bibliotekën publike në lëvizje, nevojitej një refaktorizim i konsiderueshëm, por Jason nuk ishte i gatshëm të shpenzonte kohën e tij për këtë punë dhe prandaj 10 muaj më parë e arkivoi repositorin.

Disa nga planet që kompania Facebook kishte parashikuar të realizonte pas ringjalljes së projektit janë:

  • Reduktimi i borxhit teknik tĂ« akumuluar, zhvillimi i refaktorizimit dhe pastrimi i bazĂ«s sĂ« kodit, pĂ«rmirĂ«simi i bibliotekĂ«s pĂ«r tĂ« ruajtur efikasitetin, besueshmĂ«rinĂ« dhe lehtĂ«sinĂ« e pĂ«rdorimit.
  • Vazhdim i zhvillimit tĂ« alokatorit HPA (Huge-Page Allocator) pĂ«r optimizimin e konsumit tĂ« burimeve tĂ« CPU-sĂ« pĂ«rmes pĂ«rdorimit mĂ« efikas tĂ« faqeve tĂ« mĂ«dha tĂ« memories (transparent hugepage).
  • Blerja e ndryshimeve pĂ«r rritjen e efikasitetit nĂ« punĂ«n me memorien, qĂ« lidhen me pĂ«rmirĂ«simin e paketimit tĂ« strukturave, caching dhe pastrimin e bllokĂ«ve tĂ« lirĂ« tĂ« memories.
  • Shtimi i optimizimeve pĂ«r arkitekturĂ«n AArch64 (ARM64).

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster