Mars Mosaic Generation Timing on 8 and 16 CPUs On 450MHz and 800MHz Clusters
Timing Anaysis on 8 CPUs:
The figures above show the times that are consumed on the problem set-up, the reading of the data, the desired image processing, the communication between CPUs and the writing to disk for two different beowulf clusters (16 CPUs running at 450MHz and and 40 CPUs running at 800MHz).
The good news of the above graphs that most of the time is spent on the actual image processing (orange bars). The bad news is that the different CPUs work on the problem for significant periods of time. One solution to the load balancing problem is the more careful analysis of the image data staging in the search algorithm (that is the only difference in the work performed by the various CPUs). An approach that is more independent of the image sequencing and data staging can be a master-slave approach, where the work is dished out to the worker CPUs in smaller chunks in an asynchronous fashion. As some CPU's finish their chunk before others, they can start working on the next chunk.
It is interesting to note that the load balancing problem is relatively speaking smaller for the faster CPUs compared to the slower CPUs.
The apparently large communication cost on CPU 0 includes the time for the waiting of the data from CPUs 6 and 7.
Timing Analysis on 16 CPUs:
The figure below shows similar CPU times for 16 CPUs on the same machines. Again a load balancing problem is significant, and again it is more significant for the slower cluster.
Timing Analysis on 40 CPUs:
Running the algorithm on more than 24 CPUs results in a significant data staging problem as explained in a different web page.
This work was sponsored by the TMOD technology program under the Beowulf Application and Networking Environment (BANE) task.The original VICAR based software is maintained in the Multi-mission Image Processing Laboratory (MIPL). The work was performed in a collaboration between Gerhard Klimeck, Myche McAuley, Tom Cwik, Bob Deen, and Eric DeJong