VL: Parallelität in funktionalen Sprachen
12 113 11553 Parallelität in funktionalen Sprachen
Prof. Dr. R. Loogen
Dienstags, 16.15 - 18.00 Uhr, HS IV (Lahnberge)
Beginn: 19. Oktober 2010
Übungen Mischa Dieterle
Mittwochs, 14 - 16 Uhr, HS IV (Lahnberge) bzw. Rechnerraum auf D5 (05D08) (Achtung neuer Termin!)
Beginn: 20. Oktober 2010 im Rechnerraum auf D5 (05D08)
Achtung: Die Übungen am Mittwoch, dem 2. Februar 2011 fallen aus!
Fachgebiet Klassifikation Semester Leistungspunkte (ECTS) Skript
Informatik Hauptstudium, Vertiefungsmodul, Theoretische Informatik >=3 6 teilweise

Voraussetzungen: Grundkenntnisse in funktionaler Programmierung
Querverbindungen: -
Scheinkriterien: Erfolgreiche Bearbeitung von 50% der Übungsaufgaben und Kolloquium
Durch das Vorrechnen von Übungsaufgaben im Tutorium können Bonuspunkte erworben werden.


Übungsblätter: ...erscheinen dienstags.
Die Aufgaben sind am darauffolgenden Dienstag vor der Vorlesung abzugeben. Programmieraufgaben senden Sie zusätzlich an dieterle[at]mathematik.uni-marburg.de

Blatt 1, 19.10.2010   (soda.hs)
Blatt 2, 26.10.2010   (sortNet.hs)
Blatt 3, 02.11.2010
Blatt 4, 09.11.2010
Blatt 5, 16.11.2010
Blatt 6, 23.11.2010
Blatt 7, 30.11.2010
Blatt 8, 07.12.2010   (juliaSets.hs)
Blatt 9, 21.12.2010
Blatt 10, 11.01.2011   (mpihosts, summePhi.hs)
Blatt 11, 18.01.2011   (GentlemanSeq.hs, EdenExt.hs mit zusätzlichen parallelen Aktionen)
Blatt 12, 25.01.2011
Blatt 13, 01.02.2011
Blatt 14, 08.02.2011

Software für Übungen: Wir arbeiten aussschließlich unter Linux.
Binaries der verwendeten Software sind am Fachbereich unter /app/lang/functional/bin bzw. /app/lang/functional/bin64 zu finden (Architekturabhängig, festzustellen mit dem Befehl uname -i).
Zur Konfiguration siehe Blatt 1
Konfigurations- / Bedienungsprobleme?
  • Shell auf bash umstellen: http://www.uni-marburg.de/fb12/sys/os/linux/help/chsh
  • Beim login über ssh wird zum Teil das Skript ~/.bash_profile anstelle der ~/.bashrc ausgeführt. Falls die Umgebungsvariablen nicht richtig gesetzt werden kann es daher hilfreich sein auch ~/.bash_profile einzurichten, z.B. in dem man einen symbolischen Link von ~/.bash_profile zu ~/.bashrc setzt:
    ln -s ~/.bash_profile ~/.bashrc
  • Weitere Probleme bitte im Tutorium ansprechen oder an Mischa Dieterle wenden!

Nützliches zu Haskell:

Vorlesungsunterlagen: Folien: Charakteristika funktionaler Sprachen (Druckversion)
Folien zum Exkurs: Vollständige Halbordnungen, Stetige Funktionen, Fixpunktsatz von Tarski
Beispielprogramme zu Multicore Haskell/GpH: Folien zu Eden: Teil 1, Teil 2
Eden-Beispielprogramme: Beispielprogramme zu Concurrent Haskell: testConcHaskell.hs, LockHierarchy.hs
Beispielprogramme zu Software Transactional Memory (STM): testSTM.hs, philosophers.hs

Links: Alles über Haskell
GHC - Glasgow Haskell Compiler
Glasgow Parallel Haskell
Multicore Haskell, Analysewerkzeug: Threadscope
Eden
Concurrent Haskell, Originalarbeit
Haskell plus MPI
Data Parallel Haskell
Literatur:


Inhalt/Buchkapitel: Titelseite und Vorwort zum Buch
  1. Grundbegriffe und Klassifikation paralleler funktionaler Sprachen
  2. Hauptmerkmale und Eigenschaften funktionaler Sprachen
  3. Implizite Kontrollparallelität
  4. Die Kernsprache Mini-Haskell
  5. Striktheitsanalyse
  6. Kontrollierte Parallelität
  7. Prozeßkontrollsprachen, Algorithmische Skelette, Kostenmodelle
  8. Explizite Parallelität
  9. Datenparallelität


Zuletzt geändert: Tuesday, 15-Feb-2011 15:02:30 CET