Abo
  • IT-Karriere:

Kdbus

Interprozesskommunikation für den Kernel

D-Bus sorgt unter Linux für die Kommunikation zwischen Anwendungen. Kdbus soll das Inter-Process-Communication-Framework (IPC) zumindest teilweise in den Kernel verlegen, so Entwickler Alban Crequy. Dadurch würde der D-Bus-Systemdienst ausgespart und die Kommunikation zwischen Anwendungen beschleunigt.

Artikel veröffentlicht am ,

Laut Entwickler Crequy kostet der Umweg über den D-Bus-Daemon mindestens einen Kontextwechsel und ein Speicherzugriff. Wenn eine Applikation eine Nachricht an eine zweite Applikation versendet, wird sie zunächst über ein Unix-Socket an den D-Bus-Daemon verschickt. Der Kernel kopiert dabei die Nachricht in die Warteschleife des Systemdiensts, der daraufhin aktiviert wird. Der wiederum schreibt den Namen des Versenders in den Header der Nachricht und schickt ihn an den Empfänger weiter.

  • Kdbus
Kdbus
Stellenmarkt
  1. KDO Service GmbH, Oldenburg
  2. DR. JOHANNES HEIDENHAIN GmbH, Traunreut (Raum Rosenheim)

Kdbus hingegen soll Nachrichten ohne Umweg über den D-Bus-Systemdienst ausliefern. Dazu haben die Entwickler ein neues Socket mit dem Namen "AF_DBUS" implementiert, über den IPCs laufen sollen. Der Kdbus-Kernel liest alle Nachrichten, die über AF_DBUS versendet werden und sucht in den Zeichenketten Hello, NameAquired, NameLost und AddMatch nach eindeutigen Namen (Unique Names), bekannten Namen und übereinstimmenden Regeln (Match Rules).

Je nach Zuordnung wird die Nachricht direkt an die angesprochene Applikation versendet. Dank der Funktion skb_clone() wird die Nachricht auch dann nur einmal in den Speicher geschrieben, wenn es mehrere Empfänger gibt. Der Kdbus-Prototyp verwendet weiterhin den D-Bus-Daemon für die Authentifizierung.

Positive Benchmark-Resultate

Laut Crequy erzielt Kdbus mit dem Benchmark Dbus-Ping-Pong in einer KVM-basierten virtuellen Maschine, bei 10.000 Aufrufen an D-Bus mit 2,085 Sekunden gegenüber 3,887 Sekunden, fast doppelt so schnelle Antwortzeiten. Auf einem Nokia N900 erzielte er mit Kdbus die dreifache Geschwindigkeit. Mit einem weiteren Test prüfte Crequy, wie lange die Herstellung einer Verbindung zu einem Jabber-Server auf einem N900 von Nokia braucht. Hier war Kdbus etwa 1,12 mal schneller.

Es gebe noch zahlreiche Einschränkungen und vor allem auch Sicherheitsbedenken, gibt Crequy zu. Es handele sich jedoch um ein Proof-Of-Concept und könne weiter optimiert werden. Er hat die Idee von Entwickler Ian Molton übernommen.

D-Bus ist als Nachrichtensystem für Desktop-Anwendungen konzipiert worden und sollte die IPC für Gnome und KDE standardisieren. Über den Session-Bus sorgt D-Bus für die Kommunikation zwischen Anwendungen und über den System-Bus mit dem Kernel. Das Framework steht unter der Ägide der Freedesktop-Initiative.

Hauptursache für einen langsamen Rundgang der Nachrichten über D-Bus sind zahlreiche Gültigkeitsprüfungen. Der Geschwindigkeitszuwachs wäre zumindest auf einem Standard-Desktop-Rechner zu vernachlässigen. Dort ist das System mehr mit Hardware-Eingaben und grafischen Ausgaben belastet. Ein D-Bus-Aufruf spielt eine eher untergeordnete Rolle. Nach Crequys Ping-Pong-Benchmark erfolgt der Nachrichtenaustausch auch ohne Kdbus nach nicht mehr als 0,4 Millisekunden - auch in einer virtuellen Maschine. Der Einsatz von Kdbus kann sich hingegen bei geringerer Hardware-Leistung positiv auswirken, etwa auf mobilen Geräten. Das belegen auch Crequys Ping-Pong-Benchmarks auf dem N900.

Sicherheitsaspekte dürften bei der Aufnahme des Projekts in den Kernel eine wesentliche Rolle spielen, da D-Bus im User-Space aktiv ist. Ob die Entwickler das für den Desktop konzipierte IPC-Framework in den Kernel integrieren, ist eher zweifelhaft.



Anzeige
Hardware-Angebote
  1. 127,99€ (Bestpreis!)
  2. 529,00€

hmjam 20. Sep 2010

Jep! Genau meine Meinunng. Die angesprochenen Apps sind für sich schon über die Maßen...

xfhnsyfdygnjsfygn 20. Sep 2010

Und deswegen sollten wir jetzt alle unsere Arbeiten einstellen. Sehe ich genau so. -.-

rzdetjartjartej 20. Sep 2010

Wo forderst du das?

sdfhnjasdgtnhagdn 20. Sep 2010

Für mich kommt das aus dem Artikel ganz gut raus. Aber ist schon klar, dass der, der...

Johannes Burgel 18. Sep 2010

Die Geschichte ist schon komisch. Unter gleichen Voraussetzungen - Kommunikation via UNIX...


Folgen Sie uns
       


Asus Zenfone 6 - Test

Das Zenfone 6 fällt durch seine Klappkamera auf, hat aber auch abseits dieses Gimmicks eine Menge zu bieten, wie unser Test zeigt.

Asus Zenfone 6 - Test Video aufrufen
Super Mario Maker 2 & Co.: Vom Spieler zum Gamedesigner
Super Mario Maker 2 & Co.
Vom Spieler zum Gamedesigner

Dreams, Overwatch Workshop und Super Mario Maker 2: Editoren für Computerspiele werden immer mächtiger, inzwischen können auch Einsteiger komplexe Welten bauen. Ein Überblick.
Von Achim Fehrenbach

  1. Nintendo Akku von überarbeiteter Switch schafft bis zu 9 Stunden
  2. Hybridkonsole Nintendo überarbeitet offenbar Komponenten der Switch
  3. Handheld Nintendo stellt die Switch Lite für unterwegs vor

Erasure Coding: Das Ende von Raid kommt durch Mathematik
Erasure Coding
Das Ende von Raid kommt durch Mathematik

In vielen Anwendungsszenarien sind Raid-Systeme mittlerweile nicht mehr die optimale Lösung. Zu langsam und starr sind sie. Abhilfe schaffen können mathematische Verfahren wie Erasure Coding. Noch existieren für beide Techniken Anwendungsgebiete. Am Ende wird Raid aber wohl verschwinden.
Eine Analyse von Oliver Nickel

  1. Agentur für Cybersicherheit Cyberwaffen-Entwicklung zieht in den Osten Deutschlands
  2. Yahoo Richterin lässt Vergleich zu Datenleck platzen

Ricoh GR III im Test: Kompaktkamera mit Riesensensor, aber ohne Zoom
Ricoh GR III im Test
Kompaktkamera mit Riesensensor, aber ohne Zoom

Kann das gutgehen? Ricoh hat mit der GR III eine Kompaktkamera im Sortiment, die mit einem APS-C-Sensor ausgerüstet ist, rund 900 Euro kostet und keinen Zoom bietet. Wir haben die Kamera ausprobiert.
Ein Test von Andreas Donath

  1. Theta Z1 Ricoh stellt 360-Grad-Panoramakamera mit Profifunktionen vor
  2. Ricoh GR III Eine halbe Sekunde Belichtungszeit ohne Stativ

    •  /