Pro linuxové jádro byly připraveny optimalizace pro zlepšení výkonu plánovačů I/O

Jens Axboe, tvůrce io_uring a plánovačů I/O CFQ, Deadline a Noop, pokračoval ve svých experimentech s optimalizací I/O v linuxovém jádře. Tentokrát se jeho pozornost zaměřila na I/O plánovače BFQ a mq-deadline, které se ukázaly být úzkým hrdlem alespoň v případě vysokorychlostních disků NVMe.

Jak ukázala studie situace, jedním z klíčových důvodů pro neoptimální výkon subsystémů I/O plánovače byly problémy s konkurenčními zámky („zámek sporu“, pokus získat zámek držený jiným vláknem). Díky opatřením zaměřeným na omezení sporů při zpracování zámků, jako je serializace odesílání a vkládání dotazů, se rychlost plánovačů v řadě situací (v IOPS) výrazně zvýšila.

Při testování plánovače BFQ pomocí nástroje fio se výkon zvýšil z 567 kB na 1551 kB IOPS a spor o zámek se snížil z 96 % na 30 %. V případě mq-deadline se výkon po aplikaci navrhovaných záplat při použití jednotky NVMe zvýšil z 1070K na 2560K vstupně/výstupních operací za sekundu (IOPS) a spor o zámek se snížil z 94 % na 23 %.

Zdroj: opennet.ru

Přidat komentář