Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Stefan Dziwok Institut für Informatik FG Rechnernetze Universität Paderborn Network Coding.

Ähnliche Präsentationen


Präsentation zum Thema: "Stefan Dziwok Institut für Informatik FG Rechnernetze Universität Paderborn Network Coding."—  Präsentation transkript:

1 Stefan Dziwok Institut für Informatik FG Rechnernetze Universität Paderborn Network Coding

2 2 1.Einführung 2.Maximaler Durchsatz 3.Network Coding 4.Fazit und weitere Forschung Gliederung

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

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

5 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 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 7 Multicasting –Gleichzeitiges Senden eines Bits von der Quelle S zu n Senken T Redundanz –Hier: Spezialfall n = alle Senken Bit_1 Bit_1Bit_1 Einführung Max-Durchsatz Network Coding Fazit

8 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 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 Einführung Max-Durchsatz Network Coding Fazit Bit_1Bit_2 Bit_1 Bit_2 Bit_1 Bit_2

10 10 Informationsfluss (Flow) Teilmenge aller Kanten: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 11 Informationsfluss F (Flow) Die Anzahl gleichzeitig versendbarer Bits B ist abhängig von der genutzten Kantenkapazitäten F=B Max-Flow:Max-Flow: Maximiere die Anzahl der genutzten Kantenkapazitäten! Einführung Max-Durchsatz Network Coding Fazit

12 12 Senderaten Pro Kante:Pro Kante: –Kapazität K Pro Netz:Pro Netz: –Durchsatz D –(Informationsfluss F) Annahme: –Keine Verzögerungen K1 K3K4 K6 K5K7 K8K9 K2 D Einführung Max-Durchsatz Network Coding Fazit

13 13 Problem: Senden kostet Zeit, weil Netz durch K beschränktZiel: Möglichst viele Dateneinheiten (Bits) pro Zeiteinheit empfangen ( D maximieren) Problembeschreibung K1 K3K4 K6 K5K7 K8K9 K2 D Einführung Max-Durchsatz Network Coding Fazit

14 14 –Trivial: 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? Lösungsansätze Einführung Max-Durchsatz Network Coding Fazit

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

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

17 17 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 Eigenschaften unserer Knoten Einführung Max-Durchsatz Network Coding Fazit

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

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

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

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

22 22 Überlegungen Vorhandenes Netz um rote Elemente erweitert Intuition: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 23 –Flow: 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 Zusammenfassung Einführung Max-Durchsatz Network Coding Fazit

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

25 25 –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 Ziele des Kapitels Einführung Max-Durchsatz Network Coding Fazit

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

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

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

29 29 –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 Network Coding Einführung Max-Durchsatz Network Coding Fazit

30 30 Durchsatz D steigt um ein Drittel ! 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 Einführung Max-Durchsatz Network Coding Fazit

31 31 –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 Zwischenstand Einführung Max-Durchsatz Network Coding Fazit

32 32 Zweck: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 Vorbesprechung zum Algorithmus (1) Einführung Max-Durchsatz Network Coding Fazit

33 33 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 b i 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) Vorbesprechung zum Algorithmus (2) Einführung Max-Durchsatz Network Coding Fazit

34 34 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 Notationen zum Algorithmus Einführung Max-Durchsatz Network Coding Fazit

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

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

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

38 Fazit

39 39 –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 Fortführende komplexere Themen Einführung Max-Durchsatz Network Coding Fazit

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

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

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

43 43 Der Algorithmus am Beispiel (1)

44 44 Der Algorithmus am Beispiel (2)

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


Herunterladen ppt "Stefan Dziwok Institut für Informatik FG Rechnernetze Universität Paderborn Network Coding."

Ähnliche Präsentationen


Google-Anzeigen