Network Coding Stefan Dziwok Institut für Informatik

Slides:



Advertisements
Ähnliche Präsentationen
Fast Fourier Transformation
Advertisements

Randomisierte Algorithmen Präfix Suche und Konsistentes Hashing
Programmierung 1 - Repetitorium WS 2002/2003 Programmierung 1 - Repetitorium Andreas Augustin und Marc Wagner Homepage:
Mathematik hat Geschichte
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil3.
Claudio Moraga; Gisbert Dittrich
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
CPCP Institute of Clinical Pharmacology AGAH Annual Meeting, 29. Februar 2004, Berlin, Praktischer Umgang mit den Genehmigungsanträgen gemäß 12. AMG Novelle.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Manfred Thaller, Universität zu Köln Köln 22. Januar 2009
Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht Graphen. Manfred Thaller, Universität zu Köln Köln.
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken IX Christian Schindelhauer
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken X Christian Schindelhauer
Der Einstieg in das Programmieren
Scratch Der Einstieg in das Programmieren. Scatch: Entwicklungsumgebung Prof. Dr. Haftendorn, Leuphana Universität Lüneburg,
Algorithmentheorie 04 –Hashing
WS Algorithmentheorie 13 - Kürzeste (billigste) Wege Prof. Dr. Th. Ottmann.
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
© 2006 W. Oberschelp, G. Vossen Rechneraufbau & Rechnerstrukturen, Folie 2.1.
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil2.
Klausur „Diskrete Mathematik II“
Betreuerin: Kathleen Jerchel
AC Analyse.
Wir suchen ‘ mit m = m    ‘ c  ‘ mod 26
Zahlen geschickt addieren
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
§14 Basis und Dimension (14.1) Definition: V sei wieder ein K-Vektorraum. Eine Menge B von Vektoren aus V heißt Basis von V, wenn B ist Erzeugendensystem.
§14 Basis und Dimension  (14.1) Definition: V sei wieder ein K-Vektorraum. Eine Menge B von Vektoren aus V heißt Basis von V, wenn B ist Erzeugendensystem.
Rechneraufbau & Rechnerstrukturen, Folie 12.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 12.
1. 2 Schreibprojekt Zeitung 3 Überblick 1. Vorstellung ComputerLernWerkstatt 2. Schreibprojekt: Zeitung 2.1 Konzeption des Kurses 2.2 Projektverlauf.
Bild 1.1 Copyright © Alfred Mertins | Signaltheorie, 2. Auflage Vieweg+Teubner PLUS Zusatzmaterialien Vieweg+Teubner Verlag | Wiesbaden.
20:00.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung 1 SS 2001 Algorithmus von Dijkstra.
Effiziente Algorithmen
1 Fachtagung am Seniorenorientiertes Design und Marketing ThyssenKrupp Immobilien Design for all - Anpassungen im Wohnungsbestand 1.Demographie.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
für Weihnachten oder als Tischdekoration für das ganze Jahr
Vier/Fünf-Farben-Satz
Diskrete Mathematik II
Effiziente Algorithmen
Hartmut Klauck Universität Frankfurt SS
Christian Scheideler Institut für Informatik Universität Paderborn
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
So einfach kann das Leben sein ...
Analyse von Ablaufdiagrammen
PROCAM Score Alter (Jahre)
Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms II
Symmetrische Blockchiffren DES – der Data Encryption Standard
Managemententscheidungsunterstützungssysteme (Ausgewählte Methoden und Fallstudien) ( Die Thesen zur Vorlesung 3) Thema der Vorlesung Lösung der linearen.
PARTENARIAT ÉDUCATIF GRUNDTVIG PARTENARIAT ÉDUCATIF GRUNDTVIG REPERES KULTURELLER ZUSAMMENHALT UND AUSDEHNUNG DER IDEEN AUF EUROPÄISCHEM.
Großer Altersunterschied bei Paaren fällt nicht auf!
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Gebrauchsanweisung für ein glückliches Zusammenleben
Pigmentierte Läsionen der Haut
Gruppe: 31 Grundlagen wissenschaftlichen Arbeitens Algorithmen und Datenstrukturen Iris Studeny.
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
Analyse der Laufzeit von Algorithmen
Responsorium 14 Mathematik für alle
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken VIII Christian Schindelhauer
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Suche des kürzesten Weges in einem Netz.
Version vom Max-Flow in Orientierten Matroiden Winfried Hochstättler & Robert Nickel Fernuniversität in Hagen Lehrstuhl für Diskrete Mathematik.
 Präsentation transkript:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ü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

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

Network Coding Einführung Max-Durchsatz Network Coding Fazit

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

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

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

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

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

 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

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

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

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

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

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

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

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

Fazit Einführung Max-Durchsatz Network Coding Fazit

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

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

Interesse geweckt? Modul ESS: (Eingebettete Systeme und Systemsoftware)  Vorlesung: Rechnernetze bei Prof. Dr. Karl http://wwwcs.upb.de/cs/ag-karl/

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

Der Algorithmus am Beispiel (1)

Der Algorithmus am Beispiel (2)

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