Facebook механизми нави идоракунии хотираи slab барои ядрои Linux пешниҳод кард

Роман Гушчин (Роман Гущин) аз Facebook нашр дар рӯйхати почтаи таҳиягарони ядрои Linux маҷмӯи часбҳо бо татбиқи контролери нави тақсимоти хотира плита (назоратчии хотираи плита). Назоратчии нав барои интиқоли ҳисобдории плитаҳо аз сатҳи саҳифаи хотира ба сатҳи объекти ядро ​​​​барои назаррас аст, ки ба ҷои ҷудо кардани кэшҳои алоҳида барои ҳар як гурӯҳ имкон медиҳад, ки саҳифаҳои плитаҳоро дар гурӯҳҳои гуногун мубодила кунанд.

Усули пешниҳодшуда имкон медиҳад, ки самаранокии истифодаи плита зиёд карда, андозаи хотираи барои плита истифодашаванда 30-45% кам карда шавад ва сарфи умумии хотираи ядро ​​​​ хеле кам карда шавад. Бо кам кардани шумораи плитаҳои ғайриманқул, инчунин дар коҳиш додани тақсимоти хотира таъсири мусбӣ дорад. Контролери нави хотира кодро барои баҳисобгирии плитаҳо ба таври назаррас содда мекунад ва истифодаи алгоритмҳои мураккабро барои динамикӣ эҷод ва нест кардани кэшҳои плитаҳо барои ҳар як гурӯҳ талаб намекунад. Ҳама гурӯҳҳои хотира дар татбиқи нав маҷмӯи умумии кэшҳои плитаҳоро истифода мебаранд ва мӯҳлати истифодаи кэшҳои плитаҳо дигар ба умри онҳое, ки тавассути cgroup насб шудаанд, вобаста нест. маҳдудиятҳо дар бораи истифодаи хотира.

Баҳисобгирии дақиқтари захираҳо, ки дар контролери нави плитаҳо татбиқ карда мешавад, бояд CPU-ро аз ҷиҳати назариявӣ бештар бор кунад, аммо дар амал фарқиятҳо ночиз буданд. Аз ҷумла, контролери нави плитаҳо дар тӯли якчанд моҳ дар серверҳои истеҳсолии Facebook истифода мешавад, ки намудҳои гуногуни сарбории корро идора мекунанд ва ҳеҷ гуна регрессияи назаррас муайян карда нашудааст. Дар айни замон, коҳиши назарраси истеъмоли хотира ба назар мерасад - дар баъзе ҳостҳо имкон дошт, ки то 1 ГБ хотираро сарфа кунед, аммо ин нишондиҳанда аз хусусияти сарборӣ, андозаи умумии RAM, шумораи CPUҳо вобаста аст. ва хусусиятхои кор бо хотира. Санҷишҳои қаблӣ нишон дод кам кардани истеъмоли хотира ба 650-700 МБ (42% хотираи slab) дар веб фронт, 750-800 МБ (35%) дар сервер бо кэши DBMS ва 700 MB (36%) дар сервери DNS.

Манбаъ: opennet.ru

Илова Эзоҳ