Parallel Programming Paradigms
Kursbeschreibung
Studiengang | Modulkürzel | Leistungs- bewertung |
---|---|---|
BA-2010[100%|75%] | CS-CL | 6 LP |
BA-2010[50%] | BS-CL | 6 LP |
BA-2010[25%] | BS-AC | 4 LP |
NBA[100%|75%] | CS-CL | 6 LP |
NBA[50%|25%] | BS-CL, BS-AC | 4 LP |
Magister | - | - |
Dozenten/-innen | Schigehiko Schamoni |
Veranstaltungsart | Proseminar |
Erster Termin | 28.04.2014 |
Zeit und Ort | Mo, 11:15–12:45, INF 350 (OMZ) / U012 |
Commitment-Frist | 16.06.–13.07.2014 |
Teilnahmevoraussetzungen
Erfolgreiche Teilnahme an den Kursen "Programmieren I" und "Programmieren II"
Anmeldung
Bitte per Email an den Dozenten (schamonicl.uni-heidelberg.de)
Leistungsnachweis
- regelmäßige Teilnahme
- Programmierübungen
- Projekt (Implementierung)
Inhalt
Der enorme technische Fortschritt der letzten Jahre eröffnet völlig neue Möglichkeiten zur Verarbeitung großer Datenmengen. Die effiziente Nutzung dieser modernen Rechnerarchitekturen erfordert jedoch spezielle Programmieransätze. Diese Veranstaltung vermittelt einen Überblick über die wichtigsten Programmierparadigmen für parallele Architekturen:
- Shared-Memory (Posix-/Java-Threads, OpenMP)
- Distributed Memory (Message Passing)
- GPGPU-Programming (CUDA)
- MapReduce
Die MapReduce-Architektur Hadoop und die Verarbeitung und Analyse großer Textkorpora bilden die Schwerpunkte der Veranstaltung:
- Hadoop, MapReduce-Architektur
- MapReduce Design-Patterns
- Data-intensive Text Processing
Lernziele:
Die Studierenden kennen die Unterschiede aktueller Rechnerarchitekturen und können beurteilen, welcher Ansatz für welches Problem geeignet ist. Sie wenden die wichtigsten Design-Patterns für MapReduce-Programmierung an und entwickeln selbstständig Hadoop-Applikationen
Kursübersicht
Seminarplan
Datum | Sitzung | Materialien |
---|---|---|
21.04 | (Ostermontag) | |
28.04 | Introduction, IWR-Pool, Computerarchitectures | Intro, Folien 1, Übung 1 |
05.05. | Parallel Computing (I): Overview, Multicore | Folien 2, Übung 2 |
12.05. | Parallel Computing (II): Message Passing | Folien 3 |
19.05. | Parallel Computing (III): Manycore (1) | Folien 4a, Übung 3 |
26.05. | Parallel Computing (III): Manycore (2) | Folien 4b |
02.06. | MapReduce, Datacenter as a Computer | Folien 5, Übung 4 |
09.06. | (Pfingstmontag) | |
16.06. | Presentation: MapReduce Algorithm Design Lauritz Brandt, Xenia Kühling |
Folien A, Folien B |
23.06. | entfällt (Dozent ist verhindert) | |
30.06. | Presentation: Inverted Indexing Sebastian Burst, Arthur Neidlein, Juri Opitz |
Folien |
07.07. | Presentation: Graph Algorithms Catarina Cramer, David Grimm, Angelika Kirilin |
Folien |
14.07. | Machine Learning and Parallel Architectures | |
21.07. | Final Session: Discussion and Roundup |
Literatur
- Lin and Dyer (2010). Data-Intensive Text Processing with MapReduce. Morgan & Claypool.
- Abney (2008). Semisupervised Learning for Computational Linguistics. Chapman & Hall/CRC.
- Hennesey and Patterson (2011). Computer Architectures - A Quantitative Approach (5th Edition) . Elsevier, Morgan Kaufmann.