Linux-Kongress 2009: Neue Dateisysteme, besser programmieren

Bekannte Open-Source-Größen vermittelten auf der traditionsreichen Konferenz zahlreiche Informationen zu aktuellen und zukünftige Entwicklungen rund um Linux. Mehrere Vorträge beschäftigten sich mit Dateisystemen und optimaler Programmierung.

In Pocket speichern vorlesen Druckansicht 3 Kommentare lesen
Lesezeit: 10 Min.
Von
  • Thorsten Leemhuis
Inhaltsverzeichnis

In Dresden fand vergangener Woche der Linux-Kongress 2009 statt. Die traditionsreiche Veranstaltung der GUUG (German Unix Users Group) zog dabei wie so häufig zahlreiche bekannte Linux-Entwickler als Besucher oder Referenten an. Im zweitägigen Vortragsprogramm sprachen unter anderem der für seine Arbeit an den Ext-Dateisystemen bekannten Kernel-Entwickler Theodore "tytso" Ts'o, Andi Kleen, Jan Kara, Jan Blunck, Heinz Mauelshagen oder Samba-Entwickler Volker Lendecke. Die meisten der Vorträge waren auf hohem Niveau und boten einen guten Überblick über aktuelle und zukünftige Entwicklungen im und um den Linux-Kernel herum.

Der bei IBM angestellte, aber derzeit an die Linux Foundation als CTO (Chief Technology Officer) "ausgeliehene" Theodore Ts'o hielt die Keynote zur Eröffnung des Vortragsprogramms. In dem "Linux and Open Source in 2010 and Beyond" (Präsentationsfolien als PDF) betitelten Vortrag bezeichnet er Mobile und Cloud Computing als die beiden Bereiche, wo Unternehmen Linux derzeit besonders interessant finden und proprietäre Lösungen gegen solche mit Linux austauschen.

In beiden Gebieten sei zudem viel "shared innovation" zu finden – also Firmen, die grundlegende Techniken in Open-Source-Manier gemeinsam mit ihren Mitbewerbern entwickeln. Das würde nicht nur die Entwicklungskosten niedrig halten, sondern führe durch die Abstimmung untereinander auch zu besseren Produkten – insbesondere ersten Punkt führt er in seiner Präsentation länger aus, betonte dabei aber, dass Firmen ihre herausragendsten Produkte ("unique product value"), mit denen sie sich von ihren Mitbewerbern unterscheiden, nicht oder nicht sofort offen legen sollten. Um zu erklären, wo die Innovation passiert, führte er einige Zahlen aus einer im August aktualisierten Studie an, die darlegt, welche Unternehmen sich wie stark in an der Kernel-Entwicklung beteiligen.

Welches die Trends sind, die in zwei bis drei Jahren auf Mobile und Cloud Computing folgen, vermag auch Theodore Ts'o nicht vorherzusagen – wer aber einen guten Riecher habe, könne reich werden. 2010 werde genauso (wenig) das Jahr von Linux auf dem Desktop wie es die Jahre zuvor waren. Linux für Desktop-PCs fit zu machen sei hart – die dazu nötigen Verbesserungen am Software-Stack würden zwar erfolgen, aber nicht so schnell, wie es viele sich wünschen.

Suse-Labs-Entwickler Jan Kára widmete sich in "Ext4, Btrfs and the others" (Präsentationsfolien und Proceedings als PDF) den beiden neuen, aber in nächster Zeit wohl wichtigsten Linux-Dateisystemen. Kára nannte eingangs verschiedene Problemfelder im Dateisystemumfeld: So würde die Speicherkapazität deutlich schneller wachsen als der Durchsatz und insbesondere die Zugriffszeit von Festplatten sich kaum verbessern; auch die Fehlerrate pro Sektor bleibe auf dem selben Niveau. Auf diese Aspekte müssten Dateisysteme abgestimmt werden.

Kára erklärt einige der wichtigsten Funktionen sowie Aspekte zur Struktur und Funktionsweise von Ext4 und Btrfs. Ext4 stufte er in seinem Vortrag bereits als gut genug für Desktop-Systeme ein, es sei aber noch nicht ganz so zuverlässig und erprobt wie Ext3 und daher noch nicht ganz, aber vermutlich bald reif für den Einsatz im Unternehmensumfeld. Das Copy-On-Write-Dateisystem Btrfs sei noch nicht ausgereift, aber recht ordentlich und würde bereits jetzt "Ihre Daten vermutlich nicht fressen"; er schätzt, dass es in ein paar Monaten für den Einsatz bei Desktop-Systemen geeignet ist. Er hebt bei Btrfs die sehr schnelle Erstellung von Snaphots, die eingebauten Checksummen- und RAID-Funktionen sowie den SSD-Betriebsmodus hervor.

Im hinteren Bereich der beiden Dokumente zum Vortrag finden sich einige Benchmark-Ergebnisse mit verschiedenen Dateisystemen – das Kopieren der ausgepackten Kernel-Quellen etwa erledigen Btrfs und Ext4 um einiges schneller als Ext3 und erheblich flotter als XFS. Letzteres ist beim Einlesen eines großen Verzeichnisses etwas schneller als Btrfs.

Auch Theodore Ts'o beschreibt im Rahmen seines zweiten Vortrags "Speeding up file system checks in ext4" (Präsentationsfolien als PDF) einige Interna von Ext4, beschäftigt sich aber auch mit verschiedenen wichtigen Unterschieden zu Ext3. Durch einige von ihnen – etwa die Datenspeicherung mit Extents – sowie einige im PDF näher erläuterte Optimierungen am Programm zum Prüfen von Ext-Dateisystemen soll ein Check von Datenträgern mit Ext4 um ein Vielfaches schneller ablaufen als bei Ext3. Zahlreiche Messwerte, die das belegen, finden sich auf den hinteren Präsentationsfolien.

Eine schnelle Prüfung sei gerade bei sehr großen Datenträgern wichtig, da die Ausfallzeit von Servern sonst möglicherweise so groß sei, dass es letztendlich günstiger sei, die Daten aus dem Backup einzuspielen und einige dort nicht enthaltenen Daten verloren zu geben. Dateisystem-Checks sieht Ted Ts'o als unerlässlich an, da wir nicht in einer perfekten Welt leben und Fehler im Kernel, auf den Medien oder im Arbeitsspeicher nicht auszuschließen seien. Er empfiehlt Anwendern einen wöchentlichen Check mit einem Script, dass einen LVM-Snapshot anlegt und diesen im Hintergrund prüft – solange keine Fehler gefunden werden, fallen so keine Ausfallzeiten an.

Håvard Espeland von der Universität Oslo präsentierte "Improving Disk I/O Performance on Linux" (Präsentationsfolien und Proceedings als PDF) – eine gestraffte Version der unter dem selben Titel veröffentlichten Masterarbeit (PDF) von Carl Henrik Lunde. Beide beschreiben die zusammen mit einem Team entwickelte optimierte Variante des Linux-eigenen I/O-Schedulers CFQ (Complete Fair Queueing), die durch geschickte Umsortierung der Abarbeitungsreihenfolge versucht, Bewegungen der Schreib-/Leseköpfe von Festplatten erheblich zu reduzieren – dadurch lässt sich der Einfluss der mittleren Zugriffszeit von Festplatten deutlich minimieren und der Datendurchsatz steigern.

Da der Kernel aber nur die Anforderungen umsortieren und optimieren kann, die er in seiner Warteschlage hat, hat sich das Team um Carl Henrik Lunde auch dem Userspace näher gewidmet und eine optimierte Variante der Archivers "tar" entwickelt. Sie erfährt bei neueren Kerneln von Ext3- oder Ext4-Dateisystemen die Position der Daten auf der Platte und kann die Anforderungen entsprechend umsortieren, um unnütze Bewegungen der Schreib-/Leseköpfe von Festplatten von vornherein zu vermeiden – das Archivieren einer Kernel-Quellcodebaums mit 22.500 Dateien gelingt auf einem künstlich gealterten Dateisystem so statt in zirka 80 Sekunden in weniger als 20.

Mit dem seit Jahren viel diskutierten, auf Kernel-Ebenen aber weiter ungelösten Problem der Union Mounts beschäftigte sich Novell-Entwickler Jan Blunck in "State of the Union (Mount)" (Präsentationsfolien als PDF). Er versucht darin die wichtigsten Vor- und Nachteilen der derzeit verfügbaren Lösungen aufzuzählen, mit denen sich ein Mountpunkt mit einem anderen verbinden lässt – das ist beispielsweise für Live-Medien interessant, wo schreibgeschützte Daten von CD oder DVD als Root-Dateisystem eingebunden werden und ein darüber gelagertes, schreibbares Dateisystem weitere, auf einem auf einen anderen Datenträger abgelegte Daten bereitstellt und diese dort auch ablegt. Die maßgeblich von Jan Blunck und Valerie Aurora vorangetriebene und in dem Vortrag erwähnte Lösung "Writable overlays (union mounts)" hat die Dateisystementwicklerin erst kürzlich zur Begutachtung an die LKML gesandt.

Nicht mit Dateisystemen, sondern mit auf Multiprozessor-Systemen möglichst gut skalierender Kernel-Programmierung beschäftigt sich der langjährige und derzeit bei Intel arbeiteten Kernel-Entwickler Andi Kleen in "Linux multi-core scalability" – für diesen Vortrag stehen nicht nur die Präsentationsfolien online, sondern auch eine Textfassung mit vielen detaillierten Erklärungen. Mit Programmieraspekten und den damit verbundenen Optimierungsfähigkeiten moderner Compiler beschäftigt sich Felix (Fefe) von Leitner in seinem Vortrag "Compiler Optimization Survey" – das PDF mit den Präsentationsfolien ist satte 72 Seiten stark und enthält viele Beispiele sowie Ergebnisse von Micro-Benchmarks.

Samba-Ikone Volker Lendecke gab in seinem "Samba Status Update" (Präsentationsfolien) einen Überblick über die aktuelle Entwicklung rund um den freien CIFS-Server. Das Samba-Team diskutiert seit über einem Jahr, wie die Zukunft der beiden Entwicklungslinien Samba 3.x und Samba 4 aussehen sollen. Inzwischen haben sich die Entwickler auf eine Release-Strategie geeinigt. Diese wird die bislang unter dem Codenamen "Franky" diskutierten Überlegungen umsetzen, beide Zweige parallel in ein Paket zu verpacken. Die Aufgaben als Datei- und Druck-Server wird der Samba 3.x-Teil übernehmen, während sich der Samba-4-Part vor allem um die Aufgabe als Active Directory und Domain Controller kümmern wird. Derzeit arbeitet das Samba-Team an der Abstimmung der beiden Komponenten, das erste kombinierte Release soll im ersten Quartal kommenden Jahres erscheinen.

In "Fighting regressions with git bisect" (Präsentationsfolien als PDF) erklärte Christian Couder mit vielen Beispielen den Einsatz von git bisect, das mit den richtigen Scripten drumherum vollautomatisch verschiedene Kernel-Versionen auscheckt, kompiliert und nach einem Neustart testet – so kann man in neueren Kernel-Versionen genau die Änderungen finden, die für einen zuvor nicht auftretenden Fehler verantwortlich ist. Couder hat zu dem Thema bereits einen Artikel bei LWN.net geschrieben.

Die PDF-Präsentationen der anderen, hier nicht erwähnten Vorträgen finden sich auf der Webseite mit dem Programm des Linux Kongress 2009. Die Proceedings von einigen der Vorträge sollen in Kürze bei Lehmanns im Online-Shop erhältlich sein.

Bereits jetzt sind die Planungen für das nächste Jahr angelaufen: Der Linux Kongress 2010 soll vom 21. bis 24. September 2010 in Nürnberg stattfinden. (thl) (thl)