ULE 2.0: a második nekifutás

Címkék

A 2003-as év elején jelentette be Jeff Robertson, hogy egy új ütemezőn dolgozik, amellyel szeretné leváltani a FreeBSD 4BSD ütemezőjét. Az új ütemező a Linux kernel processz ütemezőjéhez hasonlóan O(1) algoritmus alapján működött volna. A tervek szerint az ULE SMP/SMT rendszereken nagy terhelés mellett is kiváló teljesítményt nyújtott volna, támogatta volna a CPU affinitást, és azonos végrehajtási időt adott volna a processzek számától függetlenül.

Az 2003-as év az ütemező implementálásával, tesztelésével, csiszolásával telt, majd 2004. január 25-én Jeff bejelentette, hogy az ULE lett az alapértelmezett ütemező a FreeBSD -CURRENT-ben. Sajnos a tesztek alatt az új scheduler nem váltotta be a hozzá fűzött reményeket, így a tervekkel ellentétben az ULE nem került bele a FreeBSD 5.3-RELEASE-be alapértelmezett ütemezőként, hanem maradt a helyén a jól bevált 4BSD. Ekkor Jeff azt ígérte, hogy folytatja a munkát, és visszatér. Visszatért.

Jeff ma bejelentette a freebsd-current listán, hogy hosszabb vakáció után ismét próbálkozik az ULE-vel, ezúttal 2.0-s verziószámmal. Több havi munkával a háta mögött az alábbiakról számolt be: A CVS(1.172) verzióval elvileg vissza kellett térnie az ULE korábbi jó terhelés alatti interaktív teljesítményének. A tesztek alatt a fejlesztő "make -j128"-cal fordított kernelt, miközben Mozilla Firefox-szal böngészett és miközben DVD-t nézett. Egyik sem akadozott. Emellett az új ULE sokkal gyorsabb egy processzoros rendszereken, mint korábban, míg az SMP teljesítmény nem nagyon változott.

A fejlesztő a projekttel kapcsolatos gondolatait ezen a weboldalon szedte össze. A bejelentés itt.

Hozzászólások

Nagyon kis korrekt kritika volt. (És freebsd.org-os címről jött, valamint a sched-core eltávolításáról beszél, amihez tudtommal commit bit kell, tehát nagyon messzire nem ment egyelőre tavaly tavasz óta.)
Az meg a másik, hogy jó ez a make -j128 + Mozilla + dvd-játékos, de:
1) nem mondta, hogy a szgépén nézett dvd-t :-)
2) nem mondta, hogy milyen gépen futtatta a make-et - lehet van neki otthon egy kis HP Superdome (olyan embert személyesen ismerek, akinek van otthon - értsd vette kemény magyar forintokért - asszem RX26xx -et, ami messze nem Superdome, de attól még lehet, hogy azon futott)
3) esetleg ha közben a hup-ot nézte FF-fel, bekapcsolt Java géppel a naccerű java-mikulás időszakában, és akkor nem szaggatott a gépe mindezek közben. akkor már megéri megnézni.


make buildkernel          - egy szálon kernel fordítás
make -j 2 buildkernel     - két szálon kernel fordítás
..
..
make -j 128 buildkernel   - 128 szálon kernelfordítás
..
..
make -j 256 buildkernel   - 256 szálon kernelfordítás

FreeBSD-nem tudom, hogy van-e ilyen (úgy rémlik próbáltam, de nem működik), de Linux-on van (régen volt) ilyen is:

make -j - végtelen szálon kernel fordítás (ált. ram konyec, swap tornádó, rendszer lepukkanás a vége, de volt már olyan rendszer, ahol sikerrel vigiment nekem. régen.)

--
trey @ gépház