staging.inyokaproject.org

Was den Salamander so saftig macht: Ein Blick auf den Kernel

ubuntu_logo.png

Ein gutes halbes Jahr durfte der Salamander reifen, nun ist er geschlüpft. Diese neue Ubuntu-Version hat gegenüber dem Vorgänger einige Neuerungen aufzuweisen, von denen sich einige jedoch erst beim Blick in des Salamanders saftige Innere offenbaren.

Saucy Salamander nutzt einen Linux-Kernel, der auf der derzeit aktuellen Version 3.11 basiert. Gegenüber Raring Ringtail (Kernel 3.8) ist das ein Sprung über drei Versionen hinweg, der dann auch mit einigen, wenn auch für den Anwender nicht direkt spürbaren Veränderungen, einhergeht.

Tickless Multitasking

Eine Änderung ist die Einführung von Tickless Multitasking, das jedoch eher das Weglassen von etwas zum Ziel hat. Damit sollen in festen Zeitabständen auftretende Signale eliminiert werden, die den Prozessor daran erinnern, die Bearbeitung eines Prozesses zu stoppen, um einen anderen auszuführen.

Wiki/Icons/tux.png Dieses Vorgehen ermöglichte erst das Multitasking, also parallele Abarbeiten mehrerer Aufgaben, doch sorgen diese Signale bei jedem Auftreten dafür, dass der Prozessor aus den tiefen Schlafzuständen erwacht, auch wenn gar keine aktiven Prozesse vorhanden sind. Besonders problematisch ist dies auch im Umgang mit Virtuellen Maschinen, da diese ihre eigenen „Timeticks“ zusätzlich zum Gastsystem haben, die sich jedoch ebenfalls auf dieses auswirken. Derzeit wird noch nicht vollkommen auf die „Timeticks“ verzichtet, doch treten sie nun nur noch einmal anstatt tausendmal pro Sekunde auf.

ARM, 64-bit

ARM wird von Canonical als wichtige Plattform betrachtet und mit Saucy Salamander kommt nun auch ARM64 hinzu, wenn auch derzeit nur als Spielwiese für Entwickler (= Developer-Preview). Passend dazu kann der Linux-Kernel nun mit KVM- und Xen-Unterstützung für ARM und ARM64 aufwarten.

Das scheint zwar auf den ersten Blick eine Spielerei zu sein, doch liefert die Unterstützung von Virtualisierung im Hinblick auf Server-Systeme eine weite Palette an Einsatzmöglichkeiten, die den Betrieb anderer Gastsysteme unterschiedlichster Art ermöglicht.

Ebenso werden nun auch im Zusammenhang mit ARM und ARM64 große Speicherseiten unterstützt. Dies ermöglicht die Zuweisung größerer Stücke aus dem Arbeitsspeicher als den bislang üblichen 4 KiB, was bei speicherintensiven Prozessen die Abläufe durch eine wesentlich vereinfachte Speicherverwaltung beschleunigen kann. Eine andere Form der „Virtualisierung“ ist nun auch möglich: Linux 3.11 enthielt eine Änderung, mittels derer es nun möglich ist, Windows-RT-Anwendungen mittels Wine unter Linux auszuführen.

SSD als Cache

Solid State Disks oder SSD sind mittlerweile im Endverbraucher-Umfeld angekommen und auch unter Linux wollen sie nutzbringend eingesetzt werden. Nachdem in vergangenen Linux-Versionen für Flash-Speicher zugeschnittene Dateisysteme eingeführt wurden, hier sei F2FS genannt, steht diesmal eine eher unterstützende Verwendung im Vordergrund.

Mit dm-cache und Bcache 🇬🇧 stehen gleich zwei Techniken zur Verfügung, mittels derer sich SSD als Zwischenspeicher für herkömmliche Festplatten (HDD) nutzen lassen. Dies ermöglicht die Verwendung günstiger Massenspeicher im Terabyte-Bereich in Verbindung mit schnellen, jedoch teuren Flash-Speichern, um durch Pufferung der Schreib- und Lesezugriffe diese zu beschleunigen.

Die Ansätze sind dabei unterschiedlich: Während dm-cache als eigenes Target des Linux-eigenen Device Mapper umgesetzt wurde und damit vergleichsweise einfach gehalten werden konnte, stellt Bcache ein eigenes Dateisystem dar, für dessen Verwendung sowohl die SSD als auch die zugehörige HDD speziell formatiert werden müssen. Letztlich ist derzeit für beide Varianten noch Handarbeit erforderlich, die Tauglichkeit für die breite Masse der Anwender wird wohl erst mit Verfügbarkeit komfortabler Werkzeuge für die Einrichtung erreicht werden.

Swap und Zswap

Vielen Linux-Systemen steht auch heute noch eine Swap-Partition zur Seite, die Speicherseiten, welche nach Ansicht des Systems derzeit nicht benötigt werden, aus dem Hauptspeicher auf jene Partition auslagert. Zugriffe auf Festplatten sind jedoch erheblich zeitintensiver als auf den Arbeitsspeicher, sodass nun ein neuer Ansatz diese Auslagerungspraxis verbessern will.

Sollen Speicherseiten auf den langsameren Swap-Speicher verlegt werden, so versucht Zswap diese abzufangen und in einen komprimierten Bereich im Hauptspeicher zu verlagern. Zwar nimmt auch das Komprimieren und Entkomprimieren Zeit in Anspruch, diese fällt bei modernen Prozessoren jedoch nicht so stark ins Gewicht, wenn man es mit Schreib- und Lese-Vorgängen auf Festplatten vergleicht. Immerhin könnte hierdurch ein Teil der Auslagerung auf HDD vermieden und damit Rechen- oder vielmehr Transferzeit eingespart werden.

AMD, ATI, Radeon

Ein zunehmend wichtiges Thema ist der Spagat zwischen Energiebedarf und Leistungsfähigkeit eines Systems. Dies haben auch die Anbieter von Grafikkomponenten erkannt und ihre Produkte mit Mechanismen ausgestattet, die zwischen Energiespar- und Hochleistungsmodus umschalten können.

Die Arbeit an deren Unterstützung für Hardware aus dem Hause AMD beziehungsweise ATI wurde nun aufgenommen und soll künftig für alle Grafikchipsätze ab der R600-Serie tauglich sein. Bislang sind die jetzt in den Linux-Kernel eingegangenen Patches in der Standard-Einstellung noch nicht aktiv, dürften jedoch in kommenden Ubuntu-Versionen den Energiebedarf von Radeon-Karten spürbar positiv beeinflussen.

Quellen

Veröffentlicht von mfm | 19. Oktober 2013 22:45 | Kategorie: Rund um Ubuntu | # Fehler im Artikel melden

clocker

Avatar von clocker
1 20. Oktober 2013 01:13

Danke für den Bericht.

Hatt schon jemand SSD als Cache in Verwendung? Wenn ja welche Technik? Überlege schon länger meinen Spiele Rechner mit 1TB Seagate Platte mit SSD zu beschleunigen.

Gruss

Thorsten_Reinbold

2 20. Oktober 2013 05:56

Eine der letzten C'ts hatte, soweit ich mich erinnere, was dazu. War nicht so prall, von der performance her...

ChemicalBrother

Ehemaliger

3 20. Oktober 2013 10:25

Wieso heißt es "beziehungsweise ATI"? ATI existiert seit Jahren nicht mehr.

Linux-Fan

Avatar von Linux-Fan
4 20. Oktober 2013 10:41

@3: Die Bezeichnung ATI wird intern immer noch bei AMD benutzt, wenn ich mich nicht irre.

ingo2

Avatar von ingo2
5 20. Oktober 2013 11:51

Erwähnenswert ist hier auch der neue pstate-driver für neuere Intel CPU's, s. hier, welcher den ondemand-scheduler ersetzt. Kam zwar schon mit Kernel 3.9, ist aber erst jetzt für die *-Bridge CPU's aktiviert.

clocker

Avatar von clocker
6 20. Oktober 2013 11:54

@2: Ok dann mach ich mich mal auf die Suche danach 👍

Z0M813

7 20. Oktober 2013 13:05

@3: Trotzdem gibt es immer noch genügend Grafikkarten unter dem Namen ATI, bis zur HD-5000-Serie.

Was genau wird denn jetzt für die Radeons verbessert? Nur Energiesparmechanismen oder auch die Performance? Ist das jetzt schon fertig oder noch in Bearbeitung? Sind diese Verbesserungen denn auch wirksam, wenn man den proprietären Treiber verwendet?

BartS

8 20. Oktober 2013 13:44

Was genau wird denn jetzt für die Radeons verbessert? Nur Energiesparmechanismen oder auch die Performance?

Letztendlich beides 😉 : Auf den "normalen" externen Karten geht es vor allem um den Energiesparmodus. Wenn ich mich jedoch nicht irre, war es bei den in die CPU integrierten GPUs (= APU) bis dato aber so, dass die Grafikkarte nicht in den Hochleistungsmodus schalten konnte und somit eine Menge Leistung brach lag (ähnlich wie Nouveau bei den neueren Nvidia-Karten).

Inwiefern die APUs durch die neuen Treiber im Leerlauf weniger Strom umwandeln, kann ich leider nicht sagen.

Zusätzlich zu den neuen Energiesparfunktionen wurden natürlich auch kleine Verbesserungen in Bezug auf die Leistung insgesamt integriert, wobei das immer nur kleine Schritte sind, die für den Nutzer nicht so ins Gewicht fallen dürften.

Sind diese Verbesserungen denn auch wirksam, wenn man den proprietären Treiber verwendet?

Diese neuen Energiesparoptionen haben nichts mit dem Catalyst-Treiber, der das schon vorher konnte, zu tun (es geht nur Catalyst oder offener Treiber). Und es bleibt abzuwarten, ob der proprietäre Treiber nicht noch ein paar kleine Kniffe hat, um den Verbrauch weiter zu senken.

Ich für meinen Teil habe mich von der Vorstellung, High-End Spiele mit maximalen Einstellungen unter Linux spielen zu können, verabschiedet, verzichte auf 5 Watt weniger Verbrauch im Leerlauf und fahre insgesamt mit dem offenen Radeon-Treiber unter Linux wesentlich ruhiger ☺ .

LG

Z0M813

9 20. Oktober 2013 14:34

@8: Danke für die ausführliche Antwort 👍

Linux-Fan

Avatar von Linux-Fan
10 21. Oktober 2013 13:43

@7: Ich selber habe noch eine ATI Radeon X1600 Pro 512MB - Grafikkarte im Computer.

V_for_Vortex

Avatar von V_for_Vortex
11 27. Oktober 2013 07:57

Das zRAM habe ich letzte Woche beim Einrichten von Lubuntu 13.10 auf dem Pentium 4 eines Bekannten mit nur 512MB RAM bemerkt, weil ich mich über mehr Swap als der Größe der Swap-Partition gewundert hatte (free -m summiert das zRAM zum Swap hinzu, swapon -s zeigt sie getrennt). Trotz (Wegen?) des halben RAMs als zRAM rennt sein Rechner. Cooles Feature!

V_for_Vortex

Avatar von V_for_Vortex
12 27. Oktober 2013 10:08

Nachtrag zu @11: Offenbar sind zRAM und zSwap zwei verschiedene Dinge, etwas ähnliches zu tun. Anscheinend gibt es aber Bestrebungen, sie zu vereinen. ❓