Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Ebner Helmbrecht Geändert vor über 10 Jahren
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
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.