Big Data: MapReduce, Spark, Flink und andere

Werbung
Seminar im Sommersemester 2017:
Big Data: MapReduce, Spark, Flink und andere
http://www.zib.de/reinefeld/SS2017_Big_Data.html
Alexander Reinefeld, Robert Schmidtke
Humboldt‐Universität zu Berlin und Zuse‐Institut Berlin
Big Data: MapReduce, Spark, Flink und andere
Seminarbeschreibung im Vorlesungsverzeichnis
Big Data‐Frameworks, wie z.B. Flink und Spark, sind derzeit sehr populär. In diesem Seminar wollen wir die zugrunde liegenden Algorithmen, Protokolle und Systemarchitekturen anhand wissenschaftlicher Veröffentlichungen verstehen. Die Studierenden sollen anschließend in der Lage sein, Big Data‐Architekturen bezüglich ihrer Skalierbarkeit, Ausfallsicherheit und Effizienz bewerten zu können.
Alexander Reinefeld
2
Warum ist das Seminarthema wichtig?
•
Data Analytics ist Geschäftsgrundlage für Google & Co
o
o
o
o
•
massiv parallele Verarbeitung
o
o
•
immer mehr Daten: Petabyte, Exabyte, …
immer mehr Nutzeranfragen
immer präzisere Ergebnisse datengetrieben anstatt prozessgetrieben
datenparallel: viele hundert CPUs (triviales) Beispiel: How to Write a Spelling Corrector (Peter Norvig) http://norvig.com/spell‐correct.html
Typische Hardware
o
o
o
o
Alexander Reinefeld
Standard‐PCs
lokale Disks, keine SANs
Standard‐Netzwerk (GbE)
keine Supercomputer (warum?)
3
Was ist MapReduce? Wie funktioniert es?
•
MapReduce ist ein skalierbares, fehlertolerantes, paralleles/verteiltes Programmierparadigma
o
o
•
o
Key/Value‐Paaren
Nur 2 Funktionen:
…
map
Effizienz
o
…
•
…
Fehlertoleranz
n buckets
o
…
…
…
…
…
…
…
Map‐ und Reduce‐Funktionen laufen nebenläufig ohne Kommunikation
sequentieller Datenzugriff (schnell auf Disks)
n*m buckets
in Hadoop: Master überwacht Slaves, bei Ausfall Neustart auf gleichen Daten (benötigt persistenten Zustand)
merge
…
…
…
m buckets
sort
sort
…
…
…
…
…
…
•
Grenzen der Skalierbarkeit o
reduce
Alexander Reinefeld
m buckets
o
Speicherplatzkomplexität (buffer space): Anzahl offener Dateien wächst quadratisch Kommunikationskomplexität: group‐by über verteilte Daten
4
Viele Ausführungsumgebungen bauen auf MapReduce auf
•
... weil MapReduce allein in der Praxis oft zu unflexibel ist.
o
o
o
o
o
o
keine höheren Operatoren
keine Iteration
keine Lastverteilung
keine Komposition komplexer Work‐Flows
keine Stream‐Verarbeitung
...
SW‐Umgebung für Datenanalyse ... für Hochleistungsrechnen
CACM 7/2015
Alexander Reinefeld
5
Ablauf des Seminars (1)
1.
Auswahl eines Vortragsthemas
o
2.
Auseinandersetzung mit dem Thema
o
o
o
3.
Lesen und Verstehen der angegeben Artikel
Ergänzung durch eigene Recherche (und ggf. Experimente)
Herausarbeiten der wesentlichen Inhalte und Formulierung in eigenen Worten
Vortrag ausarbeiten
o
o
4.
Heute
Rechtzeitig beginnen! Bei Rückfragen Veranstalter kontaktieren. Folien spätestens eine Woche vor Vortragstermin an Robert Schmidtke, [email protected] senden. Ansonsten wird der Vortrag abgesagt.
Vortrag halten
o
Alexander Reinefeld
ca. 30 Minuten
6
Ablauf des Seminars (2)
5.
Wissenschaftliche Ausarbeitung verfassen (8 – 10 S.)
o
o
•
Die Ausarbeitung soll
o
o
o
•
inhaltliche Auseinandersetzung mit dem Thema
dient auch dem Erlernen des Verfassens wissenschaftlicher Texte (Master‐Arbeit)
in die Problemstellung einführen, einen Lösungsansatz erläutern, möglichst anhand eines eigenen Beispiels, alternative Lösungsmöglichkeiten aufzeigen (dazu ist eigene Literaturrecherche notwendig)
Abgabe: 1 Woche nach dem Vortrag
o
Alexander Reinefeld
wird im Web für Seminarteilnehmer veröffentlicht
7
Kriterien für die Scheinvergabe
•
Anrechnung als Seminar der Praktischen Informatik
o
•
Es wird ein Seminarschein erteilt, sofern alle folgenden Voraussetzungen erfüllt sind:
o
o
o
•
5 SP (2 SWS)
aktive Teilnahme an der Diskussion
Vortrag
Ausarbeitung
Anwesenheit ist notwendig, aber nicht hinreichend. o
Alexander Reinefeld
Man muss schon mitmachen!
8
Termine
•
Blockveranstaltung mit jeweils 5 Vorträgen
o
o
o
o
o
o
o
o
o
o
o
o
o
•
26.04.
03.05.
10.05. 17.05.
24.05.
31.05.
07.06
14.06.
21.06. 28.06.
05.07.
12.07.
19.07.
Einführung, Themenvergabe
Zeit für Literaturstudium, Vortragsvorbereitung, ...
‐
‐
13‐17 Uhr, Themen 1, 2, 3, 4, 5
‐
13‐17 Uhr, Themen 6, 7, 8, 9, 21
‐
‐
13‐17 Uhr, Themen 10, 11, 12, 13, 14
‐
13‐17 Uhr, Themen 15, 16, 17, 18, 20
‐‐ Ersatztermin
Ort o
Alexander Reinefeld
RUD 26, 1‘307
9
VORTRAGSTHEMEN
MapReduce und Verteilte Dateisysteme
1.
2.
3.
4.
5.
MapReduce: Simplified Data Processing on Large Clusters. Dean, Ghemawat. OSDI 2004. Philipp Waack
The Google file system. Sanjay, Gobioff, Leung. SOSP 2003. Ansgar Lößer
Bigtable: A Distributed Storage System for Structured Data. Chang, Dean, Ghemawat, Hsieh, Wallach, Burrows, Chandra, Fikes, Gruber. TOCS 2008. Marcel Pazelt
Mars: a MapReduce framework on graphics processors. He, Fang, Luo, Govindaraju, Wang. PACT 2008. Joel Witzke
Cassandra: a decentralized structured storage system. Lakshman, Malik. SIGOPS 2010. Christoph Zyla
Spark
6.
7.
8.
9.
Resilient Distributed Datasets: A Fault‐Tolerant Abstraction for In‐Memory Cluster Computing. Zaharia, Chowdhury, Das, Dave, Ma, McCauley, Franklin, Shenker, Stoica. NSDI 2012. Lennart Gudd
Spark: Cluster Computing with Working Sets. Zaharia, Chowdhury, Franklin, Shenker, Stoica. HotCloud 2010.
Discretized Streams: Fault‐Tolerant Streaming Computation at Scale. Zaharia, Das, Li, Hunter, Shenker, Stoica. SOSP 2013. Simon Hansen
Discretized Streams: An Efficient and Fault‐Tolerant Model for Stream Processing on Large Clusters. Zaharia, Das, Li, Shenker, Stoica. HotCloud 2012.
GraphX: Unifying Data‐Parallel and Graph‐Parallel Analytics. Xin, Crankshaw, Dave, Gonzalez, Franklin, Stoica. OSDI 2014. Lennart Grosser
Tachyon: Reliable, Memory Speed Storage for Cluster Computing Frameworks, Li, Ghodsi, Zaharia, Shenker, Stoika, SOCC 2014 Simon Pizonka
Flink
10. Nephele/PACTs: A Programming Model and Execution Framework for Web‐Scale Analytical Processing. Battré, Ewen, Hueske, Kao, Markl, Warneke. SoCC 2010.
MapReduce and PACT ‐ Comparing Data Parallel Programming Models. Alexandrov, Ewen, Heimel, Hueske, Kao, Markl, Nijkamp, Warneke. BTW 2011. Martin Schulze
11. Implicit Parallelism through Deep Language Embedding. Alexandrov, Kunft, Katsifodimos, Schüler, Thamsen, Kao, Herb, Markl. SIGMOD 2015. Emma in Action: Declarative Dataflows for Scalable Data Analysis. Alexandrov, Salzmann, Krastev, Katsifodimos, Markl. Demo at SIGMOD 2016. Jan‐Christopher Pien
12. Apache Flink: Stream and Batch Processing in a Single Engine. Carbone, Ewen, Haridi, Katsifodimos, Markl, Tzoumas, IEEE Data Eng. Bull. 2015. Lightweight Asynchronous Snapshots for Distributed Dataflows. Carbone, Fóra, Ewen, Haridi, Tzoumas. arXiv:1506.08603 2015. Patrick Herholz
Alexander Reinefeld
11
Alternative Streaming‐Systeme
13. Naiad: a timely dataflow system. Murray, McSherry, Isaacs, Isard, Barham, Abadi. SOSP 2013. Katja Engels
Graphprozessierung
14. Pregel: A System for Large‐Scale Graph Processing. Malewicz, Austern, Bik, Dehnert, Horn, Leiser, Czajkowski. SIGMOD 2010. Janek Tichy
15. GraphLab: A New Framework for Parallel Machine Learning. Low, Gonzalez, Kyrola, Bickson, Guestrin, Hellerstein. arXiv:1006.4990 2010. Markus Waas
16. Distributed GraphLab: A Framework for Machine Learning in the Cloud. Low, Gonzalez, Kyrola, Bickson, Guestrin, Hellerstein. VLDB 2012. David Luis Wiegandt
Andere Ansätze
17. Dremel: Interactive Analysis of Web‐Scale Datasets. Melnik, Gubarev, Long, Romer, Shivakumar, Tolton, Vassilakis. VLDB 2010. Sascha Turban
18. Dryad: Distributed Data‐Parallel Programs from Sequential Building Blocks. Isard, Budiu, Yu, Birrell, Fetterly. EuroSys 2007. Lars Kolmetz
19. MapReduce in MPI for large‐scale graph algorithms. Plimpton, Devine. Parallel Computing 2011.
Anwendungen
20.
21.
22.
23.
Parallel Clustering of High‐Dimensional Social Media Data Streams. Gao, Ferrara, Qiu. arXiv:1502.00316 2015. Robby Büchner
Counting Triangles and the Curse of the Last Reducer. Suri, Vassilvitskii. WWW 2011. Rafael Moczalla
Automating model search for large scale machine learning. Sparks, Talwalkar, Haas, Franklin, Jordan, Kraska. SoCC 2015.
PLANET: Massively Parallel Learning of Tree Ensembles with MapReduce. Panda, Herbach, Basu, Bayardo. VLDB 2009.
Alexander Reinefeld
12
Hausaufgabe
•
Stonebraker, Madden, Abadi, Harizopoulos, Hachem, Helland, The end of an architectural era: (it's time for
a complete rewrite), VLDB 2007.
o
Alexander Reinefeld
Abschnitte 1, 2, 6, 7 geben einen Überblick, warum traditionelle RDBMS und SQL nicht mehr zeitgemäß sind
13
Herunterladen