14.01.2015 Aufrufe

Dynamische Adaption in heterogenen verteilten eingebetteten ...

Dynamische Adaption in heterogenen verteilten eingebetteten ...

Dynamische Adaption in heterogenen verteilten eingebetteten ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

5 Kontroll- und Verwaltungsschicht<br />

Anforderung<br />

senden<br />

Änderungen<br />

vorbereiten<br />

Kommandos<br />

übertragen<br />

Code<br />

<strong>in</strong>stallieren<br />

Funktionsaufruf<br />

ATmega 169 2,0 ms 20,5 ms 333,6 ms 19,5 ms 0,002 ms<br />

H8/300 2,0 ms 10,4 ms 243,3 ms 0,2 ms 0,008 ms<br />

Tabelle 5.1: Zeitverbrauch bei e<strong>in</strong>er bedarfsgesteuerten Installation<br />

Die Tabelle zeigt Zeiten für die Installation e<strong>in</strong>er kle<strong>in</strong>en Funktion auf e<strong>in</strong>em ATmega169 (AVR Butterfly) und auf e<strong>in</strong>em<br />

H8/300 (Lego RCX). Die Geräte s<strong>in</strong>d jeweils über e<strong>in</strong>e serielle Verb<strong>in</strong>dung mit 19200 Baud an den Verwalter angebunden.<br />

Die erste Spalte ist der Zeitbedarf zum Versenden des 4 Byte großen Anforderungspakets. Anschließend wartet das<br />

Gerät bis Kommandos e<strong>in</strong>treffen. Diese Zeit ist <strong>in</strong> der zweiten Spalte dargestellt und entspricht der Verarbeitung des Auftrags<br />

und der Vorbereitung der Änderungen am Verwalter. Dabei wird festgelegt, was <strong>in</strong>stalliert werden muss, woh<strong>in</strong> es<br />

<strong>in</strong>stalliert werden soll und welche Verweise anzupassen s<strong>in</strong>d. Diese Zeit hängt hauptsächlich von der Leistungsfähigkeit<br />

des Verwalters ab. Die Messungen wurden auf e<strong>in</strong>em L<strong>in</strong>uxsystem mit 2 GHz Pentium M durchgeführt. Im Beispiel muss<br />

e<strong>in</strong>e Funktion und e<strong>in</strong> Datenmodul <strong>in</strong>stalliert und e<strong>in</strong> Verweis von der aufrufenden Funktion angepasst werden. In den<br />

nächsten beiden Spalten ist die Zeit dargestellt, die benötigt wird, um die Änderungen durchzuführen. Dabei s<strong>in</strong>d die<br />

Zeiten für das Übertragen und das Anwenden der Änderungen getrennt dargestellt ist. Zum Vergleich enthält die letzte<br />

Spalte die Zeit für e<strong>in</strong>en normalen Funktionsaufruf.<br />

Wie leicht zu erkennen ist, benötigt das Installieren e<strong>in</strong>er Funktion e<strong>in</strong> Vielfaches der Zeit e<strong>in</strong>es gewöhnlichen Funktionsaufrufs.<br />

Betrachtet man die Zeit genauer, so nimmt die Übertragung mit Abstand die meiste Zeit <strong>in</strong> Anspruch.<br />

Die anderen Operationen benötigen beim AVR-Mikrocontroller etwas mehr Zeit als beim H8/300. Dies liegt daran,<br />

dass hier zwei Adressräume (Programm- und Datenspeicher) verwaltet werden und dass der Code schließlich <strong>in</strong> den<br />

Flashspeicher geschrieben werden muss.<br />

Die Kommunikationsdauer wird durch verschiedene Parameter bee<strong>in</strong>flusst. Zunächst s<strong>in</strong>d die Eigenschaften<br />

der Kommunikationshardware zu nennen: Übertragungsrate und Latenz. Da diese Parameter<br />

jedoch nicht im E<strong>in</strong>flussbereich des Verwalters liegen, s<strong>in</strong>d stattdessen die Menge der zu übertragenden<br />

Daten und die Anzahl der Kommunikationsvorgänge für uns relevant. Im Allgeme<strong>in</strong>en gilt, je mehr<br />

und je öfter Daten übertragen werden, desto teurer ist die Operation.<br />

Neben der benötigten Zeit ist auch zu beachten, dass Kommunikation im Allgeme<strong>in</strong>en relativ viel<br />

Energie verbraucht 2 . Das spielt besonders bei kle<strong>in</strong>en batteriebetriebenen Geräten e<strong>in</strong>e Rolle. Neben<br />

der Möglichkeit die Kommunikationshardware abzuschalten, wenn sie nicht benötigt wird, gilt auch<br />

hier der Grundsatz, dass je weniger Daten zu übertragen s<strong>in</strong>d, desto weniger Energie aufgewendet<br />

werden muss.<br />

5.1.1.1 Kostenbe<strong>in</strong>flussende Faktoren bei dynamischer Umkonfiguration<br />

Die Anzahl der Übertragungen bei e<strong>in</strong>er dynamischen Veränderung der Konfiguration kann man durch<br />

die Wahl des Kommunikationsprotokolls bee<strong>in</strong>flussen. Im letzten Kapitel wurde die Schnittstelle zum<br />

Zugriff auf den verwalteten Knoten vorgestellt. Das dabei vorgestellte Protokoll überträgt e<strong>in</strong>zelne<br />

Veränderungen. Um die Anzahl der Kommunikationsvorgänge zu reduzieren, kann man, anstatt alle<br />

Änderungen e<strong>in</strong>zeln zu übertragen, e<strong>in</strong> Protokoll e<strong>in</strong>setzen, das alle Veränderungen <strong>in</strong> e<strong>in</strong>er Nachricht<br />

komb<strong>in</strong>iert. Dazu ist vorgesehen, e<strong>in</strong>e Umkonfiguration zunächst nur auf dem Speicherabbild<br />

am Verwalter durchzuführen. Anschließend können die Veränderungen durch e<strong>in</strong>en Vergleich des<br />

Speicherabbildes vor und nach der Umkonfiguration bestimmt werden. Die Unterschiede können<br />

2 In [SHC + 04] wurde die Stromaufnahme e<strong>in</strong>es Sensorknotens vom Typ Mica2 vermessen und e<strong>in</strong>zelnen Komponenten<br />

zugeordnet. Die Mica2 Knoten werden mit 3 V aus 2 Batterien (ca. 2200 mAh) versorgt und besitzen e<strong>in</strong>en CC1000<br />

Funkchip, der Daten mit bis zu 38400 kbps versenden und empfangen kann. Der Stromverbrauch zum Empfangen ist mit<br />

7,03 mA bestimmt worden, der Stromverbrauch zum Senden liegt zwischen 3,72 mA (bei -20 dBm) bis 21,48 mA (bei<br />

+10 dBm) je nach e<strong>in</strong>gestellter Übertragungsleistung. Im Vergleich dazu benötigt die CPU unter Last 8,0 mA und 3,2 mA<br />

im Ruhezustand.<br />

98

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!