CS 697 - Projektarbeit: Eden-Implementierung
12 113 43756 CS 697 - Projektarbeit: Implementierung der parallelen Haskell-Erweiterung Eden als Haskell-Bibliothek
Prof. Dr. R. Loogen, Dipl.-Inform. Mischa Dieterle, Dipl.-Inform. Thomas Horstmeyer
dienstags, 14:15-18:00 Uhr, SR VII (Raum 05D01,Lahnberge)
Vorbesprechung: 16. Oktober 2012, 14.15-15.00 Uhr, SR VII (Raum 05D01,Lahnberge)
Fachgebiet Klassifikation Semester Leistungspunkte Skript
Informatik Masterstudium >= 1 12 nein

Voraussetzungen: Grundkenntnisse in der Programmierung mit Haskell
Querverbindungen: Haskell, Parallele Programmierung, Compilerbau, Implementierungstechniken


Beschreibung: Eden ist eine parallele Erweiterung von Haskell. Im Wesentlichen werden Konstrukte zur Definition und Erzeugung von Prozessen bereitgestellt. Der Datenaustausch zwischen Prozessen kann automatisch erfolgen, aber auch vom Programmierer durch explizite Konstrukte gesteuert werden. Der Anwendungsprogrammierer kann zudem auf eine reichhaltige Sammlung von algorithmischen Skeletten zurückgreifen, die typische parallele Berechnungsmuster als Funktionen höherer Ordnung bereitstellen.

Zur Implementierung von Eden wurde der Glasgow Haskell Compiler (GHC) um ein paralleles Laufzeitsystem erweitert. Die Implementierung basiert auf einer geringen Anzahl primitiver Operationen, die direkt durch das Laufzeitsystem bereitgestellt werden. Die Eden-Konstrukte selbst sind in Haskell unter Verwendung der primitiven Operationen implementiert. Als Middleware werden auf verteilten Systemen das Message Passing Interface (MPI) oder die Parallel Virtual Machine (PVM) eingesetzt.

In der Projektarbeit sollen alternative Implementierungsmethoden auf Mehrkernrechnern und verteilten Systemen untersucht werden. Die Projektarbeit erstreckt sich über das Wintersemester 2012/13 und das Sommersemester 2013. Im ersten Semester erfolgt eine Einführung in die Programmierung mit Eden und die Implementierung von Eden. In einem Begleitseminar werden alternative parallele Erweiterungen von Haskell und deren Implementierungen behandelt.

Seminarthemen:
  1. Multicore Haskell und das Threaded Laufzeitsystem
  2. Die Par Monade und ihre Implementierung als Haskell-Bibliothek
  3. Cloud Haskell (= Haskell + Erlang) und das Modul Distributed-Processes
  4. Haskell und MPI
  5. Data Parallel Haskell
    • Data Parallel Haskell: A Status Report, Manuel M. T. Chakravarty, Roman Leshchinskiy, Simon Peyton Jones, Gabriele Keller, and Simon Marlow. In DAMP 2007: Workshop on Declarative Aspects of Multicore Programming, ACM Press, 2007.
    • Wiki-Seite


Zuletzt geändert: Thursday, 11-Oct-2012 16:49:11 CEST