Tiefschürfend – Proceedings vom Linux Symposium 2009

Die Vorträge des Linux Symposium 2009 sind jetzt in Textfassungen als PDF-Datei verfügbar. Sie liefern zahllose Informationen zu aktuellen oder zukünftigen Entwicklungen rund um den Linux-Kernel.

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

Die Veranstalter und Vortragenden des Mitte Juli in Montreal abgehaltenen Linux Symposium (früher Ottawa Linux Symposium/OLS) haben auch dieses Jahr Textfassungen vieler dort gehaltenen Vorträge veröffentlicht. Diese enthalten nicht nur wie bei anderen Konferenzen üblich die Präsentationsfolien; vielmehr finden sich auf den meist eng bedruckten 340 Seiten der PDF-Datei ausführliche Artikel, die eine Unmenge von Informationen rund um Linux liefern.

Da unter den Vortragenden zahlreiche Kernel-Entwickler sind, beschäftigen sich viele der Präsentationen mit Hintergründen zu aktuellen oder zukünftigen Entwicklungen rund um den Linux-Kernel; aber auch Userspace-Software kommt in einigen Beiträgen zur Sprache. Dieser Artikel reißt einige für Linux und dessen Zukunft wichtige Themen des Linux Symposiums kurz an, um eine Orientierung in den Original-Beiträgen zu geben.

Drei Red-Hat-Mitarbeiter haben den Beitrag "Increasing memory density by using KSM" (Seite 19) eingereicht. Das Kürzel steht für "Kernel Shared Memory" oder "Kernel Samepage Merging " und bezeichnet ein Framework, das den Speicher von mehreren Prozessen nach identischen Bereichen absucht; findet es welche, führt es sie zusammen und reduziert durch Freigeben der nun unnützen Kopien den Speicherverbrauch. Der Vortrag erklärt, wie das funktioniert, ohne dass Chaos entsteht, wenn ein Prozess einen gemeinsam genutzten Speicherabschnitt verändert.

Entwickelt wurde KSM primär für die Virtualisierungslösung KVM (Kernel-based Virtual Machine). Dort versprechen sich die Entwickler viel Einsparpotenzial, wenn mehrere ähnliche Gastbetriebssysteme auf einem Rechner laufen. In solchen Konstellation, so die Entwickler, sind erhebliche erhebliche Teile der im virtuellen Arbeitsspeicher der Gäste gespeicherten Daten identisch.

KSM sollte ursprünglich schon mit der Version 2.6.31 in den Hauptentwicklungszweig von Linux einziehen. Die KSM- und Kernel-Entwickler kamen jedoch überein, noch einige Änderungen umzusetzen und die Aufnahme in 2.6.32 anzustreben – derzeit sieht es so aus, als würde das klappen. Einige Hintergründe zu KSM liefern die LWN.net-Artikel "/dev/ksm: dynamic memory sharing" und "KSM tries again"; die dort erwähnten Patentprobleme scheinen bei dem für die Aufnahme in Linux vorgeschlagenen Code nicht relevant zu sein.

Mit Aspekten rund um die Speicherverwaltung für Gastsysteme beschäftigt sich auch der Vortrag "Transcendent Memory and Linux" (Seite 191) dreier Oracle-Mitarbeiter (auch zu diesem Thema gab es kürzlich einen Bericht bei Linux Weekly News). Mit Virtualisierung in HPC-Clustern beschäftigt sich "Linux-based virtualization for HPC clusters" (Seite 221) einiger Mitarbeiter des staatlichen französischen Forschungszentrum CNRS.

Das PDF liefert eine Unmenge an detaillierten Hintergrundinformationen.

Dass Geschwindigkeitsanalyse und Debbugging ein derzeit ein wichtiges Thema im Linux-Umfeld sind, zeigt sich schon allein an der großen Zahl der zu diesem Thema gehaltene Vorträge.

Tim Bird von Sony etwa erklärt in "Measuring Function Duration with Ftrace" (Seite 47) die Verwendung des mit Linux 2.6.27 aufgenommen Tracing-Frameworks FTrace (Function Tracer). Mit ihm lässt sich verfolgen, wie lange Code zur Ausführung in einer bestimmten Funktion benötigt – mit den Ausgaben kann man so gezielt nach Code-Abschnitten suchen, wo sich eine Optimierung besonders lohnt. In dem Beitrag beschreibt Bird den aktuellen Stand der sich mit jeder Kernel-Version verändernden Tracing-Infrastruktur und zeigt, wie man mit Filtern die Analyse auf bestimmte Kernel-Bereiche beschränkt. Mit FTrace beschäftigen sich jüngst auch einige LWN.net-Artikel – darunter "A look at ftrace" und "On the value of static tracepoints".

Tracing war auf dem diesjährigen Linux Symposium auch Thema im Vortrag "Combined Tracing of the Kernel and Applications with LTTng" (Seite 87). Bei dem dort beschriebenen Ansatz kommt allerdings das unabhängig vom Kernel entwickelte und auf einen Kernel-Patch angewiesene LTTng zum Einsatz.

Mit der Fehlersuche beschäftigt sich der Vortrag "Dynamic Debug" (Seite 39) von Jason Baron. Er erklärt den Einsatz des seit Version 2.6.28 in den Hauptentwicklungszweig von Linux integrierten Frameworks "Dynamic Debug". Damit lassen sich bestimmte Kernel-Ausgaben nachträglich einschalten, um so die Ursache eines Problems zu ermitteln – zuvor hatte man den Kernel meist mit aktivierten Debbuging-Optionen neu übersetzen müssen.

Um die Tiefen von Profiling und Tracing geht es im Vortrag "Hardware Breakpoint (or watchpoint) usage in Linux Kernel" (Seite 149) von Prasad Krishnan (IBM). Die Analyse von Speicherabbildern im Fehlerfall ist Thema bei "Programmatic Kernel Dump Analysis On Linux" (Seite 251).

Einige weitere Vorträge im Kurzüberblick:

  • WLAN-Verwalter John W. Linville vermittelt in "A day in the life of a Linux kernel hacker..." (Seite 185) einige Hintergründe zum Entwicklungsmodell des Linux-Kernels. Dabei geht er auf die Motivationen ein, die Leute zur Mitarbeit im Kernel bewegen, und erklärt die verschiedenen Arten der Mitarbeit – jenseits von Programmierern zählt er dazu auch Anwender, die Fehler berichten, den Kernel testen oder Dokumentation schreiben. Auch das Entwicklungsmodell kommt zur Sprache; in dem Zusammenhang erklärt er beispielsweise, wie ein Patch über die verschiedenen Entwicklerzweige den Weg in den Hauptentwicklungszweig findet.
  • Martin K. Petersen von Oracle beschreibt in seinem Vortrag "I/O Topology" (Seite 235) die in die kommende Kernel-Version 2.6.31 integrierte Infrastruktur zur Abfrage vin Informationen zur I/O-Topologie. Das ist etwa für die Einteilung von Datenträgern mit Sektorgrößen ungleich 512 Byte oder die optimale Anordnung von Daten im RAID-Verbund von Bedeutung.
  • Ein Vortrag zum Nutzung von Stromspartechniken mit Linux und den damit verbunden Problemen scheint schon fast zum Pflichtprogramm des Linux Symposium gehören. Der diesjährige Beitrag heißt "Fixing PCI Suspend and Resume" (Seite 319) und stammt von Rafael J. Wysocki. Er erklärt darin einige der Probleme rund um das Aktivieren und Deaktivieren von PCI-Geräten beim Wechsel in und aus den systemweiten Schlafzuständen (Suspend-to-RAM, Suspend-to-Disk) und wie die bei 2.6.29 und 2.6.30 aufgenommenen Änderungen die Situation verbessern.
  • In "Autotest – Testing the Untestable" (Seite 9) beschreiben zwei Google-Mitarbeiter Aspekte rund um die Verwendung des Autotest-Frameworks zum automatischen Testen von Kerneln oder Hardware, das der Suchmaschinenbetreiber selbst einsetzt.
  • Weniger um Hardware-Tests, sondern um die Prüfung der korrekten Funktion des Linux-Kernels und der zum Test eingesetzten Programme und dreht sich der Vortrag "Putting LTP to test – Validating both the Linux kernel and Test-cases" (Seite 209) zum Linux Test Project (LTP).
  • Intel-Mitarbeiter A. Leonard (Len) Brown erklärt das "Simple Firmware Interface" (Seite 55) – eine SFI abgekürzte und auf den Betrieb mit Linux abgestimmte Alternative zu ACPI, die Intel in kompakten Geräten wie Mobile Internet Devices (MIDs) mit Atom-Prozessoren einsetzen will. Im Rahmen des Beitrags stellt er klar, dass die kommende Moorestown-Plattform für Smartphones, Mobile Internet Devices (MIDs) und Embedded-Anwendungen weder ein klassisches PC-BIOS noch ein ACPI-BIOS unterstützt – damit deutet er indirekt an, dass Intel bei den kommenden Atom-Mobilgeräten stark auf Linux als Betriebssystem setzt.
  • Mit Aspekten bei der Programmierung von Userland-Anwendungen für Echtzeit-Linuxe beschäftigt sich Dominic Duva in seinem Vortrag "From Fast to Predictably Fast" (Seite 79).
  • Dass zwanzig Jahre manchmal nicht genug sind, um gewisse Probleme zu lösen, deuten einige HP-Angestellte bereits im Titel zu ihrem NFS-Vortrag an: "Twenty Years Later: Still Improving the Correctness of an NFS Server" (Seite 95).
  • Mitarbeiter der Heinrich Heine Universität in Düsseldorf hielten den Vortrag "Incremental Checkpointing for Grids" (Seite 201).
  • Dass Multi-Core-CPUs nicht nur immer alles schneller machen, sondern auch Probleme wie die optimale Verteilung von Prozessen auf CPUs und CPU-Cores aufwerfen, zeigt "Scaling software on multi-core through co-scheduling of related tasks" (Seite 287).

Erst sah es so aus, als wären die Proceeding in diesem Jahr nicht frei zugänglich.

Dann verriet eine weitere Nachricht auf der Twitter-Alternative identi.ca den Link zu den Proceedings.

Alle Themen der Proceedings vom Linux Symposium 2009:

  • Autotest — Testing the Untestable von John Admanski & Steve Howard
  • Increasing memory density by using KSM von Andrea Arcangeli
  • Sandboxer: Light-Weight Application Isolation in Mobile Internet Devices von R. Banginwar, M. Leibowitz, & T. Tanaka
  • Dynamic Debug von Jason Baron
  • Measuring Function Duration with Ftrace von Tim Bird
  • The Simple Firmware Interface von A. Leonard Brown
  • The Corosync High Performance Shared Memory IPC Reusable C Library von Steven C Dake
  • GStreamer on Texas Instruments OMAP35x Processors von D. Darling, C. Maupin, & B. Singh
  • From Fast to Predictably Fast von Dominic Duval
  • Combined Tracing of the Kernel and Applications with LTTng von Pierre-Marc Fournier
  • Twenty Years Later: Still Improving the Correctness of an NFS Server von R. Gardner, S. D’Angelo, & M. Sears
  • Memory Migration on Next-Touch von Brice Goglin & Nathalie Furmento
  • Non Privileged User Package Management: Use Cases, Issues, Proposed Solutions von François-Denis Gonthier & Steven Pigeon
  • GeoDNS—Geographically-aware, protocol-agnostic load balancing at the DNS level von John Hawley
  • Porting to Linux the Right Way von Neil Horman
  • Tracing the HA Cluster of Guests with VESPER von S. Kim, S. Moriya, & S. Oshima
  • Hardware Breakpoint (or watchpoint) usage in Linux Kernel von Prasad Krishnan
  • Shoot first and stop the OS noise von Christopher Lameter
  • Tuning 10Gb network cards on Linux von B.H. Leitao
  • A day in the life of a Linux kernel hacker... von John W. Linville
  • Transcendent Memory and Linux von Dan Magenheimer
  • Incremental Checkpointing for Grids von John Mehnert-Spahn
  • Putting LTP to test—Validating both the Linux kernel and Test-cases von Subrata Modak
  • Linux-based virtualization for HPC clusters von L. Nussbaum, F. Anhalt, O. Mornard, & J.-P. Gelas
  • I/O Topology von Martin K. Petersen
  • Step two in DCCP adoption: The Libraries von L.M. Sales, H. Stuart, H.O. Almeida, & A. Perkusich
  • Programmatic Kernel Dump Analysis On Linux von Alex Sidorenko
  • Online Hierarchical Storage Manager von S.K. Sinha, R.B. Agrawal, V. Agarwal, R. Vashist, R.K. Sharma, & S. Hendre
  • Effect of readahead and file system block reallocation for LBCAS von K. Suzaki, T. Yagi, K. Iijima, N.A. Quynh, & Y. Watanabe
  • Scaling software on multi-core through co-scheduling of related tasks von Srivatsa Vaddagiri
  • Converged Networking in the Data Center von Peter P. Waskiewicz Jr.
  • How to (Not) Lose Your Data von Ric Wheeler
  • Testing and verification of cluster filesystems von Steven Whitehouse
  • Fixing PCI Suspend and Resume von Rafael J. Wysocki
  • Real-Time Performance Analysis in Linux-Based Robotic Systems von H. Yoon, J. Song, & J. Lee

(thl/c't) (thl)