Speed
Multimedia-Anwendungen beschleunigen
Con Kolivas' Patchset
Vor einiger Zeit sorgte der australische Zahnarzt Con Kolivas auf der Linux-Kernel-Mailingliste für Aufregung, als er sich in kurzer Zeit erst C-, dann Kernel-Programmierung beibrachte und schließlich kurzerhand den Scheduler des Kernels verbesserte. Diese Komponente teilt den laufenden Programmen reihum regelmäßig Rechenzeit des Prozessors zu. Je weniger Zeit er dazu braucht, desto schneller laufen die Programme scheinbar gleichzeitig. Der Scheduler von Con Kolivas ist mittlerweile Teil des Standard-Kernels, einige andere Performance steigernde Patches bietet er auf seiner Homepage an.
Das Patchset bringt unter anderem einige neue Prioritätsklassen für Echtzeit mit, zum Beispiel SCHED_ISO und SCHED_BATCH. Die Batch-Priorität eignet sich vor allem für lang laufende Prozesse auf Server-Rechnern. Bei dieser Klasse lässt Server-Programm etwas länger arbeiten , bis der Scheduler sie unterbricht. Das sorgt für weniger Reibungsverluste beim Umschalten. Im Gegenzug kann das Linux-System dann nicht mehr so schnell auf Benutzereingaben reagieren – was bei einem Server wohl zu verschmerzen ist.
Realtime light
Die Prioritätsklasse SCHED_ISO stellt sozusagen eine gemäßigte Variante der Realtime-Priorität dar. Sie erfordert keine Root-Rechte, bietet aber auch nicht die höchsten Prioritäten. Versucht ein Benutzer ohne Root-Rechte, eine Anwendung mit Echtzeit-Priorität zu versehen, steckt ihn der Kolivas-Scheduler ihm automatisch in die SCHED_ISO-Klasse.
Im Test hat sich zur Einstellung der Priorität das Kommandozeilenprogramm schedtool bewährt. Damit starten Sie eine Anwendung mit der gewünschten Priorität:
schedtool -R -p 50 -e mplayer↩ file.avi
Der Schalter -R legt Echtzeit-Priorität fest, -p 50 den Wert. Fehlt die Option -e, erwartet Schedtool die ID eines laufenden Prozesses. Das Paket schedutils von Robert Love [7] erfüllt einen ähnlichen Zweck wie die Schedtools, beherrscht aber nicht alle Scheduler-Prioritäten.



