Wednesday October 2, 2013
This problem concerns a parallel model of a population of rabbits. The problem is an extension of Rabbit Reproduction, http://hpcuniversity.org/students/weeklyChallenge/58/ and Rabbits 2, http://hpcuniversity.org/students/weeklyChallenge/59/. You may want to familiarize yourself with those problems first.
Using the solutions to the previous two problems (Rabbit Reproduction and Rabbits 2), design a new program that will run a grid of breeding rabbits across n processors in parallel. For the purposes of this problem, assume that the grid is an island (i.e. the edges do not wrap around). Add in timing information that will demonstrate speedup (or the lack of speedup) and produce a graph of the speedup as you go from 1 processor to n. If you don't see positive speedup, can you determine why?
The attached zip file provides C code, a Makefile, and a README for a solution to this problem.