Jens Axboe, skaparen av io_uring och schemalÀggarna för in- och utdata CFQ, Deadline och Noop, har fortsatt sina experiment med att optimera in- och utdata i Linux-kÀrnan. Denna gÄng har schemalÀggarna BFQ och mq-deadline hamnat i fokus, dÄ de visat sig vara en flaskehals i minst ett fall med snabba NVMe-enheter.
Studien visade att en av de viktigaste orsakerna till den suboptimala prestandan hos in- och utdata-schemalÀggarsubsystemet var problem med konkurrerande lÄs ("lock contention", försök att fÄ tag pÄ ett lÄs som hÄlls av en annan trÄd). Tack vare ÄtgÀrder inriktade pÄ att minska konkurrensen vid lÄshantering, som seriekoppling av schemalÀggning och insÀttningar av förfrÄgningar, ökade schemalÀggarnas prestanda i flera situationer flera gÄnger (i IOPS).
Vid testning av BFQ-schemalÀggaren med hjÀlp av verktyget fio ökade prestandan frÄn 567K till 1551K in- och utdataoperationer per sekund, medan konkurrensen om lÄs minskade frÄn 96 % till 30 %. NÀr det gÀller mq-deadline ökade prestandan efter tillÀmpning av de föreslagna patcharna vid anvÀndning av NVMe-enheten frÄn 1070K till 2560K in- och utdataoperationer per sekund (IOPS), och konkurrensen om lÄs minskade frÄn 94 % till 23 %.
KĂ€lla: opennet.ru
