anticipatory scheduler - akár 1000%-os gyorsulás streaming IO esetén
Wohooo. Úgy tűnik elkészült. Legalábbis annyira, hogy bekerült a 2.5-ös fejlesztői kernelbe. Az anticipatory scheduler (megelőlegező ütemező) Nick Piggin munkája, és a 2.5.59-mm5 (Andrew Morton által karbantartott fa) kernelfában jelent meg először. Most Linus beolvasztotta, úgyhogy ez azt jelenti, hogy kész a szélesebb körű tesztelésre. Néhány dolog azonban megjegyzésre szorul ezzel kapcsolatban:
- Néhány workload esetén kb. 10%-kal lassabb, mint a régi "deadline" IO scheduler. Főleg adatbázis műveleteknél jelentkezik ez, ahol seek-elni kell végig a diszken az olvasásoknál, és a szinkron írásoknál.
Viszont a többi terhelés esetén (pl. egybefüggő file-ok (.AVI-k, nagyméretű videok, stb.) esetén akár 1000%-kal gyorsabb Andrew Morton szerint. Szerinte az ütemezőt egészében nézve jobb ütemezőt alkottak a réginél.
"Hacsak Nick nem húz elő valami nagy nyulat a cilinderéből,
az adatbázis srácoknak az 'elevator=deadline' opcióval kell a kernelüket bootolni, hogy visszakapják a jobb teljesítményt." - mondta Morton."Ezek a funkciók tesztelve lettek, de az elmúlt öt hónap során több, mint 100 patch került elfogadásra, tehát maradhatott benne egy-két bug. Ha úgy érzed, hogy valami nem stimmel a block rétegben (néhány task csak áll "D" állapotban, és csak vár), akkor kérlek teszteld újra a 'elevator=deadline' opcióval.
Andrew Morton levele:
---------------------------------------------------------------------
Feladó: Andrew Morton
Címzett: linux-kernel@vger.kernel.org
Tárgy: anticipatory scheduler merged
Dátum: 05 Jul 2003 13:33:34 -0700
Linus has merged the anticipator scheduler. A few things to note on this:
- For some workloads it is around 10% slower than deadline. Most notably
database workloads which seek all over the disk performing reads and
synchronous writes.
Sorry, we just weren't able to get the last little bit back.
But for other workloads (reading lots of filesystem objects when
there's a lot of writeout around, when there's a streaming read, etc) it
is up to 1000% faster. I believe it is a better all-round IO scheduler.
Unless Nick pulls a big rabbit out of his hat, database people will
need to boot their kernels with `elevator=deadline' to get the last bit
of performance back.
- These changes have been well tested, but it is five months work and
over 100 patches. There's probably a bug or two. If you suspect that
something has gone wrong at the block layer (lots of tasks stuck in D
state) then please retest with `elevator=deadline'.
Thanks.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/