Оценка производительности Linux-ядра с оптимизирующим Hugepage-патчем

Ресурс Phoronix представил результаты оценки эффективности работы "Transparent Hugepage" патча для Linux-ядра. Патч занимает более 7 тыс. строк и реализует технику увеличения базового размера адресуемых страниц памяти (без патча размер страницы составляет всегда 4096 байт, с патчем - 2 Мб ), что приводит к сокращению числа используемых TLB-блоков (Translation Lookaside Buffer) и расширению возможностей по задействованию выделенной, но неиспользуемой памяти, для кэширования системных данных (например, под дисковый кэш).

Теоретически реализуемый патчем подход должен привести к увеличению производительности самого ядра и активно использующих память приложений. Тем не менее, не исключены ситуации, когда патч оказывает негативное влияние. Например, приложение может выделить через функцию mmap большой блок памяти, но записать в него всего 1 байт данных. В этом случае, с патчем будет выделена страница памяти размером 2 Мб, а не 4 Кб как в ситуации без патча.

Из трех проведенных тестов, Hugepage-патч показал прирост производительности на 18% только в одном из вариантов теста NAS Parallel Benchmarks. Во втором варианте теста NAS Parallel Benchmarks и при выполнении операции изменения размера большого изображения в пакете GraphicsMagic, прирост производительности был практически не ощутим.

Полный текст статьи читайте на OpenNet