MP-WS15-01

Aus Verteilte Systeme - Wiki
Wechseln zu: Navigation, Suche

Masterprojekt - sDDS4IoT


Einleitung [OD]

Das Internet der Dinge ist nicht mehr länger eine bloße Zukunftsvision, sondern mittlerweile bereits in ersten Zügen Realität geworden. Auf der einen Seite steht die Erwartungshaltung, immer mehr Alltagsgeräte intelligent zu machen und an das Internet anzubinden, auf der anderen Seite soll dies so effizient und kostengünstig wie möglich erfolgen und sich nahtlos in die bestehenden Standards eingliedern. Dies schafft insbesondere für bestehende Systeme die Herausforderung eine leichtgewichtige Implementierung für leistungsschwache Hardware zu schaffen und weiterhin den Standard möglichst vollständig abzudecken.

Einen solchen Ansatz verfolgt die durch das VS-Labor entwickelte Middleware sDDS, welche ein Subset des von der OMG entwickelten Standards DDS implementiert. Die Kommunikationsform des DDS (Data Distribution Service) Standards basiert auf dem Publish-Subscribe Paradigma. Die Implementierung sDDS (Sensor Data Distribution Service) setzt den DDS-Standard angepasst für Sensornetze um und ermöglicht DDS auf leichtgewichtigen Plattformen, wie einem 8-Bit AVR Mikrocontroller zu betreiben.

Dieser Ansatz gliedert sich gut in den aktuellen Forschungsschwerpunkt Smarte Systeme für Mensch und Technik des Fachbereichs ein, da hierfür insbesondere Szenarien aus den Bereichen Smart Home und Smart Grid betrachtet werden und DDS dafür eine geeignete Architektur zur Verteilung der Daten darstellt. Die Umsetzung dieser Szenarien stellt jedoch gewisse Anforderungen an die Dienstgüte der Middleware. Diese sogenannten Dienstgütemerkmale (QoS-Merkmale), werden bereits durch den DDS-Standard definiert, sind jedoch noch nicht in dem vom sDDS implementierten Subset enthalten. Ziel des Masterprojektes sDDS4IoT ist es einen Teil der durch den Standard definierten QoS-Merkmale zu implementieren und sDDS im Smart Home und Smart Grid Umfeld einsetzbar zu machen.

In den nachfolgenden Kapiteln befasst sich die Dokumentation mit der Analyse des aktuellen Stands von sDDS, den im DDS-Standard definierten QoS-Merkmalen, sowie der Herausarbeitung konkreter Fallbeispiele aus dem Smart Home und Smart Grid Umfeld. Durch den Vergleich der Fallbeispiele mit dem gesamten Spektrum der QoS-Merkmale wird ein Subset derjenigen QoS-Merkmale definiert, die im Rahmen des Masterprojektes umgesetzt werden sollen. Die Umsetzung dieses Subsets wird im anschließenden Designkapitel genauer erläutert und die schließlich entstandene Middleware mithilfe von Benchmark-Tests auf Performanz untersucht und ein Vergleich mit Connext DDS von RTI gezogen.

Grundlagen

Leistungsbewertung [OD]

Der folgende Abschnitt beschreibt das korrekte Vorgehen zur Leistungsmessung in verteilten Systemen. Die dabei erarbeiteten Grundlagen entstammen dem Heft "GDM-Studien Nr.219" von Liesel Klemm und Detlef Schwellenbach.

[weiterlesen]

QoS Merkmale des DDS-Standards

Im DDS Standard der OMG in der Version 1.4 (Stand April 2015) werden insgesamt 22 QoS-Merkmale beschrieben, welche teilweise untereinander Abhängigkeiten aufweisen. In diesem Kapitel wurden die QoS-Merkmale des DDS Standards aufgearbeitet und mit ihren jeweiligen Abhängigkeiten in Gruppen kategorisiert. Bei der Kategorisierung wurde sich an der Einteilung von OpenSplice DDS der Firma PrismTech orientiert.

[weiterlesen]

Analyse

Ist-Zustand sDDS

Dieser Abschnitt beschreibt den aktuellen Zustand der Middleware sDDS zu Beginn des Masterprojektes. Insbesondere wird hier ein Überblick über die Softwarearchitektur gegeben und mögliche bzw. vorhandene Ansatzpunkte für QoS-Merkmale herausgearbeitet. Hierbei spielt auch der Zustand der Codegenerierung eine Große Rolle, da sDDS zum Generierungszeitpunkt statisch konfiguriert wird und der ursprüngliche modellbasierte Ansatz mit Eclipse-Unterstützung im Laufe der Zeit viele Wandlungen genommen hat.

[weiterlesen]

Betrachtete Fallbeispiele

Um die für den Forschungsschwerpunkt relevanten QoS-Merkmale des DDS Standards herauszufinden zu können, wurden aus den Bereichen Smart Home und Smart Grid mehrere Fallbeispiele ausgewählt.

[weiterlesen]

Priorisierte QoS-Merkmale

Nach Betrachtung der Fallbeispiele hat sich gezeigt, dass manche QoS-Merkmale bei nahezu allen Fallbeispielen auftreten. Diese Merkmale nehmen somit eine zentrale Rolle ein und sind mit einer höheren Priorität umzusetzen. Die hochprioren QoS-Merkmale sind:

Reliability, History, Latency Budget, Ownership und Durability

Eine Aufwandsschätzung hat jedoch ergeben, dass nicht alle der durch die Analyse herausgearbeiteten QoS-Merkmale umgesetzt werden können, sondern nach einer weiteren Priorisierung folgenden Merkmale umgesetzt werden sollen:

  • Reliability
  • History
  • Latency Budget

[weiterlesen]

Benchmarks [OD]

Neben der Weiterentwicklung und Erweiterung der Middleware um ausgewählte QoS-Merkmale, sollen auch Performanz-Messungen durchgeführt werden. Zum einen sollen die Messungen als Basis für einen Vergleich mit anderen DDS-Implementierungen dienen und zum anderen geben sie einen Aufschluss darauf, wie sich die verschiedenen QoS-Merkmale auf die Performanz auswirken. Der weitere Abschnitt befasst sich mit der Analyse möglicher Kenngrößen sowie einem geeigneten Testaufbau.

[weiterlesen]

Design

Code Generator [KS]

Der neue Code Generator vereinfacht die Konfiguration und Wartung der sDDS-Anwendungen.

[weiterlesen]

QoS Merkmale

Dieser Abschnitt befasst sich mit der detaillierten Architektur der in der Analyse herausgearbeiteten QoS-Merkmale.

[weiterlesen]

Testframework [KS]

Das Testframework ermöglicht einen schnellen Überblick über die Konsequenzen der eigenen Änderungen und eventueller Fehler die dadurch erzeugt wurden.

[weiterlesen]

Benchmarks [OD]

Die in der Analyse erarbeiteten Performanztests werden in diesem Abschnitt genauer herausgearbeitet. Dabei wird der Schwerpunkt besonders auf die automatisierte Durchführung und Auswertung gelegt, sowie die einfache Konfigurierbarkeit der Tests, um diese möglichst dynamisch und ein einfach wiederholbar zu machen. Die in der Analyse herausgearbeiteten Tests sind:

  • Latenz- und Durchsatzvergleich mit RTI
  • Auswirkung auf die Latenz und den Durchsatz des QoS-Merkmals Reliability
  • Auswirkung auf den Durchsatz des QoS-Merkmals Latency Budget
  • Skalierbarkeit
  • Ausführungszeiten bestimmter Funktionen


[weiterlesen]

Implementierung

Code Generator [KS]

Beschreibung der Konfigurationsdateien und der Generierungsergebnisse.

[weiterlesen]

Testframework [KS]

Beschreibung der implementierten Tests.

[weiterlesen]

Benchmark-Evaluation [OD]

Dieser Abschnitt beschreibt die Ergebnisse der durchgeführten Performanztests zwischen der DDS Implementierung des Marktführers RTI und sDDS. Weiterhin wurde die Auswirkung der im Zuge dieses Masterprojekts implementierten QoS-Merkmale auf die Performanz der Middleware vermessen. Dafür wurden die bereits konzipierten Tests zur Vergleichsmessung verwendet. Zusätzlich liegen Ergebnisse zur Skalierbarkeit von sDDS vor, sowie Ausführungszeiten relevanter Codeabschnitte.

[weiterlesen]

Ausblick und Fazit [SR]

In diesem Masterprojekt wurde sich mit den im DDS Standard der OMG beschriebenen QoS-Merkmalen auseinandergesetzt und ihren Einsatz in Smart Home und Smart Grid Szenarien untersucht. Aus dieser Analyse ist eine Liste an bei einer Umsetzung in sDDS zu priorisierenden QoS-Merkmalen entstanden, von welchen die Merkmale: Latency Budget, History und Reliability umgesetzt wurden, wobei eine NACK Implementierung für das QoS-Merkmal Reliability nach Ablauf des Projektes noch nachträglich vollständig umgesetzt werden wird. Im Zuge der Erweiterungen des sDDS wurde das Projekt auf das Versionierungstool Git portiert und neben der Überarbeitung der Codegenerierung auch eine Testumgebung für das schnelle Überprüfen der Funktionalität geschaffen. Die Ergebnisse der Erweiterung konnten des Weiteren durch automatisierte Benchmarks messbar gemacht und in ihren Bereichen auch mit kommerziellen DDS Implementierungen, wie etwa RTI DDS, in identischen Szenarien vergleichen werden.

[weiterlesen]

Organisatorisches

Stundenzettel

Student Literatur (Soll: 90h) Praktische Tätigkeit (240h) Präsentation (90h) Vor- und Nachbereitung (30h) Gesamtstunden (450h)
Olga Dedi 72 (wg. Vorkenntnissen) 320 78 31 501
Steffen Reichmann 91 328 109 36 564
Kevin Sapper 90 250 124 31 495


Abschlusspräsentation

Datei:Abschlusspräsentation sDDS4IoT.pdf