In the simplest case of a first order discretization, the solution of the RTE for wavelength point i depends only on the results of the point i -1. Note that only the solution of the RTE is affected by this, the calculation of the opacities and rates remains independent between different wavelength clusters and remains fully parallelized. This means that the majority of the total computational work can be done in parallel, leading to a substantial reduction in wall-clock time per model. Ideal load balancing can be obtained by dynamically allocating wavelength points to wavelength clusters. I where the work topology is identical for each cluster.
All clusters begin immediately by executing the various preprocessing required.
At the same time, cluster 2 has finished calculating the opacities at its wavelength point number 2, done the preprocessing for solving the RTE and then must wait until cluster 1 has sent it the specific intensities for the previous wavelength point. It can then solve the RTE and immediately send its specific intensities on to cluster 1. Because we employ more than one worker per wavelength cluster the combined task and data parallel method described in is used within the wavelength cluster and since the workers are symmetric, the sending of data must only be done between identical workers on each wavelength cluster as depicted in Figure , thus minimizing the inter-cluster communication. This scheme has some predictable properties similar to the performance results for classical serial vector machines. This ratio can be further optimized by using the optimal number of worker nodes per cluster, thus obtaining an optimal number of total nodes.