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
/opt/mpich-1.2.4..8/examples
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
there.
-
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.
-
Modify coll_perf.c
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
day.
-
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.
Resources