High Performance ComputingCS-400: Fall 2004
|
|
|
Assignment 3You may work in teams of 2 on this assignment. These teams must all have different composition than the teams defined in Assignment 2. As stated in class, the objective of this assignment is to obtain both sequential and parallel versions of the N-body problem. All versions of the problem will be in 2-dimensions. Also, as we vary N, we will use random generation of masses and initial positions of the N bodies. Once you obtain reasonable bounds for the range of masses and the size of the space, you would do well to be able to write a given configuration out to a file and be able to read a configuration in from a file. This will allow repeated experiments with a consistent configuration. All experiments should target the OSC Itanium-2 cluster. First, program the N2 sequential version of the problem. Run the sequential version for at least 10 trials as you vary N and plot the results. Develop and run locally before you try the same experiments on the OSC front end node. Next, program the quad-tree based sequential version of the problem. As above, epeat the experiments on both a local machine and on the OSC front end. Finally, program a parallel version. Describe your assignment of work to processors and try to quantify utilization -- how evenly balanced or unbalanced is the solution. One way to do this is to have a timestamped final "I'm done" message sent to a master process, so it can calculate when processors are sitting idle waiting for others to finish before the next timestep can begin. Pick a reasonable timestep and number of timesteps appropriate to your configuration. You may have to experiment with this a bit to get some reasonable forces given the masses and positions of your N bodies. |
|
|