BFS: új ütemezővel állt elő Con Kolivas

Címkék

Con Kolivas ausztrál orvos, hobbista kernelhacker hosszú éveken keresztül tartotta karban -ck patchset-jét egyes desktop felhasználók nagy örömére. 2007-ben aztán - miután rendre hiába próbálkozott kódjait elfogadtatni a mainline kernelbe - abbahagyta a patchkészlet karbantartását. Több mint két év után azonban Con most ismét egy desktop felhasználásra kihegyezett ütemezővel állt elő. A neve Brain Fuck Scheduler.

Miért Brain Fuck? Több oka is van. Mert nevetségesen egyszerű, mert nevetségesen jól teljesít annak ellenére, hogy milyen egyszerű, mert úgy lett tervezve, hogy a mainline kernelbe valószínűleg az életben nem kerül be, mert szakít azzal a filozófiával, hogy egy ütemező megfelel mindenkinek stb.

A skálázódásról... Az ütemező a tervezésénél fogva 16-nál több CPU-t tartalmazó gépeken feltehetően rosszabbul teljesítene. Ugyanez a helyzet a NUMA rendszerekkel is.

A bejelentés itt olvasható. A patch megtalálható itt.

Hozzászólások

Ami kimarad: a patch-et nézve a 2.6.30-as kernelforráshoz használható.

The Brain Fuck Scheduler v0.202 by Con Kolivas.

A single shared runqueue O(n) strict fairness earliest deadline first design.

Ultra low latency and excellent desktop performance.
Not recommended for 4096 cpus.

--
trey @ gépház

nevetségesen jól teljesít annak ellenére, hogy milyen egyszerű

Hátha ez fölkelti többek figyelmét is.

Hard realtime beágyazott operációs rendszerek többnyire valamilyen kőbalta egyszerűségű fixen allokált állapotgépes ütemezőt használnak és teljesen jól elvannak vele. Sőt komoly tudományos cikkek születtek róla, hogy ez miért jó így. Effektive tényleg be lehet bizonyítani róluk, hogy garantálják az időzítési kritériumok teljesülését, és ez némely alkalmazási területnél kell is. Persze ez jellemzően nem a 4096 CPU-s célterület...

Nyilván CK ütemezője ezeknél azért lényegesen bonyolultabb (kényelmetlen lenne fixen előre allokált taszkokkal egy desktop rendszert használni...), de a lényeg, hogy a világ okos fele azért tudja jól, hogy hiába lehet kicsit jobb "átlagban" egy bonyolult ütemező, a legrosszabb válaszidők tekintetében mindig az egyszerű, átlátható megoldások lesznek a nyerők.
---
Linux is bad juju.

Komolyan nem értem miért nem lehet moduláris pluggable scheduler interfészt fejleszteni, hogy könnyen lehessen ezeket csereberélni.... (mint pl Solarisban)

"...A király visszatért..." ;o))) Koszonjuk Kolivas mester

Pont a napokban jutott eszembe CK...

"Jegyezze fel a vádhoz - utasította Metcalf őrnagy a tizedest, aki tudott gyorsírni. - Tiszteletlenül beszélt a feljebbvalójával, amikor nem pofázott közbe."

Szerintem nagyon ott volt a szeren a annó, a patch-eivel. Ki is próbálom, ezt az újat.

Desktopra talan jo lesz, a tobbprocis Opteron felallasok viszont NUMA-t hasznalnak....