Project Assignment 2
1. Individual assignment
Try compile and run an MPI-IO program
Find a simple MPI-IO program and compile it. There is an examples directory on the
class cluster, at
It contains an MPI-IO sample
program called simpleio.c. The examples directory also contains a Makefile. You can
copy the whole directory to your work directory and compile the simpleio program
Execute the program on 2 processors:
mpirun -machinefile ~/.rhosts -np 2 simpleio -fname test
Try again with a different number of processors.
Download and compile coll_perf.c,
which measures MPI-IO collective read/write performance. Run the program with 4 processors:
mpirun -machinefile ~/.rhosts -np 4 coll_perf -fname coll_test
Modify an MPI-IO program and perform basic benchmarking
Read this paper: A Case for Using MPI's
Derived Datatypes to Improve I/O Performance.
to have the default block distribution on a 2-D 2048 by 2048 integer
array (total array size is 16MB). Implement the level 0 through level
3 parallel I/O methods. Measure their aggregate read/write throughput in
MB/s using 4 MPI processes on 4 nodes, using your home directory as
file destination. Report the results from no less
than 5 experiments in an Excel (or other software that you are
familiar with) chart. Print the chart and bring it to the class on due
Repeat the above expriments, but forcing the 4 MPI processes to run on
2 SMP nodes.
2. Group assignment
Find existing Grid systems
Here is an example of an existing Grid system: NPACI grid. Collaborate with each other and find three more existing grid systems.
For each of them, prepare 3-4 overview slides introducing the hardware and software facilities, and
1-2 slides discussing their job submission procedure: how can a user submit her job to this grid
system? What information is required? Give web links. Present the slides in class on the due day.