Parallelität und Kommunikation

Ähnliche Dokumente
12. Hashing. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete.

Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)).

Informatik II, SS 2014

Es sei a 2 und b 2a 1. Definition Ein (a, b)-baum ist ein Baum mit folgenden Eigenschaften:

Klausur Paralleles Rechnen (Richtwert 60 min) 10. Dez. 2015

Randomisierte Algorithmen 2. Erste Beispiele

6. Parallele Algorithmen

Organic Computing: Peer-to-Peer-Netzwerke

Definition. Gnutella. Gnutella. Kriterien für P2P-Netzwerke. Gnutella = +

Vorlesung Sicherheit

4.4.1 Statisches perfektes Hashing. des Bildbereichs {0, 1,..., n 1} der Hashfunktionen und S U, S = m n, eine Menge von Schlüsseln.

Vorlesung "Verteilte Systeme" Sommersemester Verteilte Systeme. Adreßraum. Rechner. Verteilte Systeme, Sommersemester 1999 Folie 19.

a) Bei einer Typ-1-Simulation (Einbettung) wird jeder Prozessor von M durch genau einen

Transaktionen. Michael Löwe 04/15/16. FHDW Hannover, Freundallee 15, Hannover address:

Abgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g:

7. Sortieren Lernziele. 7. Sortieren

Das Zweikinderproblem

IP routing und traceroute

Eigenwerte, Diagonalisierbarkeit, charakteristisches Polynom

WS 2016/17 Diskrete Strukturen Kapitel 3: Kombinatorik (1)

Bayeux. Dirk Ewerlin

Parallelrechner (1) Anwendungen: Simulation von komplexen physikalischen oder biochemischen Vorgängen Entwurfsunterstützung virtuelle Realität

Rechnernetze Übung 10. Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Juni 2011

INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS

Quicksort ist ein Divide-and-Conquer-Verfahren.

11 Peer-to-Peer-Netzwerke

2. Parallel Random Access Machine (PRAM)

Übungsklausur Algorithmen I

Multiplikationsmethode. Informatik I. goldener Schnitt. Der goldene Schnitt. Einführung. Rainer Schrader. 30. Mai Konstruktionsmethode

WS 2009/10. Diskrete Strukturen

Prof. Dr. Christoph Karg Hochschule Aalen. Klausur zur Vorlesung Wahrscheinlichkeitstheorie und Statistik. Sommersemester 2016

Teil III: Routing - Inhalt I. Literatur. Geometric Routing. Voraussetzungen. Unit Disk Graph (UDG) Geometric Routing 29

Theoretische Informatik 1

Datenbanken: Indexe. Motivation und Konzepte

Grundlagen der Mathematik 1

Vorlesung Sicherheit

Modul N5 - Routing. Informatik erleben. Anwendung: http, smtp. Transport: TCP, UDP. Segment. Vermittlung: IP. Datagramm. Sicherung: Ethernet, PPP

8 Der Kompaktheitssatz und der Satz von Löwenheim und Skolem

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

1 Grundlagen. 1.1 Erste Grundbegriffe 1.2 Kryptographische Systeme 1.3 Informationstheoretische Grundlagen

Normalengleichungen. Für eine beliebige m n Matrix A erfüllt jede Lösung x des Ausgleichsproblems Ax b min die Normalengleichungen A t Ax = A t b,

Der Dreyfus-Wagner Algorithmus für das Steiner Baum Problem

Streaming Data: Das Modell

Digital Design Entwicklung der DRAMs. Richard Roth / FB Informatik und Mathematik Speicher 1

12 (2-4)-Bäume Implementierbare Funktionen. (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang

Der folgende Vortrag basiert auf dem Text A Polynomial Time Algorithm for the N-Queens Problem von Rok Sosic und Jun Gu aus dem Jahre 1990.

Skript zur Vorlesung Parallele Algorithmen. Andreas Goerdt Technische Universität Chemnitz Fakultät Informatik Theoretische Informatik

Universität Zürich HS , Vorlesung #3

Rolf Wanka Sommersemester Vorlesung

Satz 16 (Multiplikationssatz)

Alexander Kiontke Routing Protokolle

Grundgesamtheit und Stichprobe

CSMA mit Kollisionsdetektion: CSMA/CD

Vorlesung 2 KÜRZESTE WEGE

Algorithmen zur Berechnung der Smith-Normalform und deren Implementation auf Parallelrechnern

Parallele Prozesse. Prozeß wartet

Konzepte und Methoden der Systemsoftware. Aufgabe 1: Polling vs Interrupts. SoSe bis P

Verschlüsselung. Chiffrat. Eve

4: Algebraische Strukturen / Gruppen

Netzsicherheit I, WS 2008/2009 Übung 6. Prof. Dr. Jörg Schwenk

Klausur Algorithmen und Datenstrukturen

Lösungen für Bufferbloat

WS 2009/10. Diskrete Strukturen

Punktlokalisierung. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Algorithmentheorie Randomisierung. Robert Elsässer

Pseudozufallsgeneratoren

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Lineare Differenzengleichungen und Polynome. Franz Pauer

Vorlesung Sicherheit

Algorithmen und Datenstrukturen in der Bioinformatik Viertes Übungsblatt WS 05/06 Musterlösung

Lösungsvorschläge Blatt 4

Vorkurs: Mathematik für Informatiker

Algorithmik Funke/Bahrdt/Krumpe/Mendel/Seybold SS Übungsblatt 4

COMPUTERKLASSEN MULTICOMPUTER und SPEZIALANWENDUNGSSYSTEME

7. Triangulation von einfachen Polygonen

Übungen zu Rechnerkommunikation Wintersemester 2010/2011 Übung 8

Institut für Kryptographie und Sicherheit Jun.-Prof. Dr. D. Hofheinz. Stammvorlesung Sicherheit im Sommersemester Nachklausur

SPEKTRALE GRAPHENTHEORIE

Verteilte Systeme. Benennungen und Namenssysteme. Hinweis: Dieser Foliensatz enthält nur die Teilthemen, die nicht selbst zu erarbeiten waren.

Wie groß ist die Page Table?

Klausur zur Wahrscheinlichkeitstheorie für Lehramtsstudierende

Untersuchen Sie, inwiefern sich die folgenden Funktionen für die Verwendung als Hashfunktion eignen. Begründen Sie Ihre Antwort.

Transkript:

Parallelität und Kommunikation WS 2010/2011 Friedhelm Meyer auf der Heide V9, 3.1.2011 Friedhelm Meyer auf der Heide 1

Rückblick, Thema heute Wir wollen herausfinden, wie gut Routing entlang unabhängig vom Routing Problem gewählter Wege sein kann. (oblivious Routing). Bisher: Wir schauen uns das Butterfly Netzwerk an, routen von Quellen zu Senken entlang der eindeutigen kürzesten Wege. Heute: Routing von Funktionen mit großer Congestion, Einstieg in das Kapitel über Datenverwaltung. Friedhelm Meyer auf der Heide 2

Wegsystem im Butterflynetzwerk Friedhelm Meyer auf der Heide 3

Zwischenstand für Routing in BF(log(N)) Dilation ist log(n). Congestion für Permutationen ist im worst case n 1/2. Beispiele: Matrixtransposition, Bitreversal Diese worst case Schranke gilt bis auf konstante Faktoren in allen Netwerken mit konstantem Grad, für alle Wegesysteme. Die durchschnittliche Congestion für Funktionen aus F p ist O(log(N) + p). Bemerkung: Die durchschnittliche Congestion für Permutationen ist O(log(N)). Das Random Rank Protokoll routet jedes Routingprogblem in Zeit O(Congestion + log(n)), m.g.w. Friedhelm Meyer auf der Heide 4

Routingprotokolle: Was können wir erwarten? Erinnerung: (i) (ii) Jedes Routingprotokoll braucht mindestens max{d f, C f } Schritte, um f zu routen. Jedes Routingprotokoll, das in jedem Schritt, in dem sein Puffer nicht leer ist, ein Paket weiterleitet, benötigt höchstens D f C f Schritte, um f zu routen. Liegt die Routingzeit T nahe beim Maximum (gut!) oder beim Produkt (schlecht)? Wir benötigen eine geeignete Vorfahrtsregel, die für jeden Prozessor zu jedem Zeitpunkt entscheidet, welches Paket aus seinem Puffer weitergeleitet wird. Friedhelm Meyer auf der Heide 5

Wie sieht die Vorfahrtregel aus? Das Random Rank Protokoll: 1. - Jedem Paket D i wird zu Beginn ein zufällig gewählter Rang rang(d i ) [k] zugewiesen. (k wird später festgelegt.) - D i D j : rang(d i )<rang(d j ) oder rang(d i )=rang(d j ) und i<j. ( Beachte: definiert eine vollständige Ordnung auf den Paketen.) 2. In einem Schritt wählt jeder Knoten, der mindestens ein Paket in seinem Puffer hat, das bzgl. kleinste aus und schickt es weiter. (Beachte: Wohin das Paket weiter geschickt wird, ist durch den vorgegebenen Routingweg festgelegt.) Friedhelm Meyer auf der Heide 6

Das Random Rank Protokoll Satz: Sei l 0. Sei f F p eine Routingfunktion mit Congestion C. Dann benötigt das Random Rank Protokoll in BF(log(N) mit Wahrscheinlichkeit 1-1/N l höchstens T= 8eC 1 + (l+4)log(n) =O(log(N)+C) Schritte, falls k>t-log(n) gewählt wird. (Die Wahrscheinlichkeit bezieht sich auf die zufällige Wahl der Ränge) Was passiert, wenn wir f F p und die Ränge zufällig wählen? Satz: Falls f F p zufällig gewählt wird, benötigt das R.R.P. mit Wahrscheinlichkeit (1-1/N l ) 2 1-2/N l höchstens T= 8e(2ep+(l+1)log(N)+loglog(N)) 1 + (l+4)log(n) = O(log(N)+p) Schritte. Friedhelm Meyer auf der Heide 7

Fragestellungen Wie groß ist die Dilation? Wie groß ist die Congestion? Worst case, average case Welche Routingzeit ist bei gegebener Congestion und Dilation erreichbar? Wie können wir effizient Routingprobleme mit großer Congestion routen? (Erinnerung: Die Permutationen Bitreversal und Matrixtransposition haben Congestion N 1/2, somit ist ihre Routingzeit mindestens N 1/2. Das R.R.P. routet diese Permutationen m.g.w. in Zeit Θ( N 1/2 ) ). Friedhelm Meyer auf der Heide 8

Valiants Trick: Effizientes Routing beliebiger p-p-funktionen f F p ist eine p-p-funktion, falls jede Quelle p Pakete verschickt und jede Senke Ziel von p Paketen ist. 1-1-Funktionen sind genau die Permutationen. Routing mit Valiants Trick: Friedhelm Meyer auf der Heide 9

Valiants Trick Somit können auch Bitreversal und Matrixtransposition in Zeit O(log(n)) geroutet werden!! Friedhelm Meyer auf der Heide 10

Zusammenfassung zu Oblivious Routing im Butterflynetzwerk Wie groß ist die Dilation? log(n) Wie groß ist die Congestion? Worst case, für Permutationen: N 1/2 (z.b. Bitreversal, Matrixtransposition) Average case über F p : O(log(N)+p) Welche Routingzeit ist bei gegebener Congestion erreichbar? (O(log(N)+C), m.g.w. (Random Rank Protokoll) Wie können wir effizient Routingprobleme mit großer Congestion routen? Valiant s Trick: Jede p-p-funktion kann m.g.w. in Zeit O(log(n)+p) geroutet werden. Friedhelm Meyer auf der Heide 11

Kapitel 6 Simulation von PRAMs durch Distributed Memory Machines Friedhelm Meyer auf der Heide 12

Agenda Wir werden uns mit Verfahren beschäftigen, Daten in einem Netzwerk so verfügbar zu machen, dass parallele Lese- und Schreibzugriffe auf sie effizient durchgeführt werden können. Formalisierung: Simulation von PRAMs durch DMMs Techniken: Randomisierung, Balls-into-Bins, Universelles Hashing Friedhelm Meyer auf der Heide 13

Die Parallel Random Access Machine - PRAM Kommunikation durch einen gemeinsamen Speicher Friedhelm Meyer auf der Heide 14

Lösungen für Zugriffskonflikte Schreibkonfliktlösungen für CW: - ARBITRARY: Irgendeiner der Schreibwünsche wird erfüllt (nicht-deterministisches Model, Algo muss funktionieren, egal welcher Schreibwunsch erfüllt wird.) - PRIORITY: Prozessor mit kleinster ID gewinnt. - COMMON: Alle Prozessoren, die in die gleiche Zelle schreiben wollen, müssen den gleichen Wert schreiben wollen. Friedhelm Meyer auf der Heide 15

Lösungen für Zugriffskonflikte - CW ist mächtiger als EW: - N-Prozessor CRCW-PRAM kann ODER und UND von n Bits in Zeit O(1) berechnen, N-Prozessor CREW-PRAM benötigt Zeit Θ(log(N)). -N-Prozessor CRCW-PRAM kann das Maximum von n Zahlen in Zeit O(loglog(N)) berechnen, N-Prozessor CREW-PRAM benötigt Zeit Θ(log(N)). (Übung) Friedhelm Meyer auf der Heide 16

Die Distributed Memory Machine - DMM Der Speicher ist über N Speichermodule verteilt. Friedhelm Meyer auf der Heide 17

DMM-Varianten In einem Schritt kann jeder Prozessor eine Lese/Schreib- Anfrage an eine Speicherzelle x abschicken. Sie wird an dasjenige Modul M i weitergeleitet, das x enthält. Butterfly-DMM: Das Netzwerk ist ein Butterfly-Netzwerk ARBITRARY-DMM: Falls mindestens eine Anfrage (Lese(x), Schreibe z nach x) an M i gestellt wird, wird irgendeine beantwortet c-collision-dmm: Falls höchstens c Anfragen an M i gestellt werden, werden alle beantwortet falls mehr als c Anfragen gestellt werden, wird keine Anfrage beantwortet Friedhelm Meyer auf der Heide 18

Simulationen mit einer Hashfunktion Simulation einer N-Prozessor EREW-PRAM auf einer N Prozessor Arbitrary-DMM: Verteile die PRAM-Zellen über die Speichermodule der Arbitrary- DMM, - mittels einer festen Hashfunktion h : [q] [N], z.b. h(x) = x mod N - mittels einer zufälligen Hashfunktion h : [q] [N] Friedhelm Meyer auf der Heide 19

Simulationen mit einer Hashfunktion Simulation einer N-Prozessor EREW-PRAM auf einer N Prozessor Arbitrary-DMM: Falls PRAM-Prozessoren auf Module zu. zugreifen, greift DMM auf Zugriffszeit = Contention := max {b i, i =[N]} b i = h -1 (i) ist die Anzahl der Zugriffe auf das i-te Modul Friedhelm Meyer auf der Heide 20

Über Contention Lemma: (Balls-into-bins) Falls N Bälle zufällig, unabhängig über N Kisten verteilt werden, ist die erwartete maximale Zahl von Bällen in einer Kiste O(log(N)/loglog(N)). Bei zufällig gewählter Hashfunktion h und beliebigen, festen x 0,, x N-1 ist die erwartete Contention O(log(N)/loglog(N)). Friedhelm Meyer auf der Heide 21