Как стать автором
Обновить

Мейнтейнер блочной подсистемы в ядре Linux, а также создатель io_uring и планировщиков ввода/вывода CFQ, Deadline и Noop Йенс Аксбо (Jens Axboe) продолжил свои эксперименты с оптимизацией ввода/вывода в ядре Linux. Он занялся оптимизацией работы планировщиков ввода/вывода BFQ и mq-deadline, являющиеся узким местом как минимум в случае скоростных накопителей NVMe.

Как показало изучение ситуации, одной из ключевых причин неоптимальной производительности подсистем планировщиков ввода/вывода стали проблемы с конкурирующими блокировками (lock contention, попытка получить блокировку, удерживаемую другим потоком). Благодаря мерам, нацеленным на снижение соперничества при обработке блокировок, таким как сериализация диспетчеризации и вставки запросов, скорость работы планировщиков выросла в ряде ситуаций в разы (при пересчёте в IOPS в рамках тестов).

При тестировании планировщика BFQ утилитой fio производительность выросла с 567К до 1551К операций ввода/вывода в секунду, а конкуренция блокировок снизилась с 96% до 30%. В случае с mq-deadline производительность после применения предложенных Аксбо патчей при использовании NVMe-накопителя увеличилась с 1070К до 2560K операций ввода/вывода в секунду (IOPS), а конкуренция блокировок снизилась с 94% до 23%.

Ранее Аксбо сообщил, что смог увеличить число операций ввода/вывода в секунду (IOPS) на 6% (или даже больше для полновесных конфигураций ядер Linux), потратив всего 5 минут на внесение правок в код проекта.

Теги:
Всего голосов 6: ↑6 и ↓0+6
Комментарии0

Публикации

Истории

Работа

Ближайшие события

4 – 5 апреля
Геймтон «DatsCity»
Онлайн
8 апреля
Конференция TEAMLY WORK MANAGEMENT 2025
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань
20 – 22 июня
Летняя айти-тусовка Summer Merge
Ульяновская область