Optimizacije su pripremljene za Linux kernel kako bi se poboljšala izvedba I/O planera

Jens Axboe, tvorac io_uringa i I/O planera CFQ, Deadline i Noop, nastavio je svoje eksperimente s I/O optimizacijom u Linux kernelu. Ovaj put, njegova je pozornost skrenula na BFQ i mq-deadline I/O planere, koji su se pokazali kao usko grlo barem u slučaju NVMe diskova velike brzine.

Kao što je studija situacije pokazala, jedan od ključnih razloga za neoptimalne performanse podsustava I/O planera bili su problemi s konkurentskim zaključavanjima ("lock contention", pokušaj da se dobije zaključavanje koje drži druga nit). Zahvaljujući mjerama usmjerenim na smanjenje sukoba prilikom obrade zaključavanja, kao što je serijalizacija slanja i umetanje upita, brzina planera značajno se povećala u brojnim situacijama (u IOPS).

Prilikom testiranja BFQ planera s uslužnim programom fio, izvedba je porasla s 567K na 1551K IOPS, a sukob zaključavanja smanjen s 96% na 30%. U slučaju mq-deadlinea, izvedba nakon primjene predloženih zakrpa pri korištenju NVMe pogona porasla je s 1070K na 2560K ulazno/izlaznih operacija u sekundi (IOPS), a sukob zaključavanja smanjen je s 94% na 23%.

Izvor: opennet.ru

Dodajte komentar