Skip Administration

Administration

Topic outline

 
Introduction to Parallel and Distributed Computing (326.603, SS 2010)

Time: Monday, 8:30-10:00, Room: T 642, Start: March 1, 2010

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: hardware 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 an SGI Altix 4700 distributed shared memory multiprocessor using the following programming models:

Some background in programming in C/C++ and/or Fortran and/or Java is assumed. Course grades will be based on a couple of programming exercises.

To take part in the course, you have to enrol in the KUSSS system. Since the exercises will be submitted via Moodle, you also have to login in Moodle and register as a course participant. You will then also receive per email all messages posted in the News forum.

 
1
Topics
  • Introduction
  • The SGI Altix System
  • Semi-Automatic Parallelization
  • Performance of Parallel Programs
  • Multi-Threaded Client/Server Programming
  • Parallel Program Design
  • The Message Passing Interface MPI
  • Distributed Memory Algorithms
Literature

Ian Foster: Designing and Building Parallel Programs -- Concepts and Tools for Parallel Software Engineering, Addison Wesley, Reading, MA, 1995. Amazon page.
Michael J. Quinn
: Parallel Programming in C with with MPI and OpenMP, McGraw-Hill, New York, 2003. Source code, Amazon page.
Kai Hwang: Advanced Computer Architecture: Parallelism, Scalability, Programmability, McGraw-Hill, New York, 1993. Amazon page.

Restricted Material
The password to this section is handed out in class.

Show only topic 1
2
Introduction
A quick cross-section of the course.
Show only topic 2
3Show only topic 3
4Show only topic 4
5
Performance of Parallel Programs
Modeling and analyzing the performance of parallel programs, some material from Chapter 3 of Foster's Designing and Building Parallel Programs.
Show only topic 5
6
Multi-Threaded Client/Server Programming
Developing Internet-based parallel programs by simple language/operating system mechanisms.
Show only topic 6
7
Parallel Program Design
The engineering of parallel programs based on Chapter 2 of Foster's Designing and Building Parallel Programs.
Show only topic 7
8Show only topic 8
9
Distributed Memory Algorithms
Some algorithms for distributed memory processors.
Show only topic 9
10
Exercises
Four programming/benchmarking exercises will be handed out which will be used for grading.
Show only topic 10
Skip Calendar

Calendar

Mon Tue Wed Thu Fri Sat Sun
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 Today Friday, 19 March 19 20 21
22 23 24 25 26 27 28
29 30 31     

Events Key

Skip Latest News

Latest News

  • 11 Mar, 11:31
    Wolfgang Schreiner
    Exercise 1 (April 14) more...
  • 26 Feb, 09:37
    Wolfgang Schreiner
    OpenMP and Program Examples more...
Skip Upcoming Events

Upcoming Events

Course event Class
Monday, 22 March, 08:30 AM
»
10:00 AM