staging.inyokaproject.org

Was Ringtail antreibt: Ein Blick auf den Kernel

ubuntu_logo.png

Das kaum zu bändigende Katzenfrett – weniger malerisch auch Ubuntu 13.04 genannt – wird morgen freigelassen. Auf den ersten Blick scheint diese Bärenart nicht so bunt wie der Paradiesvogel Quetzal, doch die Farbe zählt beim Blick ins Innere nicht mit.

Seit der Kernel-Version 3.5, die in der Brust des Quantal Quetzal pocht, hat sich einiges getan. Zwar wird die Ubuntuversion, die ihren Namen von einem kleinen, mit dem Waschbären verwandten Pelztier entliehen hat, nicht das in Kürze erwartete Linux 3.9 aufweisen können, doch der Sprung über drei Linux-Versionen hinweg liefert einige Neuerungen, die für den Nutzer von Interesse sein können.

386er Prozessoren

Es ist nicht wirklich eine Neuerung, und wird auch nur Anwender treffen, die noch sehr, sehr alte Hardware nutzen: Die Unterstützung für die frühe 386DX-Prozessor-Familie wurde mit dem Linux-Kernel 3.8 eingestellt. Normalerweise würde der Wegfall einer fast 20 Jahre alten Prozessorreihe keine Erwähnung finden, wäre Linux nicht ursprünglich hierfür entwickelt worden.

Energiesparmodi

Mehr Relevanz dürfte in jedem Fall die Möglichkeit haben, suspend-to-disk und suspend-to-ram, also die Energiesparmodi Ruhezustand und Bereitschaft quasi zeitgleich nutzen zu können. Was beim ersten Blick seltsam anmuten mag, hat durchaus seine Berechtigung: Schickt man sein Notebook schlafen, so wird der Inhalt des Arbeitsspeichers festgehalten; entweder im Arbeitsspeicher selbst (Bereitschaft), wofür dieser jedoch weiterhin mit Strom versorgt werden muss, oder auf einem Massenspeicher (Ruhezustand), wo dann der Aufwachvorgang mehr Zeit in Anspruch nimmt.

Praktischer wäre in jedem Fall die erste Variante, leert sich jedoch im Schlafzustand der Akku, geht der gesamte Speicherinhalt verloren. Wurde dieser jedoch auch auf der Festplatte hinterlegt, so steht hier eine Ersatzmöglichkeit zur Verfügung, die zwar etwas länger benötigt, um das System zu starten, dann jedoch wieder den letzten Stand der Arbeit zur Verfügung stellt.

Dateisysteme

Ubuntus Standard-Dateisystem Ext4 hat ein paar kleinere Verbesserungen erfahren. Zum einen wurde die Unterstützung für Quotas (auf Benutzer und Gruppen bezogene Einschränkungen, wie viel Speicherplatz benutzt werden darf) verbessert. Die entsprechenden Informationen stecken nun in Inodes, wodurch sie nicht mehr durch Programme, die im Benutzerkontext laufen, beschädigt werden können.

Eine zweite Änderung betrifft die Speicherung sehr kleiner Dateien. Normalerweise werden alle Daten in Blöcken abgelegt, die eine feste Größe haben. In der Standardeinstellung sind dies 4 Kilobyte, sodass auch eine Datei mit wenigen Byte faktisch 4kB Plattenspeicher blockiert. Ext4 kann nun solch kleine Dateien direkt in dem Inode ablegen, der normalerweise die Information, die zum Auffinden des zugehörigen Blocks notwendig wäre, beinhaltet.

Neben dem Vorteil Speicher einzusparen, ergibt sich hier auch ein Leistungsgewinn, da das Suchen des zugehörigen Blocks entfällt. Um nun auch etwas größere Dateien in den eher kleinen Inodes, im Normalfall nur 256 Byte, abzulegen, kann auch die Größe der Inodes beim Erstellen des Dateisystems erhöht werden, was jedoch letztlich den nutzbaren Plattenspeicher negativ beeinflusst.

Spielen sich letztlich auch die bislang aufgezählten Änderungen tief im System ab, so findet sich doch der Großteil für die meisten Ubuntu-Nutzer unterhalb der Wahrnehmungsschwelle. Darunter auch das neue Dateisystem F2FS (Flash-Friendly File System), das speziell auf die Anforderungen von Flash-Speichern abgestimmt ist.

Es gibt zwar bereits Dateisysteme, die für die Zusammenarbeit mit Flash-Speicherchips geeignet sind, diese berücksichtigen aber nicht den „Flash Transaction Layer“, eine Zwischenschicht mit deren Hilfe SSD wie normale blockorientierte Speichergeräte angesprochen werden können. Dieser optimiert jedoch Speichernutzung, Schreib- und Lesevorgänge bereits und überschneidet sich hier mit so manchem speziellen Flash-Dateisystem, während F2FS diese Zwischenschicht berücksichtigt und auch mitzunutzen versucht.

Netzwerke

An der Leistungsfähigkeit der Netzwerkverbindungen unter Linux wurde auch gearbeitet. Verzögerungen im Netzwerk soll mit einer Begrenzung des Zwischenspeichers für abzusendende Netzwerkpakete entgegengewirkt werden. Eine Verkürzung der Zeit vom Abschicken des ersten Pakets bis zum Eintreffen der ersten vom Server angeforderten Daten verspricht „TCP Fast Open“.

Prinzipiell werden hierbei den ersten Anfragen zum Verbindungsaufbau bereits Nutzdaten mitgegeben, sodass sich hier pro geöffneter Verbindung ein geringer Zeitgewinn ergibt, der sich bei größeren Webseiten beispielsweise auf eine Reduzierung der gesamten Ladezeit bis auf 60% erreichen lässt.


Als Anwender sieht man in der Regel nur die Oberfläche des Desktops. Hier sind die Neuerungen manchmal offensichtlich, oft zumindest leicht zugänglich. Doch auch der Blick auf den Linux-Kernel, der schließlich die Grundlage eines jeden Ubuntu-Systems darstellt, offenbart immer wieder interessante neue Funktionen und Verbesserungen bekannter Merkmale.


Quellen:

Veröffentlicht von mfm | 24. April 2013 12:00 | Kategorie: Rund um Ubuntu | # Fehler im Artikel melden

Kriev

Avatar von Kriev
1 24. April 2013 13:32

Toller Beitrag! Danke für das zusammenstellen =3

timmie

2 24. April 2013 14:26

der Teil zum Energiemodus (http://ikhaya.ubuntuusers.de/2013/04/24/was-ringtail-antreibt-ein-blick-auf-den-kernel/#Energiesparmodi) ist etwas unverständlich.

Was ist die eigentliche verbesserung?

mfm

Avatar von mfm
3 24. April 2013 14:56

@2: Dadurch, dass ein der Speicher unter Strom und ein Abbild davon auf der Festplatte gehalten wird, kann ein System entweder schnell mit den im Arbeitsspeicher gehaltenen Daten geweckt werden, oder - wenn der Akku dann doch leer war - etwas langsamer mit dem Speicherabbild von der Festplatte.

ingo2

Avatar von ingo2
4 24. April 2013 18:32

Mehr Relevanz dürfte in jedem Fall die Möglichkeit haben, suspend-to-disk und suspend-to-ram, also die Energiesparmodi Ruhezustand und Bereitschaft quasi zeitgleich nutzen zu können.

Das gab es schon bei Hardy, nannte sich dort nur simpel "s2both".

fb

Avatar von fb
5 24. April 2013 19:21

Ich nutze ext4 mit 2 SSD (128GB jeweils). Sollte ich also auf F2FS umsteigen?

mfm

Avatar von mfm
6 24. April 2013 20:00

@5: Im Moment eher nein. Das Dateisystem ist neu und noch als experimentell markiert. Ich hoffe aber, dass das zügig in Fahrt kommt.

diwolf

7 24. April 2013 21:15

So wie ich das verstanden habe, ist das eher nur etwas für USB Sticks...?

HasserDesErfolges

Avatar von HasserDesErfolges
8 24. April 2013 22:46

HasserDesErfolges

Avatar von HasserDesErfolges
9 24. April 2013 22:48

fb

Avatar von fb
10 24. April 2013 22:48

Danke!

kringel

Avatar von kringel
11 25. April 2013 00:31

Der verwendete Wikipedia-Link müsste von http://de.wikipedia.org/wiki/Disk-Quota zu http://de.wikipedia.org/wiki/Disk_Quota korrigiert werde. Der erste Link ist nur eine Weiterleitung, die den Besucher mit einer gelöschten Seite begrüßt.

PS: Danke für den Kernel-Artikel, das mit den kleinen Dateien in Inodes bei Ext4 ist interessant.

JörnS

12 25. April 2013 11:39

Ja, finde ich auch. Treten die ext4-Äanderungen automatisch nach dem Update in Kraft, oder müssen die ext4-Partitionen neu angelegt werden?

Revolllti

13 25. April 2013 13:06

Hallo eine kleine Frage. Habe vom F2FS Dateisystem gehört, dachte bisher aber das sei für Ubuntu noch nicht ausgereift.

Wenn das jetzt also doch dabei ist, sollte man am besten, falls man eine SSD besitzt F2FS verwenden?

axt

14 25. April 2013 13:26

Raring ist erschienen (Lubuntu, Ubuntu, Kubuntu - Ubuntu Gnome und Kaylin noch nicht, im Moment wird Xubuntu hochgeschaufelt).

JörnS

15 25. April 2013 13:56

@13: Siehe Nummer 5+6

B601

16 26. April 2013 11:35

@15:

Derzeit ist F2FS (lt. Phoronix-Tests) im Großen und Ganzen auch deutlich langsamer als EXT4. Es macht keinen Sinn auf ein "optimales" Filesystem zu wechseln, wenn das in der Praxis das System einbremst.

Kann natürlich auch daran liegen, dass die meisten SSDs für den Einsatz "herkömmlicher" Filesysteme optimiert sind, wie auch im Artikel erwähnt, und daher ein Filesystem, das so tut, als gäbe es diese Optimierung nicht, nur noch mehr Overhead erzeugt. Woher soll die SSD wissen, welches Filesystem verwendet wird, und wie sie sich daher diesem gegenüber zu verhalten hat?

Echte "alte" Flashspeicher gibt's ja heute eigentlich gar nicht mehr. Vor 20, 25 Jahren war das wirklich so, dass man eigene Flashfilesysteme brauchte, um die Flashspeicher optimal auszunutzen und auch nicht kaputt zu machen; damals war die Anzahl der Schreibvorgänge tatsächlich noch sehr begrenzt.

Mal sehen: Wenn F2FS gut "ankommt", könnte es sein, dass es in ein paar Jahren SSDs gibt, die mit diesem optimal zusammenspielen bzw. konfigurierbare Parameter haben (USE_FLASH_OPTIMIZED_FILESYSTEM=yes/no oder so ☺ ).

lupopa

Avatar von lupopa
17 29. April 2013 11:10

Also zum Thema Netzwerk und Verzögerungen vermeiden durch neue Features ist bei all meinen Rechnern (3 stück) mit 13.04 schlechter geworden. 2 Notebooks und ein Netbook...

Beim Abspielen von Streams (Youtube, vlc etc) habe ich aussetzer, in regelmäßigen Abständen die teilweise bis zu 10 Sekunden andauern. Trotz abgeschalteter Hardwareverschlüsselung hat sich da nix getan. In OnlineGames ist das ebenfalls der Fall, wenn ich durch die Welten renne zuckt des öfteren die Verbindungsanzeige im Ingame .... Ebenso habe ich hohe Pingschwankungen.

Unter 12.04 gab es diese Probleme nicht.

Lösungen habe ich auch nicht wirklich gefunden. Nur bei meinem Acer Aspire 771g und eines Bios Updates hat bei dem Gerät geholfen. Die Schwankungen sind zwar noch da, aber unwesendlich weniger...

Grüße Lupo

JörnS

18 29. April 2013 11:43

Youtube hat bei 12.10 neuerdings auch gerne Aussetzer... zumindest bei mir.

B601

19 20. Mai 2013 07:17

@12:

Da es keine eigene Format- (mkfs.ext4) und Mountoption gibt, gehe ich davon aus, dass die Änderungen selbständig in Kraft treten. Das Ganze ist offenbar auch auf- und abwärtskompatibel (zumindest bei halbwegs aktuellen Kernels von 2.6 aufwärts), dh. der jeweilige Kernel kann die Daten, die von einem neueren bzw. älteren Kernel geschrieben wurden, lesen, beim Schreiben läuft das dann natürlich so ab, wie es dem jeweiligen Kernel entspricht.

Das Einzige: Bei der Standard-Inodegröße von 512 Bytes wirst du natürlich nicht allzuviele Dateien dort unterbringen können. Man kann sich also überlegen, das jeweilige Dateisystem mit der entsprechenden Option -I mit größeren Inodes neu zu formatieren. Gleichzeitig bedeuten größere Inodes aber auch mehr reservierten Platzverbrauch. Zum Vergleich: Bei einem Dateisystem von 100 GB werden ca. 2,5 Millionen Inodes (mit Standardeinstellungen) angelegt. Bei einer Inode-Größe von 2048 Bytes sind also gleich 10 GB "weg" (Backup-Inodes nicht vergessen!). Es ist also eine Art "Gratwanderung", die jeweils optimalen Einstellungen zu finden.

B601

20 20. Mai 2013 07:30

Kleine Korrektur: Es sind sogar ca. 6 Millionen Inodes lt. dumpe2fs, da sind aber die Backups schon dabei. Ergibt also 12 GB, die reserviert sind.