BFS - Brain Fuck Scheduler (Linux)

Moderator: ZRUF

BFS - Brain Fuck Scheduler (Linux)

Beitragvon Goldfield » Di 15. Sep 2009, 00:21

Es ist wieder mal so weit. Con Kolivas hat einen neuen Scheduler (BFS - Brain Fuck Scheduler) programmiert, der für reichlich Diskussionen sorgt, da er einige Schwachpunkte des aktuellen Schedulers (CFS - Completely Fair Scheduler) aufzeigt, die Benchmark-Technisch nur schwer festzustellen sind.

BFS ist, im Gegensatz zum CFS, für den Einsatz auf Desktop-Rechnern optimiert und behebt einige Performance-Probleme, die vor allem bei hoher Systemauslastung auftreten, wie zB. ruckelnde Medienwiedergabe, verzögertes Ansprechen auf Tastatureingaben, langsames Starten von Programmen, lahmer Firefox (KDE) usw..

Diskussion (vor allem: Epic regression in throughput since v2.6.23):
http://thread.gmane.org/gmane.linux.kernel/886319/focus=886999

Ich kann das absolut bestätigen. Mit den alten Kerneln (bis 2.6.23, oder so) war die \"gefühlte\" Geschwindigkeit (flüssiges Arbeiten mit KDE, Medienwiedergabe, FF usw.) wesentlich besser, als mit den Kerneln danach. Mit BFS ist alles wieder im Lot, selbst der Firefox läuft unter KDE4 wie geschmiert.

Den Kernel-Patch (2.6.31-sched-bfs-221.patch) gibt es hier:
http://ck.kolivas.org/patches/bfs/bfs-faq.txt
http://ck.kolivas.org/patches/bfs/

Leider ist es eher unwahrscheinlich, das BFS in den Hauptentwicklungszweig aufgenommen wird, da Linus Torvalds schon vor einiger Zeit anmerkte, nicht mehrere Scheduler pflegen zu wollen. Außerdem waren/sind CK und Ingo Molnar (der \"Schöpfer\" des CFS und in der Linux-Hierarchie weit oben) nicht unbedingt die besten Freunde. :-)) http://article.gmane.org/gmane.linux.kernel/886414

Immerhin konnte IM aber davon überzeugt werden, dass sein Scheduler für Desktop-Rechner eher \"suboptimal\" ist und einiger Modifikationen bedarf. Die ersten Ergebnisse des überarbeiteten CFS geben auch durchaus Anlass zur Hoffnung. Warten wir mal ab, was 2.6.32 so bringen wird (ob es einen Patch für 2.6.31 geben wird, keine Ahnung).

Wer einige der Änderungen schon mal antesten möchte, muß sich einen Kernel basteln:

# Kernel-config anpassen (zB. mit \"make xconfig\"):
Kernel debugging (DEBUG_KERNEL) - aktivieren und darunter
Collect scheduler debugging info (SCHED_DEBUG) - aktivieren
Collect scheduler statistics (SCHEDSTATS) - aktivieren

# Datei \"./kernel/sched_features.h\" anpassen (im Verz. des zu bau-
# enden Kernels), dort SCHED_FEAT(NEW_FAIR_SLEEPERS, 1) ändern in:
SCHED_FEAT(NEW_FAIR_SLEEPERS, 0)

# Kernel kompilieren und später, im laufenden System, die folgenden
# Einstellungen antesten (verschiedene Werte probieren, 100000 -
# 200000 - 300000 - 400000 ;; 4000000 - 5000000 - 6000000 usw.):
echo \"100000\" > /proc/sys/kernel/sched_min_granularity_ns
echo \"2000000\" > /proc/sys/kernel/sched_latency_ns
echo \"100000\" > /proc/sys/kernel/sched_wakeup_granularity_ns
echo \"250000\" > /proc/sys/kernel/sched_shares_ratelimit
und evtl.
echo \"0\" > /proc/sys/kernel/sched_child_runs_first

# Hat man seine Werte herausgefunden, können diese in /etc/sysctl.conf
# eingetragen werden (damit sie autom. beim Start gesetzt werden):
echo \"kernel.sched_min_granularity_ns = 200000\" >> \"/etc/sysctl.conf\"
usw.
Goldfield
 

BFS - Brain Fuck Scheduler (Linux)

Beitragvon Goldfield » Mi 23. Sep 2009, 22:19

bfs on Android

In den aktuellen \"Experimental ROMs\" von Cyanogen werkelt neuerdings der bfs-Scheduler.

Diese ROMs sollen verdammt schnell sein, aber auch noch ein paar Macken haben.

Na, wer ist mutig? http://www.cyanogenmod.com/changelog/experimental-changelog

Ich habe keine Ahnung von den Dingern, bin da zufällig drauf gestoßen. Würde mich aber wegen bfs interessieren, falls das jemand antestet.
Goldfield
 

BFS - Brain Fuck Scheduler (Linux)

Beitragvon lazy » Mi 23. Sep 2009, 22:36

hab leider kein android handy.. und sieht auch so aus dass ich mir demnächst keins zulegen werde, denn das htc leo hat mich in seinen bann gezogen -g- wobei das htc touch hd 2 mit android sicher auch was hat.. aber Leo hat schönere Specs -g-

interessieren würde es mich auch, ob android mit bfs noch performanter ist. hatte ein android image mal auf meinem touch hd laufen und es war wirklich schon ziemlich flott.. wobei die portierung bis dato noch nicht wirklich zu 100% geklappt hat, leider.. somit erfreu ich mich eines custom win mob roms das auch recht ok ist, nur android war flotter.
lazy
 

BFS - Brain Fuck Scheduler (Linux)

Beitragvon Goldfield » Mi 23. Sep 2009, 23:04

ich warte erst mal auf 2.6.32, in der Hoffnung, das der überarbeitete Scheduler was taugt. Wenn nicht, werde ich weiter den patch von ck nehmen, den Unterschied merke ich hier sogar mit 2x2.8GHz und 4GB RAM.
Es geht dabei nicht um fps oder darum, das der Kernel schneller komp. oder so. Der Unterschied ist, mit bfs kann ich gleichzeitig zwei Kernel backen, im Hintergrund einen Haufen Dateien kopieren, mit FF surfen, und dabei störungsfrei Musik hören oder Filme ansehen. KDE bleibt währenddessen schön geschmeidig, keine ruckelner Mauszeiger usw.
Meinetwegen kann der Kernel dann auch 10% länger brauchen, bis er fertig gebacken ist, dafür kann ich aber die ganze Zeit über vernünftig arbeiten.
Goldfield
 

BFS - Brain Fuck Scheduler (Linux)

Beitragvon Goldfield » Do 3. Dez 2009, 19:51

So, 2.6.32 ist veröffentlicht. Performanemäßig hat sich tatsächlich einiges getan, trotzdem kommt der CFS Scheduler immer noch nicht an BFS ran.

Kernel-Log auf heise.de:
http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-2-6-32-870416.html
Goldfield
 

BFS - Brain Fuck Scheduler (Linux)

Beitragvon lazy » Fr 4. Dez 2009, 09:56

danke für die info

by the way, ich verfolge seit paar wochen diesen blog und der begeistert mich beinahe täglich

http://www.omgubuntu.co.uk
lazy
 

BFS - Brain Fuck Scheduler (Linux)

Beitragvon Goldfield » Fr 4. Dez 2009, 18:47

Schau ich mir mal an, den Blog.

Ob ein Debian-Kernel unter ?buntu läuft? Versuch doch mal:

this is a debian kernel built on top of the zen kernel sources. the configuration is
optimized for a practical desktop experience and features not currently maintained
in linus\'s upstream kernel are included.


http://liquorix.net/


Hier gibt es die zen kernel sources und Infos darüber (btw, bfs ist auch mit drin ;) ):

http://www.zen-kernel.org/
Goldfield
 

BFS - Brain Fuck Scheduler (Linux)

Beitragvon lazy » Fr 4. Dez 2009, 20:22

uha wieder was neues.. dabei spiel ich grad mit der neuen buntu alpha rum.. die ist richtig nett (lucid) -g-
lazy
 

BFS - Brain Fuck Scheduler (Linux)

Beitragvon Goldfield » Sa 5. Dez 2009, 00:12

wenn du den kernel testest, sag mal bescheid, ob es geht.

die buntus mag ich nicht so sehr, aber die wiki von denen ist klasse. passt ja auch meist für debian ;)
Goldfield
 

BFS - Brain Fuck Scheduler (Linux)

Beitragvon lazy » Sa 5. Dez 2009, 06:36

eigentlich müsste es gehen.. debian und buntu sind ja ziemlich nah zusammen, aber ich hab angst vorm probieren -g-
lazy
 

Nächste

Zurück zu Linux

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

cron