Linux: Kernel 3.10 tickt ein wenig weniger
Mit weniger Ticks, einem neuen Cache für SSDs, Zusatzfunktionen für Btrfs und TCP-Optimierungen ist der Linux-Kernel in Version 3.10 von Linus Torvalds freigegeben worden.

Linus Torvalds hat Linux 3.10 freigegeben. Er nennt die Entwicklungszeit seit dem letzten Linux-Kernel weitgehend problemlos. Bei zwei Dritteln der eingereichten Codezeilen handelt es sich um Treiber, ein Drittel der Änderungen betrifft die Zweige Architektur und Sonstiges. Es gebe zwar keine neuen Subsysteme, aber einige bemerkenswerte Änderungen, heißt es in Torvalds Freigabemail. Dazu gehören eine erste Umsetzung für eine bessere Verwaltung der Kernel-Ticks sowie Optimierungen am TCP-Stack und eine Energieverwaltung für ARMs Big.Little-Architektur.
Weniger Ticks im Kernel
- Linux: Kernel 3.10 tickt ein wenig weniger
- Infrastruktur, Grafik und Virtualisierung
Während periodischer Unterbrechungen - im Englischen Ticks genannt - veranlasst der Linux-Kernel CPUs in einem System, die Prioritäten der Prozesse neu zu definieren oder Read-Copy-Updates (RCU) durchzuführen. Dass dabei 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.
Denn jede CPU auf einem Linux-System wird bis zu 1.000-mal pro Sekunde durch einen Tick unterbrochen. Diese Leistungseinbußen wollen Kernel-Entwickler mit künftigen Kernel-Versionen beseitigen und später auch komplett ausschalten. Dafür 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.
Bislang konnten die Timer-Ticks zwar ausgeschaltet werden, das geschieht aber nur, wenn die CPUs in den Schlafmodus versetzt wurden. Auf hochverfügbaren Systemen ist dadurch die Aufwachphase deutlich länger als mit aktivierten Ticks. Deshalb ist das Ausschalten derzeit optional.
Die neuen Optionen in Linux 3.10 haben noch ziemliche Einschränkungen und die Ticks lassen sich nicht gänzlich deaktivieren. Eine CPU muss weiterhin für notwendige Arbeiten wie die Neuordnung der Prozesse sorgen, die bei einem Mehrkernsystem beim Systemstart dafür ausgewählt wird. Außerdem muss gegenwärtig manuell dafür gesorgt werden, dass auf einer CPU nur ein Prozess läuft, damit dort die Ticks deaktiviert werden können. Zusätzlich benötigt der Scheduler mindestens eine Unterbrechung pro Sekunde. Die Änderungen, die nötig seien, um sämtliche CPUs im Tickless-Modus laufenzulassen, seien noch zu umfangreich, schreibt Corbet. Mit den aktuellen Optionen erzielt der Linux-Kernel eine etwas höhere Leistung in Real-Time-Umgebungen und auf High-Performance-Systemen. Mit weiteren Änderungen sollen auch Desktopsysteme von den reduzierten Ticks profitieren können.
Bcache für SSDs
Zu dem bereits in Linux 3.9 eingepflegten Code für Dm-Cache bringt Linux 3.10 mit Bcache (Block Layer Cache) ein ähnliches Framework, mit dem das Zwischenspeichern von Daten auf schnelleren SSDs langsamere Festplatten entlasten soll. Der Code stammt von Google und ist dort bereits seit längerem im Einsatz.
Bcache ist vergleichbar mit der Funktion L2Arc in ZFS, ist aber auf jedem Dateisystem anwendbar. Außerdem lassen sich mit Bcache Daten per Write-Through auch per Write-Back zwischenspeichern. Standardmäßig werden dabei aber keine sequenziellen, sondern nur kleine zufällige Lese- und Schreibvorgänge gepuffert. Bcache soll sowohl auf Desktop- als auch auf Serversystemen und Storagearrays mit Festplatten einen Leistungsschub bringen.
Eine weitere Änderung am Block-Layer ermöglicht die Kontrolle der I/O-Anfragen, wenn ein Speichergerät aufgeweckt oder schlafen gelegt wird. Damit soll die Energieeffizienz des Kernels verbessert werden.
Optimierungen für F2FS
Das bereits in Linux 3.8 eingeführte Flash-Friendly File-System (F2FS) von Samsung für Flash-Speicher erhielt weitere Optimierungen. Ein globales Schema für Sperren soll das gleichzeitige Ausführen verschiedener Operationen auf Multithreading-Systemen ermöglichen. Bislang werden Befehle sequenziell abgearbeitet, was zu Leistungseinbußen führt. Für die Fehlersuche wurden weitere Tracepoints eingepflegt. Weitere Änderungen, wie ein erweiterter Readahead-Modus und reduzierte Lock-Page-Aufrufe, sollen die Leistung nochmals verbessern.
Btrfs mit kompakteren Extents
Das Btrfs-Dateisystem erhält schlankere Extent-Strukturen. Das wirkt sich auf den Speicherplatz auf der Festplatte aus, vor allem aber auf den Verbrauch im Arbeitsspeicher. Bis zu 30 bis 35 Prozent Platzersparnis versprechen sich die Entwickler von dem neuen Patch. Damit können auch mehr Extents im RAM gehalten werden, was wiederum die Geschwindigkeit bei der Verarbeitung von Metadaten erhöhen soll. Die Funktion ist allerdings nicht abwärtskompatibel und muss explizit bei der Erstellung des Dateisystems angegeben werden.
Um die Skalierbarkeit von XFS zu erhöhen, haben die Entwickler dem Dateisystem die experimentelle Funktion hinzugefügt, Metadaten mit CRC32c-Checksummen zu versehen. Gegenwärtig dauert die Dateisystemprüfung mit Fsck auf großen Speichermedien zu lange, etwa im Petabyte-Bereich. Mit den Checksummen lässt sich die Integrität der Metadaten schneller überprüfen.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Infrastruktur, Grafik und Virtualisierung |
- 1
- 2
gibts auch keine süssen Pinguine? :)
Theorie bleibt Theorie, wenn sie von Microsoft nicht umgesetzt wird. Ich schon mal...
https://git.kernel.org/cgit/linux/kernel/git/mason/btrfs-progs.git/commit/?id...
:D:D:D