Linux 3.10: Kernel ohne Ticks

Im nächsten Linux-Kernel werden die Weichen für den Betrieb ohne Ticks gestellt. Damit soll die Leistung verbessert werden. Den Entwicklern steht aber bei dieser fundamentalen Änderung noch viel Arbeit bevor.

Artikel veröffentlicht am ,
Mit dem Linux-Kernel 3.10 verschwinden langsam die Ticks.
Mit dem Linux-Kernel 3.10 verschwinden langsam die Ticks. (Bild: US National Oceanic and Atmospheric Administration)

Jede CPU auf einem Linux-System wird bis zu 1.000 Mal pro Sekunde durch einen Tick unterbrochen. Das führt zu Leistungseinbußen, die die Kernel-Entwickler in künftigen Kernel-Versionen beseitigen wollen. Im nächsten Linux-Kernel wird es möglich sein, Ticks auch komplett auszuschalten. Noch müssen aber zahlreiche Probleme überwunden werden. Kernel-Entwickler Jonathan Corbet bezeichnet den Tickless-Kernel als größten Umbruch seit der Entfernung des Big Kernel Lock.

Stellenmarkt
  1. IT-Ingenieur - Arbeitsplatzprodukte (w/m/d)
    IT-Systemhaus der Bundesagentur für Arbeit, Nürnberg
  2. Projektmanager Stammdaten Management (m/w/d)
    Melitta Gruppe, Minden
Detailsuche

Die periodischen Unterbrechungen - im Englischen Ticks genannt - veranlassen sämtliche CPUs in einem System, die Prioritäten der Prozesse neu zu definieren oder Read-Copy-Updates (RCU) durchzuführen. Dass sämtliche CPUs unterbrochen werden, ist überflüssig und führt nicht nur zu Leistungseinbußen, sondern belastet auf mobilen Geräten auch den Akku.

Derzeit nur im Schlafmodus

Bislang konnten die Timer-Ticks zwar ausgeschaltet werden, aber nur, wenn die CPUs in den Schlafmodus versetzt wurden. Auf hochverfügbaren Systemen sorgt die Option allerdings dafür, dass die Aufwachphase deutlich länger dauert als mit aktivierten Ticks. Deshalb ist das Ausschalten derzeit optional.

In Linux 3.10 gibt es künftig drei Optionen. CONFIG_HZ_PERIODIC sorgt dafür, dass die Ticks stets für alle CPUs aktiviert bleiben. Neuer Standard wird indes die Option CONFIG_NO_HZ_IDLE, bei der Ticks im Schlafmodus deaktiviert werden. CONFIG_NO_HZ_FULL deaktiviert die Ticks im neuen Kernel.

Tickless mit Einschränkungen

Golem Akademie
  1. Einführung in die Programmierung mit Rust: virtueller Fünf-Halbtage-Workshop
    21.–25. März 2022, Virtuell
  2. Entwicklung mit Unity auf der Microsoft HoloLens 2 Plattform: virtueller Zwei-Tage-Workshop
    7.–8. Februar 2022, Virtuell
Weitere IT-Trainings

Allerdings muss eine CPU weiterhin für notwendige Arbeiten wie die Neuordnung der Prozesse sorgen. Deshalb lassen sich Ticks nicht ganz deaktivieren. Auf einem Mehrkernsystem wird eine CPU beim Systemstart dafür ausgewählt, die anderen kommen dann ohne Unterbrechungen aus. Die Änderungen, die benötigt würden, um sämtliche CPUs im Tickless-Modus laufen zu lassen, seien noch zu umfangreich, schreibt Corbet.

Eine weitere Einschränkung besteht darin, dass Ticks auf einer CPU nur dann deaktiviert werden, wenn dort nur ein einziger Prozess läuft. Sobald ein zweiter verarbeitet werden soll, wird der Tick wieder benötigt, um die dafür notwendigen Zeitscheiben zu bearbeiten. Außerdem benötigt der Scheduler mindestens eine Unterbrechung pro Sekunde. Dennoch sorgt die Reduzierung der Ticks für mindestens eine einprozentige Leistungszunahme auf Desktopsystemen und deutlich weniger Latenzen in Real-Time-Umgebungen und bei High-Performace-Computing (HPC), schreibt Entwickler Ingo Molnar in seinem Pull-Request.

Der Administrator müsste allerdings nicht nur dafür sorgen, dass Prozesse und Kernel-Threads besser verteilt werden, sondern auch die RCUs anpassen. Dazu gibt es bereits eine Dokumentation, die zahlreiche Optionen auflistet.

Noch viel Arbeit

Obwohl bereits im Kernel 3.9 einige Funktionen für den Tickless-Kernel angepasst wurden, etwa Subsystem printk() oder irq_work, steht den Entwicklern noch einiges an Arbeit bevor. Bislang funktioniert der Kernel ohne Ticks nur auf 64-Bit-Systemen, für 32-Bit-Systeme existiert aber bereits ein Patch. Später wollen die Entwickler auch den letzten Tick beseitigen. Dafür müssen aber sowohl der Scheduler als auch das Load Balancing angepasst werden. Möglicherweise tauchten auch noch unvorhergesehene Probleme bei einem so fundamentalen Umbau auf, schreibt Corbet.

Pläne für die Beseitigung der Ticks bei mehreren Prozessen auf einer CPU sind allerdings erst einmal vom Tisch. Kernel-Vater Linus Torvalds schrieb, dass er nicht glaube, dass sich der Aufwand lohne, schloss aber eine spätere Umsetzung nicht aus, wenn dadurch tatsächlich weitere Entlastungen möglich sind.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


SoniX 14. Mai 2013

Irgendwie.... irgendwie finde ich ist der Artikel seltsam aufgebaut. Zuerst wird einem...

SoniX 14. Mai 2013

Naja, merken wird mans höchstens in einem Benchmark. Wenn ich bedenke wie ich damals noch...

Schattenwerk 13. Mai 2013

Derzeit wird bei mir an der Uni noch über Ticks im Kernel unterrichtet. Ich bin gespannt...

Reiter auf dem... 12. Mai 2013

http://blog.zorinaq.com/?e=74

Bigfoo29 12. Mai 2013

Die Tick-Frequenz ist beim Kernel kompilieren einstellbar. Dort lässt sich jeder...



Aktuell auf der Startseite von Golem.de
Microsoft
Sony äußert sich zur Übernahme von Activision Blizzard

Rund 20 Milliarden US-Dollar haben die Aktien von Sony verloren. Nun hat der Konzern erstmals den Kauf von Activision Blizzard kommentiert.

Microsoft: Sony äußert sich zur Übernahme von Activision Blizzard
Artikel
  1. Parallel Systems: Ehemalige SpaceX-Mitarbeiter entwickeln neuartige Güterzüge
    Parallel Systems
    Ehemalige SpaceX-Mitarbeiter entwickeln neuartige Güterzüge

    Das Startup Parallel Systems will konventionelle Züge durch modulare Fahrzeuge mit eigenem Antrieb und Energieversorgung ersetzen.

  2. Digitale-Dienste-Gesetz: Europaparlament will Nutzertracking stark einschränken
    Digitale-Dienste-Gesetz
    Europaparlament will Nutzertracking stark einschränken

    Das Europaparlament hat den Entwurf des Digitale-Dienste-Gesetzes verschärft. Ein Komplettverbot personalisierter Werbung soll es aber nicht geben.

  3. Jahresbilanz: Durch das Vodafone-Kabelnetz liefen 48 Exabyte
    Jahresbilanz
    Durch das Vodafone-Kabelnetz liefen 48 Exabyte

    Unser neues Leben spielt sich tagsüber bei Microsoft Teams ab. Dann verlagern sich die Datenströme in Richtung der Server von Netflix und Amazon.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • LG OLED (2021) 40% günstiger (u.a. 65" 1.599€) • WD Black 1TB SSD 94,90€ • Lenovo Laptops (u.a. 17,3" RTX3080 1.599€) • Gigabyte Mainboard 299,82€ • RTX 3090 2.399€ • RTX 3060 Ti 799€ • MindStar (u.a. 32GB DDR5-6000 389€) • Alternate (u.a. Samsung LED TV 50" 549€) [Werbung]
    •  /