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