La Nova Memor-Administra Metodo de Facebook

Unu el la membroj de la teamo de disvolviĝo de sociaj retoj Facebook, Roman Guŝĉin, proponis en la ellaboranto dissendolisto aron de Linukso-kernaj diakilojcelita plibonigi memoradministradon per la efektivigo de nova memoradministra regilo - slabo (slab memorregilo).

slabdistribuo estas memoradministradmekanismo dizajnita por asigni memoron pli efike kaj elimini signifan fragmentiĝon. La bazo de ĉi tiu algoritmo estas stoki asignitan memoron enhavantan objekton de certa tipo kaj reuzi tiun memoron la venontan fojon kiam ĝi estas asignita por objekto de la sama tipo. Ĉi tiu tekniko unue estis enkondukita en SunOS fare de Jeff Bonwick kaj nun estas vaste uzata en la kernoj de multaj Uniksaj operaciumoj, inkluzive de FreeBSD kaj Linukso.

La nova regilo baziĝas sur movo de slaba kontado de la memorpaĝa nivelo al la kerna objektonivelo, kio ebligas kunhavigi unu slabpaĝon en malsamaj cgrupoj, anstataŭ asigni apartan kaŝmemoron por ĉiu cgrupo.

Surbaze de la testrezultoj, sekvas, ke la proponita memor-administra metodo permesas pliigi efikeco uzante slabon ĝis 45%, kaj ankaŭ reduktos la totalan memorkonsumon de la OS-kerno. Ankaŭ, reduktante la nombron da paĝoj asignitaj por slabo, memorfragmentado kiel tutaĵo estas reduktita, kiu ne povas ne influi la rendimenton de la sistemo.

La nova regilo estis provita sur produktaj Facebook-serviloj dum pluraj monatoj, kaj ĝis nun ĉi tiu provo povas esti nomata sukcesa: sen perdo de rendimento kaj sen pliigo de la nombro da eraroj, oni rimarkis klaran malkreskon de memorkonsumo - ĉe iuj. serviloj ĝis 1GB. Ĉi tiu nombro estas sufiĉe subjektiva, ekzemple, pli fruaj provoj montris iomete pli malaltajn rezultojn:

  • 650-700 MB en la interreta fasado
  • 750-800 MB sur servilo kun datumbaza kaŝmemoro
  • 700 MB sur DNS-servilo

>>> Paĝo de aŭtoro en GitHub


>>> Fruaj testrezultoj

fonto: linux.org.ru

Aldoni komenton