Ubuntu переходить на intel-compute-runtime без захисту від Spectre
Ubuntu переходить на intel-compute-runtime без захисту від атак Spectre для підвищення продуктивності
В Ubuntu вирішили перейти за замовчуванням на поставку пакета intel-compute-runtime, зібраного з прапорцем NEO_DISABLE_MITIGATIONS, який вимикає захист від атак класу Spectre. За оцінкою розробників Ubuntu наявність такого захисту призводить до зниження продуктивності пакета приблизно на 20%.
Що таке intel-compute-runtime та як він пов’язаний із захистом від Spectre
Пакет intel-compute-runtime містить компоненти, необхідні для використання OpenCL та OneAPI Level Zero на системах з GPU Intel. Під час збірки бібліотек, що постачаються у пакеті, наявність прапорця NEO_DISABLE_MITIGATIONS призводить до вимкнення в компіляторі опцій “-mretpoline -mindirect-branch=thunk -mfunction-return=thunk -mindirect-branch-register”.
Ці опції забезпечують додатковий захист від Spectre. На продуктивність OpenCL та операцій на стороні GPU вони не впливають, однак знижують накладні витрати при виконанні коду, що відповідає за роботу API.
Чому Ubuntu відмовляється від додаткового захисту
Інженери з безпеки Intel та Canonical під час обговорення дійшли висновку, що в захисті від Spectre, реалізованому на рівні Compute Runtime, більше немає необхідності. Це пояснюється тим, що необхідний захист вже наявний на рівні ядра.
Крім того, наявний у Compute Runtime захист від Spectre становить інтерес переважно для тих, хто використовує ядра без належного захисту. Фахівці вважають, що користь від такого захисту не перекриває очевидне зниження продуктивності.
Варто також зазначити, що офіційні релізи Intel Graphics Compute Runtime від Intel збираються з установленим за замовчуванням прапорцем NEO_DISABLE_MITIGATIONS, який вимикає вказаний захист.
Вплив на продуктивність та безпеку
Відмова від додаткового рівня захисту, таким чином, дозволить підвищити продуктивність системи приблизно на 20%, що є суттєвим покращенням. Водночас, загальний рівень безпеки залишається достатнім завдяки захисту на рівні ядра.
Зважаючи на те, що сучасні навантаження вимагають максимальної продуктивності, особливо при використанні графічних процесорів для обчислень, таке рішення виглядає цілком виправданим. Проте користувачам із підвищеними вимогами до безпеки варто звернути увагу на цю зміну.
Більше інформації про intel-compute-runtime можна знайти на офіційній сторінці проекту.