22
Big Data – Anwendungen Univ.-Prof. Dr.-Ing. Wolfgang Maass Chair in Information and Service Systems Department of Law and Economics WS 2011/2012 Wednesdays, 8:00 – 10:00 a.m. Room HS 021, B4 1

Big Data – Anwendungeniss.uni-saarland.de/workspace/documents/wt_14_big_data... · 2012. 1. 31. · • L. M. e Silva and R. Buyya, Parallel Programming Models and Paradigms, vol

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Big Data – Anwendungeniss.uni-saarland.de/workspace/documents/wt_14_big_data... · 2012. 1. 31. · • L. M. e Silva and R. Buyya, Parallel Programming Models and Paradigms, vol

Big Data – Anwendungen

Univ.-Prof. Dr.-Ing. Wolfgang Maass Chair in Information and Service Systems Department of Law and Economics WS 2011/2012 Wednesdays, 8:00 – 10:00 a.m. Room HS 021, B4 1

Page 2: Big Data – Anwendungeniss.uni-saarland.de/workspace/documents/wt_14_big_data... · 2012. 1. 31. · • L. M. e Silva and R. Buyya, Parallel Programming Models and Paradigms, vol

Univ.-Prof. Dr.-Ing. Wolfgang Maass

31.01.12 Slide 2

•  Effiziente Speicherung/Verarbeitung von Big Data erfordert Alternativen zu Standardtechnologien

•  Column-Stores als alternative Software-Lösung für Datenhaltung •  Cloud-Computing als alternative Hardware-Lösung für Datenhaltung

•  Hauptproblem ist nicht das Speichern sondern der Zugriff auf Daten •  Anwendungs-Design für Big Data hat ebenfalls spezielle Anforderungen

! verteilte Speicherung/Verarbeitung " parallele Algorithmen

Wrap-Up

Page 3: Big Data – Anwendungeniss.uni-saarland.de/workspace/documents/wt_14_big_data... · 2012. 1. 31. · • L. M. e Silva and R. Buyya, Parallel Programming Models and Paradigms, vol

Univ.-Prof. Dr.-Ing. Wolfgang Maass

31.01.12 Slide 3

•  Modell über Beschleunigung von Programmen durch parallele Ausführung Gene M. Amdahl. 1967. Validity of the single processor approach to achieving large scale computing capabilities. In Proceedings of the April 18-20, 1967, spring joint computer conference (AFIPS '67 (Spring)). ACM, New York, NY, USA, 483-485.

•  Aufteilung des Programms in sequentielle und parallel ausführbare Teile •  p sei Anteil der parallel ausführbaren Teile an Gesamtlaufzeit •  s ist Anteil der sequentiellen Teile an Gesamtlaufzeit

•  Gesamtlaufzeit 10h, davon 1h sequentiell (s) und 9h parallel ausführbar (p) •  Bei einem Prozessor 1h + 9h = 10h •  Bei zwei Prozessoren 1h + 9h / 2 = 5,5h •  Bei unendlich vielen Prozessoren 1h + 9h / ∞ = 1h

•  Mit Anzahl der Prozessoren n steigt aber auch der Overhead o(n), um die Parallelisierung zu realisieren (z.B. für Kommunikation)

Amdahlsches Gesetz

Speedup(n) = s+ p

s+ pn+ o(n)

Page 4: Big Data – Anwendungeniss.uni-saarland.de/workspace/documents/wt_14_big_data... · 2012. 1. 31. · • L. M. e Silva and R. Buyya, Parallel Programming Models and Paradigms, vol

Univ.-Prof. Dr.-Ing. Wolfgang Maass

31.01.12 Slide 4

Amdahlsches Gesetz

o(n)= 1min * n2

Prozessoren

Speedup

o(n) = 1min * n

Prozessoren

Speedup

p/s = 1/4

p/s = 2/3

p/s = 3/2

p/s = 4/1

Page 5: Big Data – Anwendungeniss.uni-saarland.de/workspace/documents/wt_14_big_data... · 2012. 1. 31. · • L. M. e Silva and R. Buyya, Parallel Programming Models and Paradigms, vol

Univ.-Prof. Dr.-Ing. Wolfgang Maass

31.01.12 Slide 5

•  Amdahl: Die Verarbeitung eines gegebenen Problem (fixe Gesamtlaufzeit) kann nur bis zu einem bestimmten Grad durch Parallelisierung optimiert werden

•  Gustafson: Mit einem höheren Grad an Parallelisierung können größere Probleme gelöst werden (variable Gesamtlaufzeit) John L. Gustafson. 1988. Reevaluating Amdahl's law. Commun. ACM 31, 5 (May 1988), 532-533.

Gustafsons Gesetz

Speedup(n) = ss+ p

+ n ps+ p

p/s = 1/1

p/s = 2/1

p/s = 3/1

p/s = 4/1

Prozessoren

Speedup

Page 6: Big Data – Anwendungeniss.uni-saarland.de/workspace/documents/wt_14_big_data... · 2012. 1. 31. · • L. M. e Silva and R. Buyya, Parallel Programming Models and Paradigms, vol

Univ.-Prof. Dr.-Ing. Wolfgang Maass

31.01.12 Slide 6

1.  Partitionierung •  Partitionierung der Daten •  Problem Dekomposition: Problem wird in Teilprobleme (Tasks)

zerlegt, die durch mehrere Prozessoren gelöst werden können

2.  Kommunikation •  Festlegung der Struktur des Kommunikationskanals •  Bestimmung eines Protokolls zur Koordinierung der Tasks

3.  Agglomeration •  Evaluierung der Partitionierungs- und Kommunikationsstruktur

hinsichtlich Performanz und Implementierungsaufwand •  Ggf. Rekombination der Tasks

4.  Mapping •  Zuweisung der Tasks an Prozessoren •  Optimale Ressourcen-Ausnutzung (Prozessorauslastung vs. Kommunikationsaufwand) •  Statisch (Zuweisung im Voraus) oder dynamisch (Load-Balancing zur Laufzeit)

Methodisches Design paralleler Algorithmen

http://www.mcs.anl.gov/~itf/dbpp/text/book.html

Page 7: Big Data – Anwendungeniss.uni-saarland.de/workspace/documents/wt_14_big_data... · 2012. 1. 31. · • L. M. e Silva and R. Buyya, Parallel Programming Models and Paradigms, vol

Univ.-Prof. Dr.-Ing. Wolfgang Maass

31.01.12 Slide 7

•  Eigenschaften der Tasks •  Ist die Lösung eines Tasks abhängig von der Lösung eines anderen? •  Festlegung der Tasks im Voraus oder zur Laufzeit? •  Aufwand der Tasks gleichverteilt, ungleichmäßig oder unbekannt? •  Interaktion zw. Tasks vorbestimmt (statisch) oder dynamisch? •  Interaktion zw. Tasks zeigt Regelmäßigkeiten oder ist unregelmäßig?

•  Skalierbare Designs •  Vermeidung redundanter Berechnungen und Bereitstellung von Daten •  Anzahl der Tasks steigt proportional zur Größe des Gesamtproblems •  Tasks haben ähnlich großen Aufwand

•  Flexibles Design (hinsichtl. Kommunikation, Agglomeration und Mapping) •  Fein-granulare Zerlegung (Vielfaches an Tasks im Vergleich zu Prozessoren) •  Alternative Zerlegungen identifizieren (Daten- und prozessgetriebene Dekomposition)

Partitionierung

Page 8: Big Data – Anwendungeniss.uni-saarland.de/workspace/documents/wt_14_big_data... · 2012. 1. 31. · • L. M. e Silva and R. Buyya, Parallel Programming Models and Paradigms, vol

Univ.-Prof. Dr.-Ing. Wolfgang Maass

31.01.12 Slide 8

•  Daten- vs. prozessgetriebene Dekomposition •  Daten Dekomposition (auch: Geometrische Dekomposition, Domänen Dekomposition):

Zerlegung in Tasks richtet sich nach Partitionierung der Daten, Tasks für „benachbarte“ Datensegmente sind ggf. von einander abhängig

•  Funktionale Dekomposition: Zerlegung in Tasks entsprechend der Operationen, die auf den Daten ausgeführt werden

•  Abhängigkeiten zw. Tasks •  Iterative Dekomposition: Zerlegung in unabhängige Tasks, die nach wiederkehrendem

Schema gelöst werden können •  Rekursive Dekomposition: Hierarchische Zerlegung in (Sub-)Tasks, die nach Bottom-

Up-Prinzip gelöst werden können •  Explorative Dekomposition: Tasks sind voneinander abhängig, Überprüfung aller

möglichen Lösungspfade •  Spekulative Dekomposition: Tasks sind voneinander abhängig, Auswahl des

vielversprechendsten Lösungspfades erfolgt schrittweise während der Lösung der einzelnen Tasks

Partitionierung

Page 9: Big Data – Anwendungeniss.uni-saarland.de/workspace/documents/wt_14_big_data... · 2012. 1. 31. · • L. M. e Silva and R. Buyya, Parallel Programming Models and Paradigms, vol

Univ.-Prof. Dr.-Ing. Wolfgang Maass

31.01.12 Slide 9

•  Kommunikationskanal: •  Topologie (Bus, Ring, Stern, etc.) •  Bandbreite

•  Eigenschaften der Kommunikation •  Lokal/Global:

Komm. mit wenigen „benachbarten“ Tasks oder Komm. mit vielen Tasks

•  Strukturiert/Unstrukturiert: Regelmäßigkeit der Kommunikationsstruktur (z.B. Baum vs. beliebiger Graph) " Unstrukturierte Komm. erschwert Agglomeration und Mapping

•  Statisch/Dynamisch: Feste vs. wechselnde Kommunikationspartner

•  Synchron/Asynchron: •  Synchron: Empfänger-Tasks warten auf Sender-Tasks (Blockierung) •  Asynchron: Empfänger-Tasks fordern Informationen von Sendern an

Kommunikation

http://www.mcs.anl.gov/~itf/dbpp/text/book.html

Page 10: Big Data – Anwendungeniss.uni-saarland.de/workspace/documents/wt_14_big_data... · 2012. 1. 31. · • L. M. e Silva and R. Buyya, Parallel Programming Models and Paradigms, vol

Univ.-Prof. Dr.-Ing. Wolfgang Maass

31.01.12 Slide 10

•  Skalierbares Design •  Ein Task kommuniziert mit möglichst wenig anderen Tasks •  Lokale Kommunikation anstelle globaler Kommunikation •  Tasks erfordern ähnlich viele Kommunikations-Operationen •  Tasks und Kommunikation zw. Tasks sollten möglichst nebenläufig ablaufen

•  Situation Big Data •  Tasks greifen periodisch auf geteilte Datenstruktur zu

" asynchrone Kommunikation •  Geteilte Datenstruktur ist zu groß bzw. zu viele Zugriffe für einen Task

" Verteilung auf mehrere Tasks •  Strategien

•  Datenstruktur wird auf die verarbeitenden Tasks verteilt; Kommunikation mit anderen Tasks, um Eingabedaten zu beziehen bzw. Teilergebnisse zu senden

•  Zugriff auf Datenstruktur wird in zusätzliche Tasks gekapselt (Encapuslation) •  Zugriff auf Datenstruktur über DBMS

Kommunikation

Page 11: Big Data – Anwendungeniss.uni-saarland.de/workspace/documents/wt_14_big_data... · 2012. 1. 31. · • L. M. e Silva and R. Buyya, Parallel Programming Models and Paradigms, vol

Univ.-Prof. Dr.-Ing. Wolfgang Maass

31.01.12 Slide 11

•  Zusammenfassen von Tasks für effiziente parallele Berechnung

•  Reduktion der Kosten für Task-Erstellung •  Reduktion der Kommunikationskosten (Größe/

Frequenz der Nachrichten)

•  Ggf. Einführung von Redundanzen für effizientere Kommunikation

•  Erhaltung der Flexibilität

" Granularität als Parameter •  Entwicklungskosten beachten

" Agglomeration vs. Code-Reuse (z.B. Modularität, Separation-of-Concerns)

Agglomeration

http://www.mcs.anl.gov/~itf/dbpp/text/book.html

Page 12: Big Data – Anwendungeniss.uni-saarland.de/workspace/documents/wt_14_big_data... · 2012. 1. 31. · • L. M. e Silva and R. Buyya, Parallel Programming Models and Paradigms, vol

Univ.-Prof. Dr.-Ing. Wolfgang Maass

31.01.12 Slide 12

Agglomeration

http://www.mcs.anl.gov/~itf/dbpp/text/book.html

(z.B. spaltenorientierte Speicherung)

Page 13: Big Data – Anwendungeniss.uni-saarland.de/workspace/documents/wt_14_big_data... · 2012. 1. 31. · • L. M. e Silva and R. Buyya, Parallel Programming Models and Paradigms, vol

Univ.-Prof. Dr.-Ing. Wolfgang Maass

31.01.12 Slide 13

•  Generalisiertes Zuweisungsproblem: NP-vollständiges Problem (alle bekannten deterministischen Algorithmen erfordern exponentiellen Rechenaufwand) " Kann zum Performance-Flaschenhals werden

•  Gegeben ist eine Menge Prozessoren und einer Menge Tasks. Prozessoren können Tasks zugewiesen werden. Ein Prozessor hat ein „Budget“, ein Task hat „Kosten“, die Zuweisung von einem Prozessor zu einem Task hat einen „Profit“.

•  Finde eine Zuweisungs-Funktion, bei der das Budget jedes Prozessors nicht durch die Kosten der zugewiesenen Tasks überschritten wird und der Gesamtprofit maximiert wird

•  (Ggf. mehrfache Ausführung wg. dynamischen Veränderungen)

•  (Globale/Lokale) Load-Balancing-Algorithmen für komplexe Probleme (unstrukturierte Komm., heterogene Tasks)

•  Task-Scheduling-Algorithmen für simplere Probleme (viele Tasks, wenig lokale Abhängigkeit)

•  Zuweisung von Manager- und Worker-Rollen (zentralisiert, hierarchisch, dezentral)

Mapping

Page 14: Big Data – Anwendungeniss.uni-saarland.de/workspace/documents/wt_14_big_data... · 2012. 1. 31. · • L. M. e Silva and R. Buyya, Parallel Programming Models and Paradigms, vol

Univ.-Prof. Dr.-Ing. Wolfgang Maass

31.01.12 Slide 14

•  Funktionale Dekomposition (Tasks entsprechen Operationen auf Eingabedaten)

•  Festlegung von Prozessketten •  Abhängig von angemessener Verteilung über Prozessschritte •  Bsp.: Render-Pipeline

Paradigmen: Data-Pipelining (Data Flow Parallelism)

L. M. e Silva and R. Buyya, Parallel Programming Models and Paradigms, vol. 2, High Performance Cluster Computing: Programming and Applications, Prentice-Hall (1999).

Page 15: Big Data – Anwendungeniss.uni-saarland.de/workspace/documents/wt_14_big_data... · 2012. 1. 31. · • L. M. e Silva and R. Buyya, Parallel Programming Models and Paradigms, vol

Univ.-Prof. Dr.-Ing. Wolfgang Maass

31.01.12 Slide 15

•  Daten Dekomposition (Tasks entsprechen Partitionierung der Eingabedaten)

•  Erfordert homogenes System, Kommunikation sollte klar strukturiert und vorhersehbar sein

•  Gefährdung bei Ausfall einzelner Prozesse

•  Bsp.: Faltung bei Bildverarbeitung

Paradigmen: Single-Program-Multiple-Data (SPMD)

L. M. e Silva and R. Buyya, Parallel Programming Models and Paradigms, vol. 2, High Performance

Cluster Computing: Programming and Applications, Prentice-Hall (1999).

Page 16: Big Data – Anwendungeniss.uni-saarland.de/workspace/documents/wt_14_big_data... · 2012. 1. 31. · • L. M. e Silva and R. Buyya, Parallel Programming Models and Paradigms, vol

Univ.-Prof. Dr.-Ing. Wolfgang Maass

31.01.12 Slide 16

•  Iterative Dekomposition (unabhängige Tasks)

•  Ein Master-Knoten: •  Aufteilung des Problems und Verteilung

der Tasks an Slave-Knoten •  Sammeln der Teilergebnisse und

Zusammenführung zu Gesamtlösung

•  Slave-Knoten generieren Teilergebnisse für Tasks

•  Gefährdung bei Ausfall des Master-Knoten

•  Bsp.: Suche

Paradigmen: Task-Farming (Master/Slave)

L. M. e Silva and R. Buyya, Parallel Programming Models and Paradigms, vol. 2, High Performance

Cluster Computing: Programming and Applications, Prentice-Hall (1999).

Page 17: Big Data – Anwendungeniss.uni-saarland.de/workspace/documents/wt_14_big_data... · 2012. 1. 31. · • L. M. e Silva and R. Buyya, Parallel Programming Models and Paradigms, vol

Univ.-Prof. Dr.-Ing. Wolfgang Maass

31.01.12 Slide 17

•  Rekursive Dekomposition (Aufteilung in Sub-Probleme)

•  Abbildung der Baum-Struktur auf Prozessoren

•  Bsp.: Schnelle Fourier-Transformation (FFT)

Paradigmen: Divide-and-Conquer

L. M. e Silva and R. Buyya, Parallel Programming Models and Paradigms, vol. 2, High Performance

Cluster Computing: Programming and Applications, Prentice-Hall (1999).

http://www.cmlab.csie.ntu.edu.tw/cml/ dsp/training/coding/transform/fft.html

Page 18: Big Data – Anwendungeniss.uni-saarland.de/workspace/documents/wt_14_big_data... · 2012. 1. 31. · • L. M. e Silva and R. Buyya, Parallel Programming Models and Paradigms, vol

Univ.-Prof. Dr.-Ing. Wolfgang Maass

31.01.12 Slide 18

Map-Funktion (links), Reduce-Funktion (rechts)

Alexander Alexandrov, Stephan Ewen, Max Heimel, Fabian Hueske, Odej Kao, Volker Markl, Erik Nijkamp, Daniel Warneke: MapReduce and PACT - Comparing Data Parallel Programming

Models. BTW 2011: 25-44

•  MapReduce Jeffrey Dean and Sanjay Ghemawat. MapReduce: Simplified Data Processing on Large Clusters. In OSDI, pages 137–150, 2004.

•  SPMD + gegenwärtig als Task-Farming implementiert (z.B. Hadoop)

•  Map und Reduce als Funktionen zweiter Ordnung mit Parameter:

•  Key-Value-Set •  Berechnungsfunktion (Funktion erster Ordnung)

•  Generalisierung: Parallelization Contracts (PACT) Dominic Battré, Stephan Ewen, Fabian Hueske, Odej Kao, Volker Markl, and Daniel Warneke. 2010. Nephele/PACTs: a programming model and execution framework for web-scale analytical processing. In Proceedings of the 1st ACM symposium on Cloud computing (SoCC '10). ACM, New York, NY, USA, 119-130.

Map Reduce Framework

Page 19: Big Data – Anwendungeniss.uni-saarland.de/workspace/documents/wt_14_big_data... · 2012. 1. 31. · • L. M. e Silva and R. Buyya, Parallel Programming Models and Paradigms, vol

Univ.-Prof. Dr.-Ing. Wolfgang Maass

31.01.12 Slide 19

Map Reduce Framework

MapReduce Jeffrey Dean and Sanjay Ghemawat. MapReduce: Simplified Data Processing on Large Clusters.

In OSDI, pages 137–150, 2004.

Page 20: Big Data – Anwendungeniss.uni-saarland.de/workspace/documents/wt_14_big_data... · 2012. 1. 31. · • L. M. e Silva and R. Buyya, Parallel Programming Models and Paradigms, vol

Univ.-Prof. Dr.-Ing. Wolfgang Maass

31.01.12 Slide 20

•  SPMD •  OpenMP

http://openmp.org/wp/about-openmp/

•  Data-Pipelining •  Definieren von Data-Flow-Graphen (gerichtete azyklische Graphen) •  Framework bildet Komponenten des Graphen auf Prozessoren ab •  Dryad (Microsoft)

Michael Isard, Mihai Budiu, Yuan Yu, Andrew Birrell, and Dennis Fetterly. 2007. Dryad: distributed data-parallel programs from sequential building blocks. SIGOPS Oper. Syst. Rev. 41, 3 (March 2007), 59-72.

•  FlumeJava Craig Chambers, Ashish Raniwala, Frances Perry, Stephen Adams, Robert R. Henry, Robert Bradshaw, and Nathan Weizenbaum. 2010. FlumeJava: easy, efficient data-parallel pipelines. SIGPLAN Not. 45, 6 (June 2010), 363-375.

Weitere Frameworks

Page 21: Big Data – Anwendungeniss.uni-saarland.de/workspace/documents/wt_14_big_data... · 2012. 1. 31. · • L. M. e Silva and R. Buyya, Parallel Programming Models and Paradigms, vol

Univ.-Prof. Dr.-Ing. Wolfgang Maass

31.01.12 Slide 21

Artikel: •  L. M. e Silva and R. Buyya, Parallel Programming Models and Paradigms, vol. 2, High Performance Cluster

Computing: Programming and Applications, Prentice-Hall (1999). •  Jeffrey Dean and Sanjay Ghemawat. MapReduce: Simplified Data Processing on Large Clusters. In OSDI,

pages 137–150, 2004. •  Alexander Alexandrov, Stephan Ewen, Max Heimel, Fabian Hueske, Odej Kao, Volker Markl, Erik Nijkamp,

Daniel Warneke: MapReduce and PACT - Comparing Data Parallel Programming Models. BTW 2011: 25-44

Web: •  Ian Foster: Designing and Building Parallel Programs

http://www.mcs.anl.gov/~itf/dbpp/text/book.html •  White Paper von Oracle „Developing Parallel Programs – A Discussion of Popular Models“

http://www.oracle.com/technetwork/server-storage/solarisstudio/documentation/oss-parallel-programs-170709.pdf

Literatur

Page 22: Big Data – Anwendungeniss.uni-saarland.de/workspace/documents/wt_14_big_data... · 2012. 1. 31. · • L. M. e Silva and R. Buyya, Parallel Programming Models and Paradigms, vol

Univ.-Prof. Dr.-Ing. Wolfgang Maass

31.01.12 Slide 22

Univ.-Prof. Dr.-Ing. Wolfgang Maass

Univ.-Prof. Dr.-Ing. Wolfgang Maass Chair in Information and Service Systems Saarland University, Germany