Metodu Ġdid ta' Ġestjoni tal-Memorja ta' Facebook

Wieħed mill-membri tat-tim tal-iżvilupp tan-netwerk soċjali facebook, Ruman Gushchin, propost fil-lista tal-posta tal-iżviluppatur sett ta ' Garżi tal-qalba tal-Linuximmirat lejn it-titjib tal-ġestjoni tal-memorja permezz tal-implimentazzjoni ta' kontrollur ġdid tal-ġestjoni tal-memorja - ċangatura (kontrollur tal-memorja ċangatura).

distribuzzjoni taċ-ċangatura huwa mekkaniżmu ta 'ġestjoni tal-memorja ddisinjat biex jalloka memorja b'mod aktar effiċjenti u jelimina frammentazzjoni sinifikanti. Il-bażi ta 'dan l-algoritmu hija li tiffranka memorja allokata li fiha oġġett ta' ċertu tip u terġa 'tuża dik il-memorja l-ħin li jmiss li tiġi allokata għal oġġett tal-istess tip. Din it-teknika ġiet introdotta għall-ewwel darba f'SunOS minn Jeff Bonwick u issa tintuża ħafna fil-kernels ta' ħafna sistemi operattivi Unix, inklużi FreeBSD u Linux.

Il-kontrollur il-ġdid huwa bbażat fuq iċ-ċaqliq tal-kontabilità taċ-ċangatura mil-livell tal-paġna tal-memorja għal-livell tal-oġġett tal-qalba, li jagħmilha possibbli li taqsam paġna waħda taċ-ċangatura f'cgroups differenti, minflok ma tiġi allokata cache separata għal kull cgroup.

Ibbażat fuq ir-riżultati tat-test, isegwi li l-metodu ta 'ġestjoni tal-memorja propost jippermetti żieda effettività bl-użu taċ-ċangatura għal 45%, u se jnaqqas ukoll il-konsum ġenerali tal-memorja tal-qalba tal-OS. Ukoll, billi jitnaqqas in-numru ta 'paġni allokati għal slab, titnaqqas il-frammentazzjoni tal-memorja kollha kemm hi, li ma tistax ma taffettwax il-prestazzjoni tas-sistema.

Il-kontrollur il-ġdid ġie ttestjat fuq servers ta 'Facebook ta' produzzjoni għal diversi xhur, u s'issa dan l-ittestjar jista 'jissejjaħ suċċess: mingħajr telf fil-prestazzjoni u mingħajr żieda fin-numru ta' żbalji, ġie nnutat tnaqqis ċar fil-konsum tal-memorja - fuq xi wħud. servers sa 1GB. Dan in-numru huwa pjuttost suġġettiv, pereżempju, testijiet preċedenti wrew riżultati kemmxejn aktar baxxi:

  • 650-700 MB fuq il-web frontend
  • 750-800 MB fuq server b'cache tad-database
  • 700 MB fuq server DNS

>>> Il-paġna tal-awtur fuq GitHub


>>> Riżultati bikrija tat-test

Sors: linux.org.ru

Żid kumment