Фацебоок је представио ТМО механизам који вам омогућава да уштедите 20-32% меморије на серверима

Инжењери из Фејсбука (забрањеног у Руској Федерацији) објавили су извештај о имплементацији прошле године ТМО (Транспарент Мемори Оффлоадинг) технологије, која омогућава значајне уштеде у РАМ-у на серверима измештањем секундарних података који нису потребни за рад на јефтиније дискове, као што је НВМе ССД дискови. Фацебоок процењује да коришћење ТМО може да уштеди 20 до 32% РАМ-а на сваком серверу. Решење је дизајнирано за коришћење у инфраструктурама где апликације раде у изолованим контејнерима. Компоненте ТМО-а на страни кернела су већ укључене у Линук кернел.

На страни Линук кернела, технологија је подржана од стране подсистема ПСИ (Прессуре Сталл Информатион), који је доступан почевши од издања 4.20. ПСИ се већ користи у разним руковаоцима са мало меморије и омогућава вам да анализирате информације о времену чекања за добијање различитих ресурса (ЦПУ, меморија, И/О). Са ПСИ, процесори корисничког простора могу прецизније да процене нивое оптерећења система и обрасце успоравања, омогућавајући да се аномалије идентификују рано, пре него што имају приметан утицај на перформансе.

У корисничком простору, ТМО обезбеђује компонента Сенпаи, која, преко цгроуп2, динамички прилагођава ограничење меморије за контејнере апликација на основу података примљених од ПСИ. Сенпаи преко ПСИ анализира знаке почетка несташице ресурса, процењује осетљивост апликација на успоравање приступа меморији и покушава да одреди минималну величину меморије потребну за контејнер, при којој подаци потребни за рад остају у РАМ-у, а пратеће подаци смештени у кеш датотеке или се тренутно не користе директно у свап партицији.

Фацебоок је представио ТМО механизам који вам омогућава да уштедите 20-32% меморије на серверима

Дакле, суштина ТМО-а је да задржи процесе на строгој дијети у смислу потрошње меморије, приморавајући да се замене неискоришћене меморијске странице чије избацивање не утиче приметно на перформансе (на пример, странице са кодом који се користи само током иницијализације, и за једнократну употребу). подаци у кешу диска). За разлику од избацивања информација на свап партицију као одговор на притисак меморије, у ТМО подаци се избацују на основу проактивног предвиђања.

Један од критеријума за деложацију је одсуство приступа меморијској страници у трајању од 5 минута. Такве странице се називају хладне меморијске странице и у просеку чине око 35% меморије апликације (у зависности од врсте апликације, постоји распон од 19% до 65%). Преузимање узима у обзир активности повезане са анонимним меморијским страницама (меморијом коју додељује апликација) и меморијом која се користи за кеширање датотека (додељује језгро). У неким апликацијама главна потрошња је анонимна меморија, али у другим је кеш датотека такође важан. Да би се избегао неуравнотеженост избацивања кеша, ТМО користи нови алгоритам страница који пропорционално уклања анонимне странице и странице повезане са кешом датотеке.

Гурање ретко коришћених страница у спорију меморију нема значајан утицај на перформансе, али може значајно да смањи трошкове хардвера. Подаци се испуштају на ССД дискове или у компримовану свап област у РАМ-у. Што се тиче трошкова складиштења бајта података, коришћење НВМе ССД-а је до 10 пута јефтиније од коришћења компресије у РАМ-у.

Фацебоок је представио ТМО механизам који вам омогућава да уштедите 20-32% меморије на серверима


Извор: опеннет.ру

Додај коментар