Dana Vrajitoru

B524 - B424 Parallel and Distributed Programming

Links, Description, Documentation


Week Homeworks Labs Slides
14 Lab 3 8.3 Monitors
12Homework 10 8.2 Semaphores
8.1 Conditional Variables
11Homework 9 7.4 Dependency Analysis, LU, Cholesky Decompositions
10 7.3 Readers and Writers
9Homework 8 Lab 2 7.2 Synchronisation
7.1 Introduction to the Pthread library
7. Shared Memory Models
8Homework 7 6.3 Producers and Consumers
6.2 Client-Server
7Homework 6 6.1 Pool of tasks
6 Embarrassingly Parallel Algorithms
MPI Scatter and Gather
5Homework 5 5.4 Program Decomposition continued
5 Program Decomposition
4Homework 4 4.1 Pipeline Computations continued
4. Pipeline Computations
3Homework 3 3 Divide and Conquer
3Homework 2 Lab 1 2. Message Passing
2.1 Introduction to MPI
2Homework 1 1. Introduction

Midterm test: Tuesday, October 19, 2004.

Some ideas of projects for the graduate students.

A homework turned in 1 week late loses 25% of the points. A homework turned in 2 weeks late looses 50% of the points.No homework accepted after 2 weeks from the due date.


Links and resources

Syllabus
Parallel Knoppix distribution
MPI and Beowulf resources
Linux resources
An introduction to Pthreads


Course description:

Overview of parallel computers, shared memory, message passing, MIMD and SIMD classifications. Understanding and use of message passing and synchronization facilities such as MPI. Study of parallel programming models such as master-slave, client-server, tast-farming, divide-and-conquer and pipelining. Performance analysis of parallel systems, execution time, time complexity, load balancing and scalability.

B524 involves a project. Credit not given for both B424 and B524.

Prerequisites: C243, M301.


Documentation

Textbook: B. Wilkinson, M. Allen (1999): Parallel Programming, Prentice-Hall.

G. R. Andrews (2000): Foundations of Multithreaded, Parallel and Distributed Programming, Addison-Wesley.

W. Gropp, E. Lusk, A. Skjellum (1999): Using MPI, second edition, MIT Press.

W. Gropp, M. Snir, B. Nitzberg, E. Lusk (1998): MPI--the complete reference, MIT Press.

P. S. Pacheco (1997): Parallel programming with MPI, Morgan Kaufmann.

S. H. Roosta(2000): Parallel processing and parallel algorithms : theory and computation, Springer.


Last modified: November 16, 2004.
danav@cs.iusb.edu.