Seminar: Parallele Systeme – Programmierung und Betrieb  (2 SWS  Seminar, Nr. 041407)

Die Entwicklung der Prozessortechnologie und die steigende Bandbreite der Kommunikationsnetze führt dazu, dass die Zahl verfügbarer und damit auch prinzipiell parallel nutzbarer Prozessoren ständig wächst und mit heutigen Technologien sich Systeme aus Standardkomponenten aufbauen lassen, die die Leistungsfähigkeit früherer Supercomputer weit übertreffen. Die Verfügbarkeit von parallelen Prozessoren ist nur ein Aspekt, die vorhandene Leistung muss aber auch genutzt werden. Dazu sind neue Konzepte beim Betrieb und der Programmierung solcher Systeme notwendig.

Das Seminar beschäftigt sich mit solchen Konzepten und beleuchtet in verschiedenen Vorträgen Arbeiten zur Programmierung, zur Leistungsanalyse und zum Scheduling großer paralleler Systeme.

Zeit und Ort:

Das Seminar findet als Kompaktseminar am Do. 10.4. (GB V R 324) und am Fr. 11.4. (GB V R 420) statt.

Anmeldung bis 15.3. per Email an peter.buchholz {..at..} cs.tu-dortmund.de

Die Themenaufteilung erfolgt nach FCFS.

Ausführliche Themen- und Literaturliste

Literatur

Eine Übersicht über den aktuellen Stand und aktuelle Forschungsthemen ist in folgenden Quellen zu finden:

·         The Landscape of Parallel Computing Research: A View from Berkeley, diverse Autoren, Technical Report No. UCB/EECS-2006-183

·         White Paper: “From a Few Cores to Many: A Tera-scale Computing Research Overview,” www.intel.com/research/platform/terascale/index.htm

Die beiden Artikel sollten von allen Seminarteilnehmern/Seminarteilnehmerinnen zuerst gelesen werden.

Interessant ist auch folgende Web-Seite:

·        http://www.uni-koblenz.de/FB4/Institutes/IST/AGEbert/Teaching/WS0708/SeminarParallelComputing

 

Themen

Die folgende Themenliste beinhaltet verschiedene Themen aus dem Bereich Programmierung und Betrieb paralleler Systeme. Für jedes Thema wird Literatur zum Einstieg angegeben. Das Finden weiterer relevanter Literatur gehört zur Ausarbeitung eines Themas. .

Themenliste:

Parallele Programmierung

1.      OpenMP: Struktur und Thread-Modell (auch 2 Vorträge möglich)
Web-Seite www.openmp.org
Proceedings der Workshops on OpenMP (WOMPAT) Springer LNCS 3349 (2005) und 2716 (2004). 

2.      Parallele Programmierung mit Java
Oechsle, Rainer:
 Parallele und verteilte Anwendungen in Java. Hanser 2007. (Standort Sn 23381/2),
Lea, Doug: Concurrent programming in Java, Addison-Wesly 1999 (Standort 3396 LEA)
Y. Mahéo, F. Guidec and L. Courtrai, “Middleware Support for the Deployment of Resource-Aware Parallel Java Components on Heterogeneous Distributed Platforms”, in 30th Euromicro Conference - Component-Based Software Engineering Track, Rennes, France, September 2004. (
PDFPS).

3.      Neue Programmieransätze aus DAPRA HPCS-Programm: Fortress, X10 und Chapel (bis zu 3 separate Vorträge möglich)
G. Steele: The Fortress Parallel Programming Language.
E. Allen et al: The Fortress Language Specification
V. S. Praun:
X10: An Object-Oriented Approach to Non-Uniform Cluster Computing OOPSLA 2005: 519-538
Chapel Programming Language Homepage

4.      Produktivität paralleler Programmiersprachen
IJHPCA Special Issue on HPC Productivity 2004, Volume 18, Number 4 (http://www.highproductivity.org/IJHPCA.html)
S. P. VanderWiel, D. Nathanson, and D. J. Lilja:
Performance in parallel Programming Languages,

Leistungsbewertung und Benchmarking

5.      Benchmarks für parallele Systeme (bis zu 2 Vorträge möglich)
Jack J. Dongarra, Piotr Luszcze: Introduction to the HPCChallenge Benchmark Suite.
B. L. Chamberlain, S. J. Deitz, and L. Snyder: A Comparative Study of the NAS MG Benchmark across Parallel Languages and Architectures,

6.      Messung paralleler Programme
A. Malony, S. Shende, A. Morris, F. Wolf: Compensation of Measurement Overhead in Parallel Performance Profiling, International Journal of High Performance Computing Applications 21(2): 174-194, Special Issue on Selected Papers from the EuroPVM/MPI 2005 Conference, 2007.
http://www.fz-juelich.de/common/icons/go_out.gifPDF
D. Becker, F. Wolf, W. Frings, M. Geimer, B.J.N. Wylie, B. Mohr: Automatic Trace-Based Performance Analysis of Metacomputing Applications. Proceedings of the IEEE International Parallel and Distributed Processing Symposium (IPDPS) , Long Beach, California, March 2007.
http://www.fz-juelich.de/common/icons/go_db.gifPDF
Karl Fürlinger, Michael Gerndt, Jack Dongarra: On Using Incremental Profiling for the Performance Analysis of Shared Memory Parallel Applications. Euro-Par 2007: 62-71 (Springr LNCS 4641)

 

Scheduling und Ressourcenzuteilung in parallelen Systemen

 

7.      Grundlagen des Schedulings in parallelen Systemen
D. G. Feitelson, ``
Scheduling parallel jobs on clusters’’. In High Performance Cluster Computing, Vol 1: Architectures and Systems, Rajkumar Buyya (Ed.), pp. 519-533, Prentice-Hall, 1999.
D. G. Feitelson, L. Rudolph, and U. Schwiegelshohn, ``
Parallel job scheduling --- a status report’’. In Job Scheduling Strategies for Parallel Processing, D. G. Feitelson, L. Rudolph, and U. Schwiegelshohn (Eds.), pp. 1-16, Springer-Verlag, 2004. Lecture Notes in Computer Science Vol. 3277.
D. G. Feitelson, ``
Metrics for parallel job scheduling and their convergence’’. In Job Scheduling Strategies for Parallel Processing, D. G. Feitelson and L. Rudolph (Eds.), pp. 188-206, Springer-Verlag, 2001. Lecture Notes in Computer Science Vol. 2221.

8.      Gang- und CoScheduling (2 Vorträge möglich)
D. G. Feitelson and L. Rudolph, ``
Gang scheduling performance benefits for fine-grain synchronization’’. J. Parallel & Distributed Comput. 16(4), pp. 306-318, Dec 1992.
D. G. Feitelson and L. Rudolph, ``
Coscheduling based on run-time identification of activity working sets’’. Intl. J. Parallel Programming 23(2), pp. 135-160, Apr 1995.
Christos D. Antonopoulos, Dimitrios S. Nikolopoulos, and Theodore S. Papatheodorou. Informing Algorithms for Efficient Scheduling of Synchronizing … In Proceedings of the International Conference on Parallel Processing, pages 123–130, September 2001.
E. Frachtenberg, D. G. Feitelson, F. Petrini, and J. Fernandez, ``
Adaptive parallel job scheduling with flexible coscheduling’’. IEEE Trans. Parallel & Distributed Syst. 16(11) pp. 1066-1077, Nov 2005.
Andrea Carol Arpaci-Dusseau. Implicit coscheduling: Coordinated scheduling with implicit information in distributed systems. ACM Transactions on Computer Systems, 19(3):283–331, August 2001.

9.      Ressourcen-Management und Scheduling in Grids
 A Taxonomy and Survey of Grid Resource Management Systems for Distributed Computing, Klaus Krauter, Rajkumar Buyya, and Muthucumaru Maheswaran; Software – Practice and Experience, Volume 32, Issue 2, 2002, Wiley Press, USA, February 2002.
Algorithms and Software to Schedule and Deploy Independent Tasks in Grid Environments, H. Casanova, J. Hayes, Y. Yang; Invited paper to the Workshop on Distributed Computing, Metacomputing, and Resource Globalization, December 2002, Aussois, France.
On Effects of Machine Configurations on Parallel Job Scheduling in Computational Grids, Carsten Ernemann, Volker Hamscher, Achim Streit, Ramin Yahyapour; Proceedings of the International Conference on Architecture of Computing Systems (ARCS 2002), Karlsruhe, Germany, VDE-Verlag, pp. 169-179.
Architectural Models for Resource Management in the Grid, Rajkumar Buyya, Steve Chapin, and David DiNucci; Proc. First IEEE/ACM International Workshop on Grid Computing (GRID 2000), Springer Verlag LNCS Series, Germany, Dec. 17, 2000, Bangalore, India.


 Anforderungen zur Erlangung des Leistungsnachweises:

·         Erstellen einer Ausarbeitung im Umfang von 15-20 Seiten.

·         Vortrag ca. 45-60 Minuten

·         Leitung der Diskussion im Anschluss an den eigenen Vortrag (ca. 15-20 Minuten)

·         Aktive Teilnahme an den Diskussionen zu den anderen Vorträgen