Assignment 4 (30 points)

In this assignment, each team will extend and redesign the cluster created in Assignment 3 to include a shared file system.

Part I: (20 points)

You are to update your fork with new updates from the original cluster template. This could be done in the following manner: https://help.github.com/articles/syncing-a-fork/

You are to set up a networked file system (NFS) to help mount the following shared file systems on the compute- nodes:

  • One NFS is originated from the head node, and supports a shared directory called /software.
  • One NFS is originated from the storage node, and supports a shared directory called /scratch.

  • The above NFS directories are to be mounted on the head node and compute- nodes.

  • The above NFS directories should be automounted.

You are to modify the install_mpi.sh script so that OpenMPI is now installed only on the head node inside the /software directory

  • You must also modify the default PATH on all compute- nodes so that mpirun, mpicc, and all other MPI-related commands and libraries are accessible directly without having to provide the full path to the MPI installation.
  • To test your setting, you will copy the hello.c and machine_list files to /scratch and demonstrate that you only need to compile hello.c once to run them across all compute- nodes.

Part II: (10 points)

Once your cluster is working properly, modify your profile as follows:

  • increase the number of compute- nodes from 3 to 12.
  • include an additional MPI source file containing the modified pi_mc.c source code with timer (we will cover this in the Pleasantly Parallel notebook).
  • run and record timing results for the following amount of processes: 2, 4, 6, 8, 10, and 12.

Submission:

You should submit a text file to D2L containing the following:

  • URL to your team's Github repository.
  • URL to your CloudLab experiment that has a successful deployment of the profile. The experiment's duration should have been extended such that there are at least 24 hours remain from the D2L submission time.
  • The recorded timing results in Part II.
  • Any additional notes that I must be aware of when testing your experiment
  • This is a team assignment. Each team should only have one submission