Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Network Coding Stefan Dziwok Institut für Informatik

Ähnliche Präsentationen


Präsentation zum Thema: "Network Coding Stefan Dziwok Institut für Informatik"—  Präsentation transkript:

1 Network Coding Stefan Dziwok (xell@upb.de) Institut für Informatik
FG Rechnernetze Universität Paderborn

2 Gliederung Einführung Maximaler Durchsatz Network Coding
Fazit und weitere Forschung

3 Einführung Einführung Max-Durchsatz Network Coding Fazit

4 Ziele des Kapitels Umgebung des Themas festlegen
Definitionen kennen lernen und verstehen Beschreibung des Problems Lösungsansätze besprechen Einführung Max-Durchsatz Network Coding Fazit

5 Die Umgebung Netz von Computern Verbunden über Leitungen
Funktion: Daten senden von grünem PC zu den gelben PCs Einführung Max-Durchsatz Network Coding Fazit

6 Abstrahierung der Umgebung
Netz von Knoten Verbunden über Kanten Funktion: Daten senden von Quelle S nach mehreren Senken T Der Butterfly Einführung Max-Durchsatz Network Coding Fazit

7 Multicasting Bit_1 Gleichzeitiges Senden eines Bits von der Quelle S zu n Senken T  Redundanz Hier: Spezialfall n = alle Senken Bit_1 Bit_1 Einführung Max-Durchsatz Network Coding Fazit

8 Kapazität K Maximale Anzahl der versendbaren Bits je Kante je Zeiteinheit (z.B.: Bit/s) Hier: Spezialfall Alle Kanten haben K = 1 Bit / Zeiteinheit Einführung Max-Durchsatz Network Coding Fazit

9 Durchsatz D Anzahl der gesendeten Bits je Zeiteinheit (z.B.: Bits/s)
D bestimmt wieviele unterschiedliche Bits von S gesendet werden können, die auch alle bei jedem T ankommen Bit_1 Bit_1 Bit_2 Bit_2 Einführung Max-Durchsatz Network Coding Fazit

10 Informationsfluss (Flow)
Teilmenge aller Kanten: von Quelle zur Senke azyklisch Annahme: K=1 Für S und T1, T2: # eingehende Kanten von T = # ausgehende Kanten von S Für die anderen Knoten: # eingehende Kanten = # ausgehende Kanten Einführung Max-Durchsatz Network Coding Fazit

11 Informationsfluss F (Flow)
Die Anzahl gleichzeitig versendbarer Bits B ist abhängig von der genutzten Kantenkapazitäten  F=B Max-Flow: Maximiere die Anzahl der genutzten Kantenkapazitäten! Einführung Max-Durchsatz Network Coding Fazit

12 D Senderaten Pro Kante: Pro Netz: Annahme: Kapazität K Durchsatz D
(Informationsfluss F) Annahme: Keine Verzögerungen D K1 K2 K3 K4 K5 K6 K7 K8 K9 Einführung Max-Durchsatz Network Coding Fazit

13 D Problembeschreibung Problem: Ziel: Senden kostet Zeit, weil
Netz durch K beschränkt Ziel: Möglichst viele Dateneinheiten (Bits) pro Zeiteinheit empfangen ( D maximieren) K1 K2 K3 K4 K5 K6 K7 K8 K9 Einführung Max-Durchsatz Network Coding Fazit

14 Lösungsansätze Trivial: Idee von Network Coding (NC): Fragen:
Mehr Kanten Schnellere Kanten (Kapazitäten erhöhen) Idee von Network Coding (NC): Kombinierung und Trennung von redundanten Bits in den Knoten Codierung der zu kombinierenden Bits abhängig von Netzstruktur Fragen: Was ist der maximale Durchsatz ohne NC? Wie werden Bits kombiniert und getrennt und welche Rolle spielt dabei die Redundanz? Gibt es ein Standardvorgehen? Einführung Max-Durchsatz Network Coding Fazit

15 Den maximalen Durchsatz bestimmen
Einführung Max-Durchsatz Network Coding Fazit

16 Beispielnetzwerk des Kapitels
Notation für Kantenbeschriftung: Zahl K  K=Kapazität Zahlen F|K  F=Kapazitätsnutzung des Flow  K=Kapazität Einführung Max-Durchsatz Network Coding Fazit

17 Eigenschaften unserer Knoten
a) mehrere ausgehende Kanten In jede Kante kann ein anderes Bit geschickt werden b) mehrere eingehende Kanten von jeder Kante kann ein anderes Bit hereinkommen Einführung Max-Durchsatz Network Coding Fazit

18 Max-Flow des Netzwerkes
Maximaler Durchsatz Max-Flow  F = 1 Max-Flow  F = 1 Max-Flow des Netzwerkes  Max. D = 1 Einführung Max-Durchsatz Network Coding Fazit

19 Bit-Darstellung beide Max-Flows: F = 1  Multicasting von 1 Bit an jede Senke möglich (D=1) Einführung Max-Durchsatz Network Coding Fazit

20 Informationserhalt (1)
Für alle Knoten außer S,T gilt für genutzte Kanten:  ankommender Kanten-Kapazitäten =  ausgehender Kanten-Kapazitäten Einführung Max-Durchsatz Network Coding Fazit

21 Informationserhalt (2)
Für S,T gilt für genutzten Kanten:  ausgehender Kanten-Kapazitäten von S =  ankommender Kante-Kapazitäten von T Einführung Max-Durchsatz Network Coding Fazit

22 Überlegungen Vorhandenes Netz um rote Elemente erweitert
Intuition: zusätzliche Kanten  Max-Flows steigen  Durchsatz steigt Jedoch keine Veränderung erreichbar aufgrund des Engpasses Intuition stimmt dennoch! … aber nur durch neue Fähigkeiten der Knoten. Einführung Max-Durchsatz Network Coding Fazit

23 Zusammenfassung Flow: Max-Flow: Max. Durchsatz:
azyklische Verbindung über Kanten von einer Quelle zu einer Senke Max-Flow: Flow mit der maximalen Kantenzahl Anzahl Max-Flows = Anzahl Senken Max. Durchsatz: Der kleinste Max-Flow im Netzwerk bestimmt den max. Durchsatz Einführung Max-Durchsatz Network Coding Fazit

24 Network Coding Einführung Max-Durchsatz Network Coding Fazit

25 Ziele des Kapitels Konflikte und Probleme am Beispiel des Butterfly erkennen Network Coding als Lösung kennen lernen Informationsfluss und Durchsatz betrachten Präsentation eines Algorithmus zur Nutzung von NC Einführung Max-Durchsatz Network Coding Fazit

26 Hausaufgabe Wie groß ist Durchsatz ohne NC?
Wie könnte NC funktionieren, damit der Durchsatz erhöht wird? Einführung Max-Durchsatz Network Coding Fazit

27 Butterfly ohne NC (1) Betrachtung von nur einem Durchlauf:
beide Flows sind Max-Flows mit F=1  D=1 Einführung Max-Durchsatz Network Coding Fazit

28 Wie können wir den Durchsatz D weiter steigern?
Butterfly ohne NC (2) 2 Durchläufe: max. D=1.5 durch abwechselnde Nutzung des Engpasses Wie können wir den Durchsatz D weiter steigern? Einführung Max-Durchsatz Network Coding Fazit

29 Network Coding Ansatz: Funktionalität von Knoten erhöhen
Bisher: Nur Weiterleiten und Duplizieren von Bits möglich Neu: Bits mathematisch durch Operationen wie z.B. „xor“ kombinieren als zusätzliche Möglichkeit  Codierung im Netzwerk Aufteilung der Knotenmenge: Teilmenge mit Standardfunktionen Teilmenge mit Std.funktionen und Codierfähigkeiten Einführung Max-Durchsatz Network Coding Fazit

30  Durchsatz D steigt um ein Drittel !
Butterfly mit NC C,T1 und T2 haben die Fähigkeit zum Codieren beide Flows sind Max-Flows mit F=2  D=2  Durchsatz D steigt um ein Drittel ! Einführung Max-Durchsatz Network Coding Fazit

31 Zwischenstand Beispielnetzwerk kennen gelernt, dessen Kantenkapazitäten nicht maximal genutzt werden können mit normalen Mitteln Problem: Engpässe NC geschieht durch Verknüpfung von Bits mit einfachen math. Operatoren Dadurch: Steigerung von Informationsfluss und Durchsatz Einführung Max-Durchsatz Network Coding Fazit

32 Vorbesprechung zum Algorithmus (1)
Zweck: Finde geeignete Codiervorschriften für jeden Kante im Netzwerk Bitdarstellung  Vektordarstellung d.h. welche Bits durch eine Kante verschickt werden wird in einem Vektor festgehalten Jede Dimension des Vektors steht für ein unterschiedliches Bit Jede Dimension des Vektors ist modulo 2  nur 0 oder 1 mehrere Bits schicken  Codierung nötig Bsp.: (1,1,0)  Bit 1 und Bit 2 worden durch ein xor verbunden, Bit 3 nicht Einführung Max-Durchsatz Network Coding Fazit

33 Vorbesprechung zum Algorithmus (2)
Unterschiedliche Vektoren für einzelne Bits nötig Basisvektoren: Menge von Vektoren aus deren Linearkombination (LK) alle anderen darstellbar sind minimale Anzahl gesucht  spezifizieren kanonische Einheitsbasis: Im endlich dimensionalen Vektorraum der natürlichen Zahlen Norm bzw. „Länge“ dieser ist 1 Bit bi hat Einheitsbasis mit Wert 1 an Stelle i z.B.: im 3-dimensionalen Raum (0,0,1) (0,1,0) und (1,0,0) Endlicher d-dimensionalen Raum (d = angenommener Durchsatz) Einführung Max-Durchsatz Network Coding Fazit

34 Notationen zum Algorithmus
X: der Knoten X XY: die Kante von X nach Y V(XY): der Vektor der Kante XY VR(X): der Vektorraum des Knoten X Einführung Max-Durchsatz Network Coding Fazit

35 Der Algorithmus (1) XY X XjY V(XY) = Nullvektor
Xj ist aktueller Knoten XjY ist aktuelle ausgehende Kante Wähle einen Vektor V aus VR(Xj):Fallunterscheidung (wird noch detailliert) X XjY V(XjY) = V; VR(Xj+1) := Raum aller Vektoren deren ausgehende Kanten in Xj+1 münden Einführung Max-Durchsatz Network Coding Fazit

36 Der Algorithmus (2) Fall 1: Xj ist Quelle  möglichst alle kanonischen Einheitsbasen verteilen und ggf. LK aus ihnen Fall 2: Xj ist Senke Senke muss alle Einheitsbasen bekommen bzw. sie herleiten können aus codierten Vektoren  Testen mit Vektoren aus VR(Xj) Einführung Max-Durchsatz Network Coding Fazit

37 Der Algorithmus (3) Fall 3: nur eine eingehende Kante WXj nach Xj  simples weiterleiten Fall 4: mehrere eingehende Kanten nach Xj und eine oder mehrere ausgehende Kanten  neue LK bilden alle vorhandene Vektoren verknüpfen, z.B.: (1,1,1) Telmengen der vorhandenen Vektoren verknüpfen, z.B.: (1,1,0) Simples weiterleiten der ankommenden Vektoren Einführung Max-Durchsatz Network Coding Fazit

38 Fazit Einführung Max-Durchsatz Network Coding Fazit

39 Fortführende komplexere Themen
Mehrere Quellen Jede Quelle schickt Informationen, die unabhängig von den anderen Informationen ist Unterschiede im Multicasting Alle Quellen multicasten an alle Senken (Broadcasting) Quellen multicasten nur an Teilmengen von Senken Zyklische Netzwerke Fehlerhafte Datenübertragung & Verzögerungen z.B.: Funkübertragung Einführung Max-Durchsatz Network Coding Fazit

40 Fazit Problem: Ziel: Lösung: Senden von Informationen kostet Zeit.
Durchsatz erhöhen Lösung: Ausnutzen der Redundanz in einem Multicast-Netz durch Network Coding Einführung Max-Durchsatz Network Coding Fazit

41 Interesse geweckt? Modul ESS: (Eingebettete Systeme und Systemsoftware)  Vorlesung: Rechnernetze bei Prof. Dr. Karl

42 Vielen Dank für eure Aufmerksamkeit.
Gibt es Fragen ?

43 Der Algorithmus am Beispiel (1)

44 Der Algorithmus am Beispiel (2)

45 Der Algorithmus Für alle Kanäle XY
V(XY) = Nullvektor; // Initialisierung Für j = 0 <= n , n++ //n: Knotenanzahl { Anordnung aller ausgehenden Kanäle XjY von Xj in beliebiger Folge; Nehme nacheinander einen Kanal XjY von Xj { Wähle einen Vektor V im Raum VR(Xj): Fallunterscheidung (wird noch detailliert) V(XjY) = v; } VM(Xj+1) := Menge aller Vektoren deren Kanäle in Xj+1 münden


Herunterladen ppt "Network Coding Stefan Dziwok Institut für Informatik"

Ähnliche Präsentationen


Google-Anzeigen