Подготвени са оптимизации за ядрото на Linux, които повишават производителността на планировачите за вход/изход.

Йенс Ексбо (Jens Axboe), създателят на io_uring и планировачите за вход/изход CFQ, Deadline и Noop, продължи своите експерименти с оптимизацията на вход/изход в ядрото на Linux. Този път вниманието му беше насочено към планировачите за вход/изход BFQ и mq-deadline, които се оказаха тесни места поне в случай на бързи NVMe устройства.

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

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

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster