Ruprecht-Karls-Universität Heidelberg
Institut für Computerlinguistik

Bilder vom Neuenheimer Feld, Heidelberg und der Universität Heidelberg

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:1512: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 (schamoni(at)cl.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.

» weitere Kursmaterialien

zum Seitenanfang