Andrew Morton: Az anticipatory scheduler beolvasztva

Címkék

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/