[ Prev ]
[ Index ]
[ Next ]
LinuxIOSchedulers
Created Wednesday 30 January 2008
io schedulery v linuxu
moznost zmeny scheduleru
techniky pro optimalizaci io pouzvane schedulery
request merging - spojovani dotazu pro minimalizaci seekovani
elevator - razeni pozadavku podle fyzickeho ulozeni na disku pro seekovani predevsim v jednom smeru
prioritisation - plna kontrola nad prioritizaci pozadavku
dosupne schedulery
cfq (completely fair queuing - elevator)
- default v rhel4 a sles (nyni jiz default pro vanilla kernel ?)
- rovnomerne rozkladani io propustnosti mezi io pozadavky
- vhodne pro multiprocesorove systemy kde je nutne rovnomerny io vykon vice zarizeni
- pouziva: request merging, elevator, rovnomerny pocet io pozadavku mezi procesy v case
deadline
- minimalizuje latenci pro io pozadavek
- temer realtime chovani
- round robin politika poskytovani operaci pro pozadavky
- v peti frontach agresivne preusporadava pro zvyseni io vykonosti
- muze byt vykonejsi nez cfq pro prevazne kontinualni cteni
- pouziva: request merging, one-way elevator, io deadline
- vhodny pro databaze, prevazne pokud disky s tcq nebo vysoce vykonne
- mirne uprednostnuje cteci operace pokud jsou cteny z cache
noop
- bez optimalizaci, obycejne fifo
- provadi jen minimum razeni a spojovani io operaci
- vhodne pro diskovy subsystem ktery ma vlastni logiku (hba) pro uvolneni zateze cpu
- pouzivame napriklad pro virtualni stroje uvnitr xenu
as (anticipatory)
- s kontrolovanou prodlevou aby zajistil agregaci a preusporadani io pozadavku pro minimalizici seekovani
- vhodny pro male nebo pomale diskove subsytemy
- muze zpusobovat vetsi io latenci
- zvysuje interaktivitu io operaci
- vyuziva: request merging, one-way elevator, r/w request branching
- nevyrovnany a nevyzpytatelny vykon pro databazove nebo storage systemy
- drive default ve vanilla kernelu ?
zdroje
http://www.redhat.com/magazine/008jun05/features/schedulers/
http://docs.blackfin.uclinux.org/doku.php?id=io_schedulers
http://www.samag.com/documents/s=10131/sam0707b/0707b.htm (moznosti tuningu parametru scheduleru)
http://www.ibm.com/developerworks/linux/library/l-cfs/?ca=dgr-lnxw04CFC4Linux (implementacni detaily)
Backlinks:
:jhrcz-wiki:KnowHowKickstarters