Facebook ippropona mekkaniżmu ġdid ta 'ġestjoni tal-memorja taċ-ċangatura għall-qalba tal-Linux

Ruman Gushchin (Ruman Gushchin) minn Facebook ippubblikati fuq il-lista tal-posta tal-iżviluppaturi tal-qalba tal-Linux sett ta 'garża bl-implimentazzjoni ta' kontrollur ġdid tal-allokazzjoni tal-memorja Blata (kontrollur tal-memorja taċ-ċangatura). Il-kontrollur il-ġdid huwa notevoli biex iċaqlaq il-kontabilità tal-ċangatura mil-livell tal-paġna tal-memorja għal-livell tal-oġġett tal-qalba, li jagħmilha possibbli li jaqsmu paġni ċangaturi f'cgroups differenti, minflok ma jallokaw caches slab separati għal kull cgroup.

L-approċċ propost jagħmilha possibbli li tiżdied l-effiċjenza tal-użu taċ-ċangatura, tnaqqas id-daqs tal-memorja użata għal ċangatura bi 30-45%, u tnaqqas b'mod sinifikanti l-konsum ġenerali tal-memorja tal-qalba. Billi tnaqqas in-numru ta 'ċangaturi mhux mobbli, hemm ukoll effett pożittiv fit-tnaqqis tal-frammentazzjoni tal-memorja. Il-kontrollur tal-memorja l-ġdid jissimplifika b'mod sinifikanti l-kodiċi għall-kontabilità għal ċangaturi u ma jeħtieġx l-użu ta 'algoritmi kkumplikati għall-ħolqien u t-tħassir dinamiku ta' caches taċ-ċangaturi għal kull cgroup. Il-cgroups kollha tal-memorja fl-implimentazzjoni l-ġdida jużaw sett komuni ta’ slab caches, u l-ħajja ta’ slab caches m’għadhiex marbuta mal-ħajja ta’ dawk installati permezz tal-cgroup restrizzjonijiet dwar l-użu tal-memorja.

Il-kontabilità tar-riżorsi aktar preċiża implimentata fil-kontrollur taċ-ċangatura l-ġdida għandha teoretikament tagħbija aktar is-CPU, iżda fil-prattika d-differenzi rriżultaw li kienu insinifikanti. B'mod partikolari, il-kontrollur taċ-ċangatura l-ġdid intuża għal diversi xhur fuq servers ta 'Facebook ta' produzzjoni li jimmaniġġjaw tipi differenti ta 'tagħbija tax-xogħol, u għadhom ma ġew identifikati l-ebda rigressjonijiet notevoli. Fl-istess ħin, hemm tnaqqis sinifikanti fil-konsum tal-memorja - fuq xi hosts kien possibbli li tiffranka sa 1GB ta 'memorja, iżda dan l-indikatur jiddependi ħafna fuq in-natura tat-tagħbija, id-daqs totali ta' RAM, in-numru ta 'CPUs. u l-karatteristiċi tal-ħidma bil-memorja. Testijiet preċedenti wera tnaqqis fil-konsum tal-memorja b'650-700 MB (42% tal-memorja slab) fuq il-web front-end, 750-800 MB (35%) fuq is-server b'cache DBMS u 700 MB (36%) fuq is-server DNS.

Sors: opennet.ru

Żid kumment