Indlela entsha yoLawulo lweMemori kaFacebook

Omnye wamalungu eqela lophuhliso lwenethiwekhi yoluntu Facebook, Roman Gushchin, ecetywayo kuluhlu lokuposa lomphuhlisi iseti ye Iipetshi zekernel zeLinuxejolise ekuphuculeni ulawulo lwememori ngokuphunyezwa komlawuli omtsha wolawulo lwememori - i-slab (isilawuli sememori ye-slab).

ukuhanjiswa kwe-slab yindlela yokulawula imemori eyenzelwe ukwaba imemori ngokufanelekileyo ngakumbi kunye nokuphelisa ukuhlukana okubalulekileyo. Isiseko sale algorithm kukugcina inkumbulo eyabiweyo equlathe into yohlobo oluthile kwaye uphinde usebenzise loo memori kwixesha elizayo inikezelwe into yohlobo olufanayo. Obu buchwephesha baziswa okokuqala kwi-SunOS nguJeff Bonwick kwaye ngoku busetyenziswa ngokubanzi kwiinkozo zeenkqubo ezininzi zokusebenza ze-Unix, kuquka iFreeBSD kunye neLinux.

Umlawuli omtsha usekwe kwi-accounting ye-slab eshukumayo ukusuka kwinqanaba lephepha lememori ukuya kwinqanaba lento ye-kernel, eyenza kube lula ukwabelana ngephepha le-slab elinye kumaqela ahlukeneyo, endaweni yokwaba i-cache eyahlukileyo kwiqela ngalinye.

Ngokusekelwe kwiziphumo zovavanyo, kulandela ukuba indlela yokulawula imemori ecetywayo ivumela ukwanda ukusebenza ngokufanelekileyo usebenzisa i-slab ukuya kwi-45%, kwaye iya kunciphisa ukusetyenziswa kwememori iyonke ye-OS kernel. Kwakhona, ngokunciphisa inani lamaphepha abelwe i-slab, ukuhlukana kwememori ngokubanzi kuyancipha, okungenakuchaphazela ukusebenza kwenkqubo.

Umlawuli omtsha uvavanyiwe kwimveliso yeeseva ze-Facebook kwiinyanga ezininzi, kwaye ukuza kuthi ga ngoku olu vavanyo lunokuthiwa luphumelele: ngaphandle kokulahlekelwa kwintsebenzo kwaye akukho ukwanda kwenani leempazamo, ukuhla okucacileyo kokusetyenziswa kwememori kuye kwaqatshelwa - kwezinye. iiseva ukuya kuthi ga kwi-1GB. Eli nani lixhomekeke kakhulu, umzekelo, iimvavanyo zangaphambili zibonise iziphumo ezisezantsi kancinci:

  • 650-700 MB kumphambili wewebhu
  • 750-800 MB kwiseva ene-cache yedatha
  • 700 MB kwiseva ye-DNS

>>> Iphepha lombhali kwiGitHub


>>> Iziphumo zovavanyo lwakwangoko

umthombo: linux.org.ru

Yongeza izimvo