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

Kompania Meta* njoftoi rifillimin e zhvillimit të bibliotekës së menaxhimit të memories jemalloc, depoja e së cilës në qershor të vitit të kaluar ishte kaluar në modalitet arkivimi. Biblioteka jemalloc ofron një implementim alternativ të funksioneve malloc, të optimizuar për të ulur fragmentimin dhe për punë në sisteme shumëprocesorike.

Theksohet se Meta i kuptoi përfitimet e përdorimit të jemalloc në infrastrukturën e saj dhe vendosi të rifillojë punën mbi kodin e kësaj biblioteke për të ulur kostot e mirëmbajtjes, për të modernizuar bazën e kodit, për të eliminuar borxhin teknik dhe për ta përshtatur allocator-in me lloje të reja ngarkesash dhe pajisje bashkëkohore. Zhvillimi do të vazhdojë si një projekt i hapur, i zhvilluar së bashku me komunitetin dhe i hapur për kontributet e pjesëmarrësve të jashtëm.

Biblioteka jemalloc u krijua nga Jason Evans në vitin 2005 për FreeBSD 7.0, pas së cilës u portua në NetBSD dhe u integrua në Firefox. Në vitin 2009, autori i jemalloc kaloi për të punuar në Facebook, ku kjo bibliotekë përdorej në projekte të brendshme. Në vitin 2017, Jason u largua nga Facebook dhe zhvillimi vazhdoi nga ekipi i mbetur në Facebook. Pas riemërtimit në Meta, prioritetet e kompanisë ndryshuan, zhvillimi i bibliotekës ngeci, puna u përqendrua vetëm te nevojat e brendshme dhe baza publike e kodit me kalimin e kohës u degradua. Për ta mbajtur në funksion bibliotekën publike kërkohej një refaktorim i konsiderueshëm, por Jason nuk ishte i gatshëm të shpenzonte kohën e tij për këtë punë dhe për këtë arsye, 10 muaj më parë, e kaloi depon në modalitet arkivimi.

Ndër planet që Facebook synon të realizojë pas ringjalljes së projektit janë:

  • Ulja e borxhit teknik tĂ« akumuluar, kryerja e refaktorimit dhe pastrimit tĂ« bazĂ«s sĂ« kodit, si edhe pĂ«rmirĂ«simi i bibliotekĂ«s pĂ«r tĂ« ruajtur efikasitetin, besueshmĂ«rinĂ« dhe thjeshtĂ«sinĂ« e pĂ«rdorimit.
  • Vazhdimi i zhvillimit tĂ« allocator-it HPA (Huge-Page Allocator) pĂ«r tĂ« optimizuar konsumin e burimeve CPU pĂ«rmes pĂ«rdorimit mĂ« efikas tĂ« faqeve tĂ« mĂ«dha tĂ« memories (transparent hugepage).
  • Zbatimi i ndryshimeve pĂ«r tĂ« rritur efikasitetin e punĂ«s me memorien, tĂ« lidhura me pĂ«rmirĂ«simin e paketimit tĂ« strukturave, caching dhe pastrimin e blloqeve tĂ« liruara tĂ« memories.
  • Shtimi i optimizimeve pĂ«r arkitekturĂ«n AArch64 (ARM64).

Burimi: opennet.ru

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