25.7.2007

Linuxin skeduloinnista

Luin slashdotissakin mainitun Con Kolivaksen haastattelun apcmag.com:ssa. Con Kolivas on yksi Linux-kernelin kehittäjistä ja hän on keskittynyt Linuxin suorituskyvyn parantamiseen tavallisessa työpöytäkäytössä. Kolivas on päättänyt lopettaa osallistumisensa kernelin kehittämiseen ja artikkeli selittää miksi.

Kolivas julkaisi ensimmäisen patchinsä Linuxiin vuonna 2002, koska tuolloin muiden kernelin kehittäjien pääkiinnostuksen kohteena oli Linuxin suorituskyky palvelinkäytössä. Palvelinkäytön ja työpöytäkäytön tarpeet ovat hieman erilaisia. Palvelinkäytössä on tärkeää, että ydin ei kuluta paljoa suoritinaikaa ja se että, suoritinaikaa ei hukata kontekstinvaihtoihin eli prosesseja ei jatkuvasti vaihdella. Palvelinkäytössä on hyväksyttävää, että yksittäinen prosessi voi suorittaa pitkänkin ajan kerralla. Interaktiivisessa käytössä on tärkeää, että prosessi kykenee vastaamaan käyttäjän toimintoihin nopeasti. Tämä vaatii, että skedulointia suoritettaisiin usein ja myös, että prosesessaja vaihdettaan usein. Mukavaa olisi myös, jos viive syötteen ja vasteen välillä ei vaihtelisi paljoa. Lisäksi työpöytäkäytössä on joitain lähinnä median toistoon liittyviä reaaliaikavaatimuksia. Nykykoneilla MP3-musiikin soittaminen ei vie paljoa tehoa. MP3-soittoa suorittavaa prosessia tulee skeduloida säännöllisin väliajoin ajoon, jotta soitto ei pätkisi. Jos ajoon ottojen välillä on liian pitkä viive niin musiikki pätkii. Kolivas työskenteli lähinnä näiden asioiden parissa ja mm. paransi interaktiivisten ohjelmien tukea skedulerissa. Jotkin Kolivaksen parannukset päätyivät viralliseen kerneliin, mutta kaikki eivät.

Kolivas päätyi kehittämään kokonaan uuden skedulerin
, joka sopisi paremmin työpöytäkäyttöön. Uudessa skedulerissa oli laajennusrajapinta, jonka avulla uuden skedulointialgoritmin voi helposti lisätä tai käynnistäessä vaihtaa. Näin skedulointialgoritmia olisi voinut vaihtaa sen mukaan haluaako käyttää järjestelmää palvelin- vai työpöytäkäyttöön. Kolivaksen skeduleria ei kuitenkaan kelpuutettu viralliseen kerneliin. Ingo Molnar kehitti oman skedulerin, jossa oli toteutettu samoja ideoita kuin Kolivaksen skedulerissa. Tämä vaikutti Kolivaksen lopettamispäätökseen. Lopettamiseen oli tietenkin myös muitakin syitä.

Kolvaksen mielestä palvelinkäytön vaatimukset ovat usein ajaneet työpöytäkäytön ohi. Tämä on ymmärrettävää. Kernelin kehittäjistä moni on isojen yritysten palveluksessa. Isoissa yrityksissä tärkeä käyttötarkoitus Linuxille on palvelimet. Tilanne saattaa olla parantumassa. Vaikka Linux ei tavallisen tietokoneen työpöytäkäytössä vielä ole lyönyt laajalti läpi, on se viihde-elektroniikassa ja kännyköissä lyömässä läpi. Nokia käyttää Linuxia Internet Tableteissaan, ja mm. Motorola kännyköissä. Monessa kodin viihde-elektroniikka tuotteessa on Linux-kernel. Tällaisia tuotteita ovat bluray -soittimet, HD-DVD -soittimet, divx -toistimet ja jotkin nauhoittavat digiboxit. Näissä suorituskykyvaatimukset ovat hyvin samanlaisia kuin työpöytäkäytössä. Toivottavati isot viihde-elektroniikkaa kehittävät yritykset panostavat kernelin kehitykseen ja Linuxin työpöytäkäyttäjätkin hyötyisivät näiden työn hedelmistä.

Ei kommentteja: