Arm готовит TLBID для Linux: ускорение на процессорах с множеством ядер
Компания Arm на этой неделе отправила начальный набор патчей, добавляющих в ядро Linux поддержку TLBI Domains. Эта возможность, обозначаемая как «TLBID», — будущая архитектурная функция Arm, призванная повысить производительность систем с большим количеством ядер.
В чём суть
TLBID позволяет выполнять инвалидацию буфера ассоциативной трансляции (TLB) не на всей системе сразу, а лишь на части ядер. Сейчас сброс TLB обычно затрагивает все процессоры, что на многоядерных машинах оборачивается заметными издержками.
Разработчики готовят в ядре Linux логику, при которой команды инвалидации TLB будут отправляться только тем ядрам, где исполнялся конкретный процесс. Это избавляет от необходимости очищать TLB по всей системе и особенно полезно для серверных процессоров Arm с высокой плотностью ядер.
Когда ждать на практике
Цифры по приросту производительности пока не приводятся. К тому же TLBID ещё не включён в Arm Architecture Reference Manual, поэтому до появления функции в кремнии, судя по всему, пройдёт немало времени.
Помимо патчей для ядра, поддержка TLBID на ARM64 требует соответствующих инструментов: LLVM версии 23 и новее либо GNU Binutils 2.46 и новее — именно там появляется поддержка нужных инструкций.
Ознакомиться с работой над TLBID для будущих процессоров Arm можно в списке рассылки ядра Linux.
Источник: Phoronix
Комментарии
Войдите, чтобы комментировать.