Introduction to Parallel and Distributed Computing
|
|
Wolfgang Schreiner
326.603, WS 2003/2004
Monday 8:30-10:00, Room T1010
Start: October 6
The efficient application of parallel and distributed systems
(multi-processors and computer networks) is nowadays an important task for
computer scientists and mathematicians. The goal of this course is to provide
an integrated view of the various facets of software development on such
systems including the most important aspects of
- System architectures,
- Programming languages and models,
- Software development tools,
- Software engineering concepts and design patterns,
- Performance modeling and analysis,
- Experimenting and measuring.
Class presentation will be accompanied by hands-on experience on a
SGI Origin
3800
distributed shared memory multiprocessor
using programming models such as
- data-parallel programming (C automatic parallelization),
- multi-threaded programming (C Posix threads),
- message passing programming (MPI-C).
Students are expected to elaborate small programming exercises and to present
them in class; some experience in C programming is assumed.
- Ian T. Foster
- Designing and Building Parallel Programs --
Concepts and Tools for Parallel Software
Engineering, Addison Wesley, Reading, MA, 1995.
- Michael J. Quinn
- Parallel Computing -- Theory and Practice,
2nd edition, McGraw-Hill, New York, NY, 1994.
- Kai Hwang
- Advanced Computer Architecture: Parallelism,
Scalability, Programmability, McGraw-Hill, New York, 1993.
- Introduction
(PostScript Slides)
-
A cross-section of the course.
- The SGI Origin System
-
Architecture and operating system
- Semiautomatic Parallelization
-
Basic concepts and their application on the Origin.
- Performance of Parallel Programs (PostScript Slides)
-
Modeling and analyzing the performance of parallel programs, some material
from Chapter 3 of Designing
and Building Parallel Programs
- MultiThreaded Programming
-
- The MPI Message Passing Interface
-
- General
- MPI on the Origin
- Distributed Memory Programming (PostScript
Slides)
-
Some algorithms for distributed memory multiprocessors.
- Parallel Program Design (PostScript
Slides)
-
The engineering of parallel programs based on Chapter 2 of Designing
and Building Parallel Programs.
- Exercise 1 (Sequential C
Program)
Write a parallel C program solving the All-Pairs Shortest Path Problem using
the automatic parallelization features of the SGI C compiler.
- Exercise 2 (Sequential C
Program)
Write a parallel C program solving the All-Pairs Shortest Path Problem using
the MPI Message Passing Interface.
Maintainer: Wolfgang Schreiner
Last Modification: December 16, 2003
[Up]
[RISC-Linz]
[University]
[Search]