Фацебоок је предложио нови механизам за управљање меморијом за Линук кернел

Роман Гушчин (Роман Гусхцхин) са Фејсбука опубликовал на маилинг листи програмера Линук кернела сет закрпа са имплементацијом новог контролера расподеле меморије плоча (контролор меморије плоча). Нови контролер је значајан по премештању обрачуна плоча са нивоа меморијске странице на ниво објекта кернела, што омогућава дељење плочастих страница у различитим цгрупама, уместо додељивања засебних кеш плоча за сваку цгрупу.

Предложени приступ омогућава повећање ефикасности коришћења плоче, смањење величине меморије која се користи за плочу за 30-45% и значајно смањење укупне потрошње меморије језгра. Смањењем броја непомичних плоча, постоји и позитиван ефекат у смањењу фрагментације меморије. Нови меморијски контролер значајно поједностављује код за обрачун плоча и не захтева употребу компликованих алгоритама за динамичко креирање и брисање кеша плоча за сваку цгрупу. Све меморијске цгрупе у новој имплементацији користе заједнички скуп кеш плоча, а животни век плочастих кеша више није везан за животни век оних инсталираних преко цгроуп Ограничења о употреби меморије.

Тачније обрачунавање ресурса имплементирано у новом контролеру плоча би теоретски требало више да оптерети ЦПУ, али се у пракси показало да су разлике безначајне. Конкретно, нови контролер плоча се већ неколико месеци користи на производним Фацебоок серверима који рукују различитим врстама оптерећења, а још увек нису идентификоване приметне регресије. Истовремено, постоји значајно смањење потрошње меморије - на неким хостовима је било могуће уштедети до 1 ГБ меморије, али овај индикатор у великој мери зависи од природе оптерећења, укупне величине РАМ-а, броја ЦПУ-а. и особине рада са памћењем. Претходни тестови показао смањење потрошње меморије за 650-700 МБ (42% слаб меморије) на веб фронт-енду, 750-800 МБ (35%) на серверу са ДБМС кешом и 700 МБ (36%) на ДНС серверу.

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

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