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) | |||||||||||
|
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: |
|