User Tools

Site Tools


The goal of this research project is to continue working on the parallel computing with Raspberry Pis from previous projects. Since I had no experience in parallel computing, I took a few days learning with older Raspberry Pis. I successfully connected the master node with the worker node on old RPis following the tutorial, and found out that two RPis had stopped working, which let me move on to RPi Model 3. I also did testing on all SD cards to see what they had. I recorded the information in SD Card Chart.

After testing out all SD cards, I used card 3.2 and made it a master node with a RPi 3; then, I put it in the cluster with other two RPi 3s(they were two worker nodes: worker002, and worker003). I also installed the newest version of mpich - mpich3.3 - on all three Pis. Even though I had some problems while connecting the master node with the worker nodes, with Dr. Carl's help, I successfully connected them and made them talk to each other. Here is some notes about setting up RPis: Raspberry Pi setup notes.

Next, I learned how to mount the hard drive on RPis. With this tutorial, I mounted the HD on the master node and other two worker nodes. To make them automatically mount every time I start up Pis, I put the specific code in all “.bashrc” files of three nodes. There's a section in that tutorial talking about how to do it.

Finally, we moved on to building and running the parallel version of pandemic simulation using three nodes with Pandemic tutorial. Because of a few problems while making three nodes talk to each other, I did spend some time to solve those obstacles. After this, I wrote machine files with the number of cores of each Pi(4 cores) and put them in “mpi_testing” directory; then I moved the pandemic program in the hard drive located at ~/mnt/nfs/Project/Pandemic-mpi/. Make sure that the program is located in the same directory and same path on all nodes.

For some reason, worker002 couldn't work with master and worker003, but the next day I could run the pandemic simulation with all three Pis(12 cores). Therefore, I put a MPI timer(MPI_Wtime) in the program so it could give the time it takes to calculate and show the result in the terminal. Since the RPi 3s I used didn't have some libraries including X11, I commented out the part that required this library and Dr. Carl added a piece of code in “Pandemic.c” so it could display the result in terminal. In the end, I tested out the program from 1 core to 12 cores on master node and recored the time in here.

pdc/ctv.txt · Last modified: 2021/01/25 20:46 by lix2