Kick-Off Paralleles Programmieren

Fakultät Informatik Institut für Software- und Multimediatechnik, Lehrstuhl für Softwaretechnologie Kick-Off Paralleles Programmieren Hauptseminar T...
Author: Greta Schenck
1 downloads 0 Views 2MB Size
Fakultät Informatik Institut für Software- und Multimediatechnik, Lehrstuhl für Softwaretechnologie

Kick-Off Paralleles Programmieren

Hauptseminar Thomas Kühn

Motivation Moore's Law „The complexity for minimum component costs has increased at a rate of roughly a factor of two per year.“ – G. Moore [1] 



Physikalische Grenze der Prozessorgeschwindigkeit erreicht ● Taktfrequenz ● Leistung (Energieverbrauch) Trend geht zu Mehrkern- und Co-Prozessorarchitekturen ● Mehrkern CPU's ● CPU und GPU in einem Chip

Abbildung 1: Intel CPU Introductions [2]

Moore's Law gilt weiterhin! HS Paralleles Programmieren

2 / 12

Motivation

The Free Lunch is Over „Software is getting slower more rapidly than hardware becomes faster.“ – N. Wirth [3] 



 

Programme profitieren ● direkt von schnelleren Prozessoren ● indirekt von Optimierungen des Compilers für bestimmte Prozessortypen Programme profitieren nicht ● direkt von mehr Kernen im Computer ● indirekt von Spezial-Prozessoren (z.B. GPUs) Nicht jedes Programm ist parallelisierbar [4] Parallelisierung unentscheidbar für Compiler

Programmiersprachen müssen Konzepte bereitstellen um paralleles Programmieren zu ermöglichen HS Paralleles Programmieren

3 / 12

Motivation

Anforderungen an Programmiersprachen

Welche Konzepte moderner Programmiersprachen erleichtern die Entwicklung von parallelen Anwendungen? Abbildung 2: Programmierung der ENIAC [U. S. Army Photo]   

Unterstützen des Objekt-orientierten Paradigmas Bereitstellen einfacher Konzepte für Parallelität Unterstützen von Synchronisationsmechanismen HS Paralleles Programmieren

4 / 12

Hauptseminar

Themenvorschläge 

















Erlang von Ericsson http://www.erlang.org C# zusammen mit Rx von Microsoft http://msdn.microsoft.com/de-de/data/gg577609.aspx Eiffel SCOOP von Bertrand Meyer http://docs.eiffel.com/book/solutions/concurrent-eiffel-scoop Concurrent Haskell von Simon Peyton Jones et. al. http://www.haskell.org/haskellwiki/GHC/Concurrency Go von Google Corperation http://golang.org Rust von Mozilla Research http://www.rust-lang.org ParaSail von Tucker Taft http://parasail-programming-language.blogspot.de B von Mark S. Miller, Dan Bornstein http://www.erights.org Weitere Vorschläge ... HS Paralleles Programmieren

5 / 12

Hauptseminar

Szenario: SequentialBank

HS Paralleles Programmieren

6 / 12

Hauptseminar

Szenario: SequentialBank Muster Role Object Pattern

Abbildung 3: Strukture des Role Object Patterns [5] HS Paralleles Programmieren

7 / 12

Hauptseminar

Szenario: ParallelBank

Abbildung 3: Titan HPC [Courtesy of Oak Ridge National Laboratory, U.S. Dept. of Energy]

Implementierung einer parallelen Bankanwendung  Implementieren der SequentialBank  Parallelisierung der Anwendung mit modernen Sprachkonzepten Anforderungen  Transaktionen werden zu jeder Zeit (parallel) durchgeführt  Überweisungen können zu jeder Zeit durchgeführt werden  Jede Transaktion wird irgendwann ausgeführt (fairness) HS Paralleles Programmieren

8 / 12

Hauptseminar

Aufgabenstellung

   



Auswahl einer Programmiersprache Einzelne Bearbeitung der Themen Implementierung des Szenarios mit der gewählten Sprache Präsentation der Programmiersprache ● 45 min. Vortrag ● Sprachfeatures für Parallelität / Nebenläufigkeit ● Implementierung des Szenarios Schriftliche Ausarbeitung ● 7-9 Seiten ● Erstellt mit Hilfe von Latex ● Style Lecture Notes On Computer Science (LNCS) ● Sprachfeatures für Parallelität / Nebenläufigkeit ● Implementierung des Szenarios

HS Paralleles Programmieren

9 / 12

Hauptseminar

Organisation

Nächster Termin 24.10.2013  Themenauswahl  Kurze Beschreibung der Sprache (5 min)  Weitere Organisation Weitere Plannung  Einreichen der Inhaltsangabe und Gliederung Anfang Dezember  Abgabe des schriftlichen Teils im Anfang Januar  Gemeinsamer Reviewprozess der Arbeiten mit EasyChair.org  Vorträge in (einer) Blockveranstaltung im Ende Januar

HS Paralleles Programmieren

10 / 12

Referenzen

[1] Cramming more Components onto Integrated Circuits Gordon E. Moore Electronics Magazine (1965) [2] The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software Herberd Sutter Dr. Dobb's Journal (2005) [3] A Plea for Lean Software Niklaus Wirth Computer 28.2 (1995) [4] Limits to Parallel Computation: P-completeness Theory Raymond Greenlaw, H. James Hoover, and Walter L. Ruzzo. Oxford university press (1995) [5] The Role Object Pattern Dirk Bäumer, et al. Washington University Dept. of Computer Science (1998)

HS Paralleles Programmieren

11 / 12

Kick-Off

Paralleles Programmieren

Ende HS Paralleles Programmieren

12 / 12