Ловкий патч и никакого мошенничества: эмуляция NUMA повышает производительность Raspberry Pi 5 на 18 %

Портал Phoronix обратил внимание на необычный патч, заметно повышающий производительность Raspberry Pi 5. Инженеры Igalia в результате экспериментов с эмуляцией NUMA на UMA-системах с чипами ARM64 (AArch64) добились повышения эффективности использования памяти. Так, простой патч для ядра Linux позволил улучшить результаты в Geekbench на 6 % в однопоточном режиме и на целых 18 % — в многопоточном.

Авторы патча пишут, что разделение RAM на несколько независимых блоков с последующим попеременными доступом (interleaving) позволяет контроллеру в Broadcom BCM2712 более полно использовать параллелизм на уровне физической организации чипов памяти (parallelism in physical memory chip organisation). Почему так происходит, авторы не уточняют, но, вероятно, это связано с особенностями организации кеша в SoC.

Источник изображения: Raspberry Pi

16-нм SoC BCM2712 включает четыре ядра Cortex-A76 (2,4 ГГц), каждому из которых полагается по 64 Кбайт кеша для инструкций и данных и 512 Кбайт L2-кеша. Объём общего L3-кеша составляет 2 Мбайт. Встроенный 32-бит контроллер памяти предлагает LPDRR4x-интерфейс, теоретическая пропускная способность которого достигает 17 Гбайт/с. Важно отметить, что этот чип не создавался эксклюзивно для Raspberry Pi — он был выбран среди актуальных массовых решений Broadcom из-за удачного сочетания цены, производительности и доступности.

Патч добавляет в Kconfig новую опцию, а для активации эмуляции NUMA (Non-uniform memory access) нужно передать соответствующий параметр при загрузке ядра. Дальнейшая работы осуществляется с помощью стандартной утилиты numactl.

Источник: servernews.ru

0 0 голоса
Рейтинг новости
15682
0
Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии