
Parallel Processing for Data Visualization
The potential problem in scientific data visualization and simulation is how to efficiently produce the outputs in reasonable time. Parallel processing offers the solution of the high-performance requirement by dividing a large single problem into multiple sub-problems.
Implementation
Our approach is the implementation of the parallel processing using MPI (Message Passing Interface) within Visualization toolkit (VTK). We run parallel VTK programs on Linux-based quad-process (4-CPUs) system and SGI Origin2000 Onyx2 system (24-CPUs), and compare the performance results with single-processing programs.
MPI allows each processor to deal with small dataset, and to process several VTK filters separately. Once the processors in MPI communication group finish their jobs, they send the outputs to the master process. At last, the master processor receives the outputs and joins them together into a single dataset.
Our implementation was reading a set of 2D slices images and generating 3D volume from them. We evenly divided the set of 2D images by the number of processes, and then assigned the subset to each processor to produce its sub-polygonal dataset. Finally, the master processor appended all sub-polygonal datasets, and then rendered a 3D-volume image. Figure 1 illustrates our parallel processing approach with VTK.
Performance Result
We tested two examples on both SGI Origin2000 Onyx2 system and Linux based quad-processor system. One is a volume image of human head, the other is extracting the skeleton of the frog. They are both using the combination of task parallelism and data parallelism. We saw the gradual performance gain, as the number of processors was incremented.
The results demonstrated performance enhancement for MPI parallel visualization application.



