[ 201LOSDIPDV20 ] VL Introduction to parallel and distributed computing

Workload Education level Study areas Responsible person Hours per week Coordinating university
3 ECTS B3 - Bachelor's programme 3. year Mathematics Wolfgang Schreiner 2 hpw Johannes Kepler University Linz
Detailed information
Original study plan Bachelor's programme Technical Mathematics 2022W
Objectives Students are able to write programs for concurrent systems (multi-core processors and multi-processor architectures) using various widely used high-level (application-oriented) parallel programming paradigms. They understand and are able to overcome basic problems of concurrency such as data races and performance bottlenecks in order to write correct and scalable programs that are able to effectively utilize the resources of modern high-performance computing systems. Furthermore, students are able to experimentally evaluate the performance of their programs in a systematic way.
Subject High-level parallel programming models:

  • Automatic parallelization.
  • OpenMP.
  • Java concurrency API.
  • MPI.

Fundamentals of parallel software development:

  • Parallel architectures.
  • Performance evaluation.
  • Parallel program design.
  • Parallel algorithms.
Criteria for evaluation Programming exercises performed on a high-performance computing server of the JKU.
Methods Slide presentations with case studies on blackboard and live demonstrations on local computer respectively remote servers.
Language English and French
Study material Lecture slides and public information about parallel programming APIs (Java, OpenMP, MPI, POSIX Threads, C++) available from the course page.

Additional literature:

  • Peter Pacheco and Matthew Malensek: An Introduction to Parallel Programming, 2nd edition. Morgan Kaufmann, 2021.
  • Roman Trobec et al: Introduction to Parallel Computing: From Algorithms to Programming on State-of-the-Art Platforms, Springer, 2018.
  • Bertil Schmidt et al.: Parallel Computing - Concepts and Practice, Morgan Kaufmann, 2017.
  • Thomas Rauber and Gudula R√ľnger: Parallel Programming for Multicore and Cluster Systems, Springer, 2013.
  • Michael J. Quinn: Parallel Programming in C with with MPI and OpenMP, McGraw-Hill, 2003.
  • Ian Foster: Designing and Building Parallel Programs, Addison-Wesley, 1995.
Changing subject? No
Further information
Until term 2020S known as: TM1WIVOPVRE VL Introduction to parallel and distributed computing
On-site course
Maximum number of participants -
Assignment procedure Direct assignment