Facebook механизми TMO-ро ҷорӣ кард, ки ба шумо имкон медиҳад 20-32% хотираро дар серверҳо сарфа кунед

Муҳандисони Facebook (дар Федератсияи Русия мамнӯъ) гузоришро дар бораи татбиқи технологияи TMO (Transparent Memory Offloading) дар соли гузашта нашр карданд, ки имкон медиҳад, ки RAM дар серверҳо тавассути иваз кардани маълумоти дуюмдараҷа барои кор ба дискҳои арзонтар, аз қабили NVMe сарфа шавад. SSD -дискҳо. Facebook тахмин мекунад, ки истифодаи TMO метавонад аз 20 то 32% хотираи оперативӣ дар ҳар як сервер сарфа кунад. Ҳал барои истифода дар инфрасохторҳо тарҳрезӣ шудааст, ки барномаҳо дар контейнерҳои ҷудогона кор мекунанд. Қисмҳои тарафи ядроии TMO аллакай ба ядрои Linux дохил карда шудаанд.

Дар паҳлӯи ядрои Linux, технологияро зерсистемаи PSI (Pressure Stall Information) дастгирӣ мекунад, ки аз нашри 4.20 дастрас аст. PSI аллакай дар коркардкунандагони гуногуни хотираи кам истифода мешавад ва ба шумо имкон медиҳад, ки маълумотро дар бораи вақти интизорӣ барои дарёфти захираҳои гуногун (CPU, хотира, I/O) таҳлил кунед. Бо PSI, протсессорҳои фазои корбар метавонанд сатҳи сарбории система ва шакли сустшавии системаро дақиқтар арзёбӣ кунанд, ки имкон медиҳад аномалияҳо пеш аз он ки ба кор таъсир расонанд, барвақт муайян карда шаванд.

Дар фазои корбар, TMO аз ҷониби ҷузъи Senpai таъмин карда мешавад, ки тавассути cgroup2 маҳдудияти хотираро барои контейнерҳои барнома дар асоси маълумоти аз PSI гирифташуда динамикӣ танзим мекунад. Senpai аломатҳои фарорасии норасоии захираҳоро тавассути PSI таҳлил мекунад, ҳассосияти барномаҳоро ба сустшавии дастрасии хотира арзёбӣ мекунад ва кӯшиш мекунад, ки андозаи ҳадди ақали хотираи аз ҷониби контейнер талабшударо муайян кунад, ки дар он маълумот барои кор дар хотираи оперативӣ боқӣ мемонад ва маълумоте, ки дар кэши файл ҷойгир шудаанд ё дар айни замон мустақиман истифода намешаванд, маҷбуран ба қисмати своп бароварда мешаванд.

Facebook механизми TMO-ро ҷорӣ кард, ки ба шумо имкон медиҳад 20-32% хотираро дар серверҳо сарфа кунед

Ҳамин тариқ, моҳияти TMO аз нигоҳ доштани равандҳо дар парҳези қатъӣ аз нуқтаи назари истеъмоли хотира, маҷбур кардани иваз кардани саҳифаҳои хотираи истифоданашуда, ки ихроҷи онҳо ба кор таъсир намерасонад (масалан, саҳифаҳое, ки рамзи танҳо ҳангоми оғозёбӣ истифода мешаванд ва якдафъаина истифода мешаванд) мебошад. маълумот дар кэши диск). Баръакси ихроҷи маълумот ба қисмати своп дар посух ба фишори хотира, дар TMO маълумот дар асоси пешгӯии фаъол хориҷ карда мешавад.

Яке аз меъёрҳои ихроҷ ин набудани дастрасӣ ба саҳифаи хотира барои 5 дақиқа аст. Чунин саҳифаҳоро саҳифаҳои хотираи сард меноманд ва ба ҳисоби миёна тақрибан 35% хотираи барномаро ташкил медиҳанд (вобаста ба намуди барнома, аз 19% то 65% диапазон вуҷуд дорад). Пешниҳод фаъолияти марбут ба саҳифаҳои хотираи номаълум (хотираи аз ҷониби барнома ҷудошуда) ва хотирае, ки барои кэшкунии файл (аз ҷониби ядро ​​ҷудо карда шудааст) истифода мешавад, ба назар мегирад. Дар баъзе замимаҳо истеъмоли асосӣ хотираи номаълум аст, аммо дар баъзеи дигар кэши файл низ муҳим аст. Барои пешгирӣ кардани номутавозунии ихроҷи кэш, TMO алгоритми нави пейджингро истифода мебарад, ки саҳифаҳо ва саҳифаҳои беномро, ки бо кэши файл алоқаманданд, мутаносибан хориҷ мекунад.

Гузаронидани саҳифаҳои кам истифодашаванда ба хотираи сусттар ба кор таъсири ҷиддӣ намерасонад, аммо метавонад хароҷоти сахтафзорро ба таври назаррас коҳиш диҳад. Маълумот ба дискҳои SSD ё ба минтақаи своп фишурда дар RAM тоза карда мешавад. Дар робита ба арзиши нигоҳдории як байт маълумот, истифодаи NVMe SSD нисбат ба истифодаи фишурдасозӣ дар RAM то 10 маротиба арзонтар аст.

Facebook механизми TMO-ро ҷорӣ кард, ки ба шумо имкон медиҳад 20-32% хотираро дар серверҳо сарфа кунед


Манбаъ: opennet.ru

Илова Эзоҳ