CSCI 624 : Distributed Systems : Fall 2009



Professor Ernesto Gomez
phone: (909)537-5429
office: jb337
home page: www.csci.csusb.edu/egomez/
email: ernesto@csusb.edu

Class: Tuesday-Thursday 3:30-5:20PM, College of Education 113
office hours: TBA (or by appointment)

text: L. Ridgway Scott, Terry Clark, Babak Bagheri, "Scientific Parallel Computing", Princeton 2005


Description:

This course will focus on programming distributed computer systems. The course will include theoretical models of distributed processing, their application to real systems, programming paradigms and algorithms for distributed processing.

Specific objectives of the course are:

This class will include advanced topics of current research that are not present in the text (or in any text). Where possible, additional references will be cited, and notes will be provided, but some topics will, of necessity only be covered in class discussion. It is your responsibility to take notes of such topics.


Recommended references:

Web references:

Planguages references:

Assignments:

More notes:

The PC compiler:



If you get '-laio not found' error when running MPI programs, you need to place the mpich/bin directory at the start of your PATH environment variable - the error is due to calling the wrong version of mpirun (see me for details on this).

The directory /u/faculty/egomez/mpi-examples contains cpi.c and all the header files, also a compiled version of same that you can test, also file machines.4 that you can use in your tests. You can copy this directory to your account, then cd into it and try

"mpirun -np 4 -machinefile machines.4 cpi", and
"mpicc -lm cpi.c -o cpi"

Examples of distributed programs in MPI and Planguages may be found in ~egomez/mpich/examples and in ~egomez/plang/install/examples

Programming note: if programming in MPI and C, printf from different processes may appear out of order, even if the processes are ordered, due to buffered standard output. When using printf to standard output, follow it with "fflush(stdio);" to force the buffers to empty. Only do this if output order from multiple processes is important, because it slows things down.

last modified October 1 2008 Locations of visitors to this page