NVIDIA прискорила Vera CPU до 6,73% патчем Linux менш ніж на 100 рядків
Оновлення планувальника для ядер Olympus правильно враховує пріоритет SMT-потоків. У NVPL приріст досяг 6,73%, але код ще не прийнятий у Linux.

NVIDIA продовжує оптимізувати планувальник Linux для серверного процесора Vera з власними ядрами Olympus. Сьома версія серії патчів, яка містить менш ніж сотню рядків коду, показала приріст від 3,2% до 6,73% у математичних бібліотеках. Робота ще проходить обговорення у списку розсилки ядра й не входить до стабільної версії Linux.
Навіщо Vera особливий планувальник
Vera використовує Spatial Multithreading — варіант одночасної багатопотоковості, у якому два потоки отримують більш передбачуваний розподіл ресурсів ядра. Потоки не є повністю однаковими з погляду бажаного розміщення: прошивка може позначати пріоритетного SMT-сусіда, на якому навантаження працює ефективніше. Звичайна логіка планувальника не завжди враховує цю асиметрію під час вибору вільного CPU.
Патч змінює шлях вибору idle-ядра так, щоб Linux поважав перевагу SMT-сусіда. Також додається параметр sched_smt_asym_packing, який дозволяє примусово застосувати асиметричне пакування у домені SMT. Це корисно, якщо адміністратор хоче зафіксувати політику або якщо системна прошивка некоректно передає інформацію про пріоритети.
Результати тестів
Пропускна здатність OpenBLAS зросла з 7,11876 до 7,34669 TFLOPS, тобто на 3,2%. У бібліотеці NVIDIA Performance Libraries результат піднявся з 9,64742 до 10,29695 TFLOPS — на 6,73%. Автори також зафіксували менший стандартний розкид, а навантаження стабільніше залишалося на SMT-потоці з нижчим номером.
Ці вимірювання наводяться в описі патча і ще не є широким незалежним тестом різних робочих навантажень. OpenBLAS та NVPL добре показують обчислювальну пропускну здатність, але база даних, вебсервер або компіляція можуть реагувати інакше. Приріст також залежить від того, наскільки початкове розміщення потоків було неоптимальним.
Чому кілька відсотків важливі
У персональному комп’ютері 3–6% іноді губляться у похибці або залишаються непомітними. У датацентрі з сотнями процесорів та довгими задачами такий приріст може скоротити час роботи й витрати енергії без заміни обладнання. Не менш важлива стабільність: передбачуваний час відповіді потрібен для хмарних сервісів, де різкі просідання окремих екземплярів ускладнюють планування потужності.
Водночас оптимізація не створює додаткові виконавчі блоки й не збільшує частоту CPU. Вона лише допомагає планувальнику краще використовувати наявну архітектуру. Якщо задача не навантажує обидва SMT-потоки або повністю обмежена пам’яттю чи GPU, ефект може бути значно меншим.
Коли патч потрапить до користувачів
Серія вже дійшла до сьомої редакції, що свідчить про активне доопрацювання після рецензій. Phoronix припускає можливу появу у Linux 7.4, але це не підтверджений графік. До прийняття в основну гілку код може змінитися, а дистрибутиви для Vera здатні тимчасово постачати власні патчовані ядра.
Історія показує, наскільки важливе програмне забезпечення для нової серверної архітектури. Навіть добре спроєктоване ядро не реалізує потенціал, якщо ОС не розуміє його топологію. Для власників звичайних GeForce оновлення нічого не змінює: воно призначене для Arm-процесора Vera в AI-інфраструктурі, а не для драйвера відеокарт. Проте для ринку це приклад того, як відкритий Linux стає частиною конкурентної боротьби NVIDIA з серверними AMD та Intel.
Матеріал підготовлений редакцією HARDW на основі публікації Phoronix.
Відкрити оригінал на Phoronix ↗




