Facebookтун эс тутумун башкаруунун жаңы ыкмасы

Социалдык тармактарды өнүктүрүү тобунун мүчөлөрүнүн бири Facebook, Роман Гущин, иштеп чыгуучу почта тизмесинде бир топтомун сунуш кылган Linux ядросунун тактарыжаңы эс башкаруу контроллерин ишке ашыруу аркылуу эс башкарууну жакшыртууга багытталган - плита (плита эстутум контроллери).

плиталарды бөлүштүрүү эстутумду натыйжалуураак бөлүштүрүү жана олуттуу фрагментацияны жок кылуу үчүн иштелип чыккан эс башкаруу механизми. Бул алгоритмдин негизи белгилүү бир типтеги объектти камтыган бөлүнгөн эстутумду сактоо жана ошол эле типтеги объектке кийинки жолу бөлүнгөндө ал эстутумду кайра колдонуу болуп саналат. Бул ыкма биринчи жолу SunOS-та Джефф Бонвик тарабынан киргизилген жана азыр FreeBSD жана Linux сыяктуу көптөгөн Unix операциялык системаларынын өзөктөрүндө кеңири колдонулат.

Жаңы контроллер эс тутум барактарынын деңгээлинен ядро ​​​​объектисинин деңгээлине жылдырууга негизделген, бул ар бир cgroup үчүн өзүнчө кэш бөлүүнүн ордуна, ар кандай топтордо бир плита баракты бөлүшүүгө мүмкүндүк берет.

Сыноонун жыйынтыгы боюнча, сунушталган эс тутумду башкаруу ыкмасы көбөйтүүгө мүмкүндүк берет натыйжалуулугу плитаны колдонуу 45% га чейин, жана ошондой эле OS ядросунун жалпы эстутум керектөөсүн азайтат. Ошондой эле, плиталар үчүн бөлүнгөн барактардын санын азайтуу менен, тутумдун иштешине таасир этпей турган, бүтүндөй эс тутумдун фрагментациясы азаят.

Жаңы контроллер Facebookтун өндүрүштүк серверлеринде бир нече айдан бери сыналып келген жана азырынча бул тестирлөө ийгиликтүү деп атоого болот: аткарууда жоготуулар жана каталардын саны көбөйбөй, эстутум керектөөнүн так төмөндөшү байкалды - айрымдарында 1 ГБ чейин серверлер. Бул сан кыйла субъективдүү, мисалы, мурунку тесттер бир аз төмөн натыйжаларды көрсөткөн:

  • Желе фронтунда 650-700 МБ
  • 750-800 МБ серверде база кэши менен
  • DNS серверинде 700 МБ

>>> GitHubдагы автордун баракчасы


>>> Эрте тесттин жыйынтыгы

Source: linux.org.ru

Комментарий кошуу