Mit Datenaggregation und Sensorfusion
PD Stefan Bosse
Universität Bremen - FB Mathematik und Informatik
PD Stefan Bosse - DSN - Modul F - Algorithmen in DSN (Teil 1) -
Welche Algorithmen finden in DSN Anwendung?
Welche Besonderheiten existieren in DSN?
Wie wirkt sich Verteilte Berechung und Koordination auf Kommunikation aus?
PD Stefan Bosse - DSN - Modul F - Algorithmen in DSN (Teil 1) - Algorithmenklassen
Algorithmen in Verteilten Sensornetzwerken können unterschieden werden in folgende Klassen:
PD Stefan Bosse - DSN - Modul F - Algorithmen in DSN (Teil 1) - Lokaler vs. Globaler Zustand
In einem großen verteilten System kann kein Knoten jederzeit eine globale Ansicht des gesamten Systems haben. Stattdessen hat jeder Knoten nur eine lokale Ansicht des Systems und muss seine Entscheidungen auf diesen lokalen Informationen treffen.
Viele Aufgaben können vollständig lokal gelöst werden, zum Beispiel kann ein Knoten die niedrigste gemessene Temperatur in seiner Nachbarschaft ermitteln, indem er einfach mit seinen Nachbarn kommuniziert.
Viele andere Aufgaben sind von Natur aus global, zum Beispiel die Ermittlung der Mindesttemperatur im gesamten Sensornetzwerk. Um solche globalen Probleme zu lösen, müssen einige Informationen das gesamte Netzwerkdiagramm durchlaufen.
PD Stefan Bosse - DSN - Modul F - Algorithmen in DSN (Teil 1) - Lokaler vs. Globaler Zustand
Verteilte Sensornetzwerke unterscheiden sich von generischen verteilten Systemen wesentlich durch deren Eingabedaten die bereits verteilt sind (keine oder nur kurzreichweitige Kommunikation)! Einzig (reduzierte) Ausgabedaten müssen über eine größere Reichweite kommuniziert werden.
In einem großen System stören Fehler oder Rekonfigurationen nur einen kleinen Teil des Systems. Sie können aus globaler Sicht korrekt funktionieren, selbst wenn einige der Knoten ausfallen, fehlerhaftes Verhalten zeigen oder sogar absichtlich versucht wird, das System als Ganzes zu stören.
PD Stefan Bosse - DSN - Modul F - Algorithmen in DSN (Teil 1) - Lokaler vs. Globaler Zustand
PD Stefan Bosse - DSN - Modul F - Algorithmen in DSN (Teil 1) - Lokaler vs. Globaler Zustand
In einem k-lokalisierten Algorithmus darf jeder Knoten mit einem gegebenen konstanten Wert k höchstens k Mal mit seinen Nachbarn kommunizieren (Upper Boundary Limit).
Ein Knoten kann jedoch seine Kommunikation verzögern; Beispielsweise kann ein Knoten warten, um Nachrichten zu senden, bis alle seine Nachbarn mit größeren Bezeichnern einen bestimmten Ausführungszustand erreicht haben.
PD Stefan Bosse - DSN - Modul F - Algorithmen in DSN (Teil 1) - Lokaler vs. Globaler Zustand
Lokalisierte Algorithmen können vorteilhaft sein, wenn sie nur eine kleine Anzahl von Nachrichten benötigen.
Lokalisierte Algorithmen können aber auch langsam sein: Ein Knoten u muss möglicherweise warten, bis ein Nachbar v alle seine Nachrichten sendet, während Knoten v wiederum auf seinen Nachbarn w warten muss und so weiter.
Lokalisierte Algorithmen haben synchronen Nachrichtenaustausch
PD Stefan Bosse - DSN - Modul F - Algorithmen in DSN (Teil 1) - Lokaler vs. Globaler Zustand
Die effizientesten lokalen Algorithmen sind oft randomisiert, d.h. die Anzahl der Runden k kann variieren.
PD Stefan Bosse - DSN - Modul F - Algorithmen in DSN (Teil 1) - Lokaler vs. Globaler Zustand
Koordination von Aufgaben
Datenverteilung (Nachbarschaft, global)
Datenzusammenführung (Nachbarschaft, global)
Daten- und Sensorauswahl (Gruppierung, Netzwerkbildung)
Wettbewerb auflösen (Scheduling und Mutualer Ausschluss)
Planung von Messaufgaben
PD Stefan Bosse - DSN - Modul F - Algorithmen in DSN (Teil 1) - Verteilter Brechnungsgraph
Ein verteiltes System wird als Graph G = (V, E) modelliert, dessen Knotensatz V (mit n :=|V|) die Recheneinheiten sind und dessen Kantensatz E definieren, welche Knoten direkt miteinander kommunizieren dürfen.
Man konzentriert sich typischerweise auf die Lokalität eines Problems, d.h. auf die maximale (Hop-) Entfernung, von der Knoten Informationen als Funktion der Anzahl der Knoten n erhalten müssen.
Die Berechnung wird i.A. in Runden iterativ durchgeführt, wobei in jeder Runde alle Knoten gleichzeitig Nachrichten austauschen.
PD Stefan Bosse - DSN - Modul F - Algorithmen in DSN (Teil 1) - Verteilter Brechnungsgraph
Each node v performs the following actions concurrently with all other nodes: repeat send (possibly different) messages to neighbours receive neighbours’ messages perform some local computations to prepare for the next rounduntil termination;
Grundgerüst eines verteilten Algorithmus mit lokalen Daten
Die von einem Knoten verbrauchte Energie wird durch die Summe über alle seine Übertragungen berechnet. Somit hat die Energie, die zum Senden einer Nachricht benötigt wird, die Form c·dα, wobei d der Abstand zwischen Sender und Empfänger ist, α der Pfadverlustexponent (normalerweise α> 2) ist und c eine Konstante ist.
PD Stefan Bosse - DSN - Modul F - Algorithmen in DSN (Teil 1) - Netzwerkpartitionierung und Gruppen
Häufiges Problem in dynamischen ad-hoc und mobilen Sensornetzwerken ist Gruppenbildung der Sesnorknoten unter Randbedingungen
PD Stefan Bosse - DSN - Modul F - Algorithmen in DSN (Teil 1) - Netzwerkpartitionierung und Gruppen
Zum Beispiel ist für eine Sensorfusion immer ein Tripel aus räumlich verteilten Sensoren (T,H,V) erforderlich (T: Temperatur, H: Luffeichtigkeit, V: Luftbewegung)
yaroslavvb.blogspot.com/2011/03/linear-programming-for-maximum.html Beispiele für Netzwerkkonfigurationen
PD Stefan Bosse - DSN - Modul F - Algorithmen in DSN (Teil 1) - Netzwerkpartitionierung und Gruppen
Betrachten wir einen einfachen verbundenen ungerichteten Graphen G = (V, E), wobei V eine Menge von Knoten und E eine Menge von Kanten ist. Für jeden Prozess p und q definieren wir ||p, q||, den Abstand von p nach q, als die Länge des kürzesten Pfades in G von p nach q.
Bei einer nicht negativen ganzen Zahl k ist eine Teilmenge von Prozessen D eine k-dominierende Menge von G, wenn jeder Prozess, der nicht in D ist, höchstens k von einem Prozess in D entfernt ist (Begrenzung der Kommunikation in Sensornetzwerken).
PD Stefan Bosse - DSN - Modul F - Algorithmen in DSN (Teil 1) - Netzwerkpartitionierung und Gruppen
Beispiel für ein minimales 1-dominierendes Netzwerk
PD Stefan Bosse - DSN - Modul F - Algorithmen in DSN (Teil 1) - Netzwerkpartitionierung und Gruppen
Die Berechnung einer dominanten Menge (DS) ist eine grundlegende Operation in Sensornetzwerken. Eine solche Menge kann beispielsweise zum Erstellen von Knotenclustern verwendet werden.
Darüber hinaus kann es als Grundlage für den Aufbau von Backbone-Netzwerken dienen, die typischerweise ein verbundenes DS bilden.
PD Stefan Bosse - DSN - Modul F - Algorithmen in DSN (Teil 1) - Netzwerkpartitionierung und Gruppen
9 MIS: Partitionierung eines Netzwerkgraphen in unabhängige Knotenmengen (mit 3er Färbung)
PD Stefan Bosse - DSN - Modul F - Algorithmen in DSN (Teil 1) - Netzwerkpartitionierung und Gruppen
7 MDS: Eine Minimum dominierende Menge mit zwei Dominatoren
PD Stefan Bosse - DSN - Modul F - Algorithmen in DSN (Teil 1) - Netzwerkpartitionierung und Gruppen
Ein einfacher Ansatz ist der folgende:
PD Stefan Bosse - DSN - Modul F - Algorithmen in DSN (Teil 1) - Netzwerkpartitionierung und Gruppen
7 Globaler und "gieriger" MDS Algorithmus
Verteilter Globaler MDS: Jeder Sensorknoten sendet seine eigene Kennung plus die Kennungen aller seiner Nachbarn an alle anderen Knoten im Netzwerk. Daher erhält jeder Knoten ein Bild des gesamten Konnektivitätsdiagramms. Dann berechnet der Knoten mit dem größten Bezeichner das MDS unter Verwendung des globalen Algorithmus
Dieser Algorithmus ist tatsächlich verteilt und liefert kleine dominierende Mengen: Die Größe der Mengen ist wiederum asymptotisch optimal. Aufgrund des Versendung von Broadcastnachrichten ist die Nachrichtenkomplexität sehr groß. Darüber hinaus skaliert der Algorithmus nicht auf eine große Anzahl von Sensorknoten.
PD Stefan Bosse - DSN - Modul F - Algorithmen in DSN (Teil 1) - Netzwerkpartitionierung und Gruppen
Knoten in einem k-lokalen Algorithmus können nur Informationen über Knoten in ihrer k-Nachbarschaft sammeln
Bei einigen lokalen Algorithmen kann eine beliebig kleine Konstante k gewählt werden (auf Kosten eines geringeren Nachbarschaftsverhältnisses)
Lokale Algorithmen eignen sich daher besonders für Szenarien, in denen sich die Umgebung der Knoten häufig ändert, da sie sich ständig an die neuen Gegebenheiten anpassen können.
Lokaler Algorithmus: Eine dominierende Menge kann auch mit einem lokalen Algorithmus berechnet werden: Jeder Knoten u fragt seine Nachbarn mit höherer Priorität/ID (in Bezug auf Knotengrad und Bezeichner) nach ihren Nachbarn. Wenn diese Nachbarn mit höherer Priorität verbunden sind und alle Nachbarn von u abdecken, tritt u nicht der dominierenden Menge bei und wird andernfalls zu einem Dominator.
PD Stefan Bosse - DSN - Modul F - Algorithmen in DSN (Teil 1) - Netzwerkpartitionierung und Gruppen
Lokalisierter Algorithmus: Jeder Knoten v wartet, bis alle seine Nachbarn, die einen größeren Grad (oder im Falle desselben Grades eine größere Kennung) als v haben, entschieden haben, ob sie der dominierenden Menge beitreten sollen oder nicht. Wenn einer dieser Knoten ein Dominator ist, entscheidet v, sich nicht der dominierenden Menge anzuschließen. Andernfalls wird v zum Dominator. Daher muss jeder Knoten höchstens zweimal mit seinen Nachbarn kommunizieren: einmal, um ihren Grad herauszufinden und einmal, um ihnen von seiner Entscheidung mitzuteilen.
7 Verteilter und Lokalisierter MDS Algorithmus
PD Stefan Bosse - DSN - Modul F - Algorithmen in DSN (Teil 1) - Netzwerkpartitionierung und Gruppen
Illustration des Local Dominating Set Algorithmus: Da alle Knoten mit größeren IDs miteinander verbunden sind und alle anderen Nachbarn von Knoten 5 abdecken, tritt Knoten 5 der dominierenden Menge nicht bei — unabhängig von den Entscheidungen
PD Stefan Bosse - DSN - Modul F - Algorithmen in DSN (Teil 1) - Netzwerkpartitionierung und Gruppen
Gegeben ein Graph G = (V, E), eine unabhängige Menge ist eine Teilmenge S ⊆ V von Knoten, so dass keine zwei benachbarten Knoten in S, d.h., für jede Kante {v, w} ∈ E, gilt dass v ∉ S und w ∉ S. Ein maximales S ist eine unabhängige Menge wenn dir Ausschlussbedingung gilt: S ∪ {v} ist nicht unabhängig für jedes v ∈ V \ S. Maximale unabhängige Knotenmenge
PD Stefan Bosse - DSN - Modul F - Algorithmen in DSN (Teil 1) - Netzwerkpartitionierung und Gruppen
Das MIS ist ein grundlegendes Symmetrieproblem, das für einen zentralisierten Algorithmus trivial ist.
Beginnend mit S : = ∅ geht man einfach nacheinander über die Knoten und fügt einen beliebigen Knoten ohne Nachbarn in S zu S.
PD Stefan Bosse - DSN - Modul F - Algorithmen in DSN (Teil 1) - Netzwerkpartitionierung und Gruppen
PD Stefan Bosse - DSN - Modul F - Algorithmen in DSN (Teil 1) - Netzwerkpartitionierung und Gruppen
9 Naiver MIS Algorithmus
PD Stefan Bosse - DSN - Modul F - Algorithmen in DSN (Teil 1) - Netzwerkpartitionierung und Gruppen
Bei der Ausführung von dem naiven MIS Algorithmus tritt jeder noch aktive Knoten mit einer lokal maximalen Kennung in der nächsten Runde der unabhängigen Menge bei.
Für die Knoten ist sichergestellt dass sie terminieren und dann mindestens einen Nachbarn in der unabhängigen Menge haben, d.h. sie können nicht Teil einer unabhängigen Menge sein, die bereits verbundene Knoten enthält.
Die Laufzeit dieses Algorithmus wird durch den längsten Pfad von Knoten mit absteigender Kennung angegeben. Dieser ist höchstens D+1, wobei D den Durchmesser des Graphen bezeichnet, d.h. die maximale Länge eines kürzesten Pfades zwischen einem beliebigen Knotenpaar.
PD Stefan Bosse - DSN - Modul F - Algorithmen in DSN (Teil 1) - Netzwerkpartitionierung und Gruppen
Lokalisierte Algorithmen können hohe Ausführungszeiten besitzen, gerade bei Kettentopologien die nicht geschlossen sind
PD Stefan Bosse - DSN - Modul F - Algorithmen in DSN (Teil 1) - Netzwerkpartitionierung und Gruppen
D kann groß sein — ein einfaches Netzwerk ist das Liniennetzwerk (auch als verknüpfte Liste oder Kette bezeichnet), das bereits den Durchmesser n − 1 hat! Im schlechtesten Fall nicht besser als eine sequentielle Lösung — ein einfaches lokal definierbares Problem wie das Finden eines MIS sollte eine Lösung ohne eine globale Kausalitätskette haben.
PD Stefan Bosse - DSN - Modul F - Algorithmen in DSN (Teil 1) - Netzwerkpartitionierung und Gruppen
Kausalitäten sind Abhängigkeiten und Führen Synchronisation mit Blockierung ein, d.h. nicht alle Knoten rechnen.
Verteilte Algorithmen für Sensornetzwerke werden üblicherweise hinsichtlich ihrer zeitlichen Ausführungskomplexität, ihrer räumlichen Komplexität und ihrer Nachrichtenkomplexität bewertet.
Dies macht lokale Algorithmen besonders geeignet für Szenarien, in denen sich die Umgebung der Knoten häufig ändert, da sie sich ständig an die neuen Umstände anpassen können.
PD Stefan Bosse - DSN - Modul F - Algorithmen in DSN (Teil 1) - Netzwerkpartitionierung und Gruppen
Laufzeitverbesserung durch Randomisierung und Zulassung von Kollisionen (also fehlerhaften Verhalten). Beispiel ist auch Random Walk um einen Pfad A-B in einem Netzwerk durch zufällige Knotenauswahl in der Nachbarschaft zu erzeilen.
Randomisierte Algorithmen terminieren prinzipiell immer. Und der mittlerer Fall ist meistens besser als bei deterministischen Algortihmen.
Ansatz: Die Identifikationsnummern werden jetzt randomisiert ausgewählt
Wenn die Zufallszahlen eine logarithmische Größe haben, ist die Wahrscheinlichkeit, dass zwei Zahlen gleich sind, vernachlässigbar. Es kann gezeigt werden, dass in jeder Iteration die erwartete Anzahl von Kanten neben Abschlussknoten ein konstanter Bruchteil der Gesamtzahl der verbleibenden Kanten ist.
PD Stefan Bosse - DSN - Modul F - Algorithmen in DSN (Teil 1) - Netzwerkpartitionierung und Gruppen
9 Randomisierter "best hope" MIS Algorithmus
PD Stefan Bosse - DSN - Modul F - Algorithmen in DSN (Teil 1) - Einfärbung (Colouring)
Bei einem Graphen G = (V, E) ist eine k-Färbung von G eine Funktion c : V → {1,.., k}, so dass für jede Farbe i ∈ {1,..,k} die Menge c-1(i) unabhängig ist. D.h. zwei benachbarte Knoten v und w haben nicht die gleiche Farbe, d.h. c(v) ≠ c(w). Färbungsproblem
Dies ist in Sensornetzwerken von großem Interesse, da es möglich ist, einen Zeitplan einzurichten, in dem alle Knoten einmal übertragen können, ohne Konflikte zu verursachen.
Es ist schwierig, die Mindestanzahl von Farben zu bestimmen, die zum Einfärben eines Graphen erforderlich sind: Es ist NP-hartes Problem!
PD Stefan Bosse - DSN - Modul F - Algorithmen in DSN (Teil 1) - Einfärbung (Colouring)
9 Einfärbung von Netzwerkknoten innerhalb einer Ringanordnung
PD Stefan Bosse - DSN - Modul F - Algorithmen in DSN (Teil 1) - Laufzeit und Kosten
Lokalisierte (nicht unbedingt lokale) verteilte Algorithmen zeigen geringe Kommunikationskomplexität, aber können eine große Laufzeit durch Nachrichtenvermittlung haben, gerade bei Ringstrukturen!
Lokalisierter Algorithmus in einer Ring Struktur (z.B. vorheriger Färbungsalgorithmus) → Lange Laufzeiten!
PD Stefan Bosse - DSN - Modul F - Algorithmen in DSN (Teil 1) - Laufzeit und Kosten
Es ist zu beachten, dass lokale Algorithmen aufgrund der synchronen Phasen möglicherweise höhere Anforderungen an die Netzwerkschicht (Medium Access Layer) stellen als lokalisierte Algorithmen.
PD Stefan Bosse - DSN - Modul F - Algorithmen in DSN (Teil 1) - Knotenidentifikation
Verteilte Algorithmen benötigen häufig unterscheidbare Knoten. Gibt es diese nicht können i.A. nur statistische Verfahren eingesetzt werden.
PD Stefan Bosse - DSN - Modul F - Algorithmen in DSN (Teil 1) - Knotenidentifikation
Bestimmte Aufgaben können von keinem verteilten Algorithmus gelöst werden, wenn keine Bezeichner vorhanden sind, da Symmetrien zwischen den Knoten nicht durchbrochen werden kann.
Ähnlich wie bei der Knotenverteilung im Raum sind die gebräuchlichsten Modelle für ID-Verteilungen Zufallsverteilungen und Worst-Case-Verteilungen.
Manchmal kommt es auch darauf an, aus welchem Bereich die Bezeichner ausgewählt werden. Auch hier sind viele Variationen möglich. Beispielsweise kann jeder der n Knoten eine eindeutige 128-Bit-Kennung haben (Bereich 0,.., 2128−1). In einem restriktiveren Fall können die Knoten aufeinanderfolgende Nummern haben (z.B. Bereich 1,.., n).
PD Stefan Bosse - DSN - Modul F - Algorithmen in DSN (Teil 1) - Knotenidentifikation
Alternativ oder zusätzlich können Knoten IDs Standortinformationen enthalten - zum Beispiel, wenn die Knoten mit einem Global Positioning System (GPS) oder einem Galileo-Satellitenempfänger Gerät ausgestattet sind. Standortinformationen können die Leistung bestimmter Vorgänge steigern: Beispielsweise kann ein Routing-Algorithmus geografische Informationen nutzen, um die Nachricht an einen Nachbarn weiterzuleiten, der in Richtung des Ziels der Nachricht liegt (Greedy Routing).
PD Stefan Bosse - DSN - Modul F - Algorithmen in DSN (Teil 1) - Zusammenfassung
Verteilte Algorithmen in Sensornetzwerken können global, lokalisiert, und lokal ausgeführt werden
Verteilte Algorithmen benutzen Nachrichten über uni- oder bidirektionale Kanäle
Verteilte Algorithmen dienen der Koordination und Kooperation, Konsensfindung, Auflösung von Wettbewerbskonflikten, und der Netzwerk- und Gruppenbildung (Graphenalgorithmen)
Wichtige Algorithmen: MIS/MDS/Colouring
Viele Algorithmen nehmen an: