Jens Axboe, krijuesi i io_uring dhe planifikuesve të hyrje/dalje CFQ, Deadline dhe Noop, vazhdoi eksperimentet e tij me optimizimin e hyrje/dalje në kernelin Linux. Këtë herë, ai përqendroi vëmendjen e tij te planifikuesit e hyrje/dalje BFQ dhe mq-deadline, të cilët rezultuan si pika të ngushta sidomos në rastin e storjeve NVMe.
Siç tregoi studimi i situatës, një nga arsyet kyçe për performancën jo optimale të nënshkallëve të planifikuesve të hyrje/dalje ishin problemet me konkurencën për bllokada («lock contention», përpjekja për të marrë një bllokadë që mbahet nga një gjurmë tjetër). Falë masave të orientuara për të ulur konkurrencën në përpunimin e bllokadave, si serializimi i shpërndarjes dhe futurat e kërkesave, shpejtësia e punës së planifikuesve u rrit në disa raste disa herë (në IOPS).
Gjatë testimit të planifikuesit BFQ me mjetin fio, performanca u rrit nga 567K në 1551K operacione hyrje/dalje në sekondë, ndërsa konkurrenca për bllokada u ul nga 96% në 30%. Për mq-deadline, performanca pas aplikimit të patch-eve të propozuara kur përdoret një disk NVMe u rrit nga 1070K në 2560K operacione hyrje/dalje në sekondë (IOPS), ndërsa konkurrenca për bllokada u ul nga 94% në 23%.
Burimi: opennet.ru
