With communication happening at nearly every evolution step, does parallelism actually increase performance?
Before running any experiments, I expected that there’s 2 cases where parallelism would decrease execution time: • A sparsely populated ocean. Here there are very few fish/sharks in the boundary strips, so little communication will take place. • A densely populated ocean with a large number of processors. Here, the time to evolve p fish/sharks in parallel with communication is less than the time to evolve p fish/sharks sequentially on one processor with no communication. Assignment 4 was modified to not display any graphics or sleep between epochs. The number of epochs (EVOLVE_STEPS) was changed to 1000. The file input format was changed to use a density of fish and sharks so that no initial placement is needed. The format is n (the ocean length on one side; ocean has n*n cells), fish density, shark density, fish breeding age, shark breeding age, fish lifetime, shark lifetime (how long shark can live without eating). Fish and shark density are floating point values corresponding to the