Dla rdzenia Linux Przygotowano optymalizacje mające na celu poprawę wydajności harmonogramów wejścia/wyjścia

Jens Axboe, twórca io_uring oraz harmonogramów operacji wejścia/wyjścia CFQ, Deadline i Noop, kontynuował eksperymenty z optymalizacją operacji wejścia/wyjścia w jądrze. LinuxTym razem jego uwaga skupiła się na harmonogramach wejścia/wyjścia BFQ i mq-deadline, które okazały się wąskim gardłem, przynajmniej w przypadku szybkich dysków NVMe.

Jak wykazało badanie sytuacji, jedną z kluczowych przyczyn nieoptymalnej wydajności podsystemów programu planującego we/wy były problemy z konkurencyjnymi blokadami („konkurencja o blokadę”, próba uzyskania blokady utrzymywanej przez inny wątek). Dzięki środkom mającym na celu ograniczenie rywalizacji o blokady, takim jak serializacja wysyłki i wstawianie zapytań, w wielu sytuacjach (w IOPS) znacznie wzrosła prędkość programów planujących.

Podczas testowania harmonogramu BFQ za pomocą narzędzia fio wydajność wzrosła z 567 tys. do 1551 tys. IOPS, a rywalizacja o blokady spadła z 96% do 30%. W przypadku mq-deadline wydajność po zastosowaniu proponowanych poprawek podczas korzystania z dysku NVMe wzrosła z 1070 tys. do 2560 tys. operacji wejścia/wyjścia na sekundę (IOPS), a rywalizacja o blokady spadła z 94% do 23%.

Źródło: opennet.ru

Kup niezawodny hosting dla stron z ochroną DDoS, serwery VPS VDS 🔥 Kup niezawodny hosting stron internetowych z ochroną DDoS, serwery VPS VDS | ProHoster