Relpolines добавят бързина при Spectre V2 кръпките при Linux

0
67
Relpolines добавят бързина при Spectre V2 кръпките при Linux

Spectre е уязвимост при модерните компютърни процесори, която предоставя евентуална възможност за разкриване на данни, които не трябва да са общодостъпни. Тези хардуерни уязвимости наложиха големи промени при ядрата на Linux и Windows, като разработчиците издадоха различни кръпки, които обаче имат негативен ефект върху представянето и бързодействието.

И докато ударът по производителността е много по-малък при Linux, отколкото при Windows, различни разработчици продължават да търсят начини да намалят още повече негативното въздействие на Spectre кръпките. Такъв е и случаят с разработчиците от VMware, които в лицето на Nadav Amit анонсираха своята нова работа Relpolines при Linux.

Relpolines идва от Relative call + Trampoline и не трябва да се бърка с Retpolines. Relpolines намалява негативното въздействие на Spectre V2 Retpolines при Linux. Това се постига чрез инжектиране на част от кода с бързи и бавни извиквания на пътищата за всяко индиректно извикване. Бързият път се използва ако очакваната (hot) цел съвпадне, а бавният използва retpoline.

Relpolines изисква известен период за обучение, през който се използват бавните пътища. По време на този период бавните пътища се настройват да извикват функция, която запазва източника на извикване и в хеш таблица се запазва броят на честотата на извикванията. След това най-извикваната цел се пачва и се определя като hot. Пачването се извършва в реално време.

Подобрението в бързодействието от този подход не е много високо спрямо бързодействието без никакви Spectre v2 кръпки, но все пак имаме увеличение при redis-ycsb с 4%, при dbench с 2%, а при nginx с 10%. Засега работата по Relpolines е в експериментален стадий и са необходими още тествания, както и решение на някои проблеми.

Прочетете още:  Apple Watch брикват след watchOS 5.1 ъпдейт. Клиентите си искат парите обратно

Повече информация можете да получите от този мейл лист.

0/5 (0 Reviews)