Kick-Off Paralleles Programmieren

Werbung
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
Herunterladen