Facebook ji bo kernel Linux-ê mekanîzmayek nû ya rêveberiya bîranîna slabê pêşniyar kir

Roman Gushchin (Roman Guşchin) ji Facebookê weşandin li ser navnîşa nameyan a pêşdebirên kernel Linux de komek patches bi pêkanîna kontrolkerek dabeşkirina bîranîna nû qels (kontrolker bîra slab). Kontrolkera nû ji ber veguheztina hesabê slabê ji asta rûpela bîranînê berbi asta objekta kernelê ve girîng e, ku ev yek gengaz dike ku hûn rûpelên slabê di cgroupên cihêreng de parve bikin, li şûna ku ji bo her cgroup keşeyên slabê yên cuda veqetînin.

Nêzîkatiya pêşniyarî gengaz dike ku meriv karbidestiya karanîna slabê zêde bike, mezinahiya bîranîna ku ji bo slabê tê bikar anîn% 30-45 kêm bike û bi girîngî xerckirina bîranîna giştî ya kernel kêm bike. Bi kêmkirina hejmara lewheyên neguhêzbar, di kêmkirina perçebûna bîrê de jî bandorek erênî heye. Kontrolkera nû ya bîranînê kodê ji bo hesabkirina slaban bi girîngî hêsan dike û ji bo afirandina dînamîk û jêbirina caşên slabê ji bo her cgroup hewce nake ku algorîtmayên tevlihev bikar bînin. Hemî cgroupên bîranînê di pêkanîna nû de komek şilavên slabê yên hevpar bikar tînin, û heyama caşên slabê êdî bi temenê wan ên ku di nav cgroup de hatine saz kirin ve girêdayî ye. sînorkirin li ser bikaranîna bîra.

Hesabkirina çavkaniyê ya rastîn a ku di kontrolkera slabê ya nû de hatî bicîh kirin divê bi teorîkî CPU-yê bêtir bar bike, lê di pratîkê de cûdahî ne girîng derketin. Bi taybetî, kontrolkera slabê ya nû ev çend meh in li ser hilberandina serverên Facebook-ê yên ku bi cûrbecûr bargiraniya kar ve mijûl dibin, tê bikar anîn, û hêj paşveçûnek berbiçav nehatine nas kirin. Di heman demê de, kêmbûnek girîng di xerckirina bîranînê de heye - li ser hin mêvandaran gengaz bû ku heya 1 GB bîranîn were hilanîn, lê ev nîşanker pir bi xwezaya barkirinê, mezinahiya tevahî RAM, hejmara CPU ve girêdayî ye. û taybetmendiyên xebata bi bîranînê. testên berê destnîşan kir kêmkirina mezaxtina bîranînê bi 650-700 MB (42% ji bîra slabê) li ser tevna pêşîn, 750-800 MB (35%) li ser serverê bi cache DBMS û 700 MB (36%) li ser servera DNS.

Source: opennet.ru

Add a comment