Cluster Computing 2 (1999) 219–227 219 Distributed volume morphing Leewen Lin a , Chungnan Lee a and Tong-Yee Lee b a Institute of Computer and Information Engineering, National Sun Yat-Sen University, Kaohsiung, Taiwan b Department of Computer Science and Information Engineering, National Cheng-Kung University, Tainan, Taiwan 3D morphing is a popular technique for creating a smooth transition between two objects. In this paper we integrate volume morphing and rendering in a distributed network environment to speed up the computation efficiency. We describe our proposed system architecture of distributed volume morphing and the proposed algorithms, along with their implementation and performance on the networked workstations. A load evaluation function is proposed to partition the workload and the workstation cluster for better load balancing and then to improve the performance under highly uneven load situation. The performance evaluation for five load balancing strategies are conducted. Among them, the strategy ‘Request’ performs the best in terms of speedup. 1. Introduction Volume morphing is a technique for generating smooth 3D image transformation between two objects. A source model is mapped to a target model by incrementally com- puting a function that converges the shape (and color) of the source to the target. It has been used in entertainment industry for a long time and can also be used as a tool for illustration and teaching purposes. Methods have been developed to deform various types of objects such as 2D polygons [9], 3D polyhedral models [4], 2D rasters [1,10], and 3D rasters [3,6]. Volume rendering, which often follows the morphed volume construction, is a method for producing an im- age from a 3D array of sampled scalar data. How- ever, it is a computationally intensive application. Hence, many researchers use parallel computers to speed up the computation and make interactive feasible. Though vol- ume morphing and rendering can be performed indepen- dently among different processors, their computation time and inter-communication are irregular and unpredictable. Hence, it is necessary to come up with some strategies to achieve fast volume morphing and rendering in the distrib- uted environment. In this paper, we focus on distributed volume morphing with rendering process. Because of the large amount of volume data and the high computational cost, we introduce a master–slave structure to parallelize volume morphing. We propose five strategies to distribute the load to achieve fast computation. A load evaluation function is used to predict the execution time of warping a volume for each frame. Based on prediction, the master can dynamically divide slaves into two groups for each frame in advance. Also, we use the prediction function to make volume par- tition for the adaptive load balancing. The remainder of the paper is organized as follows. Sec- tion 2 begins with a brief survey of previous volume morph- ing algorithms, volume rendering and parallel techniques. In section 3 we propose a load evaluation function and de- scribe five distributed volume morphing strategies and then evaluate their performance. Section 4 describes the details and pseudo code for implementation. Section 5 gives the results of performance evaluation of five strategies. Finally, we conclude the paper with suggestions for future work in section 6. 2. Prior work Feature-based volume morphing [6] creates every mor- phing in two steps, warping and blending as illustrated in figure 1. The first step in the volume morphing pipeline is to warp the source and target volumes S and T into vol- umes S ′ and T ′ . The animator identifies two corresponding features in S and T , by defining a pair of elements (e s , e t ). These features should be transformed from one to the other during the morph. In feature-based morphing, elements come in pairs, one element in the source volume S, and its counterpart in the target volume T . Two general types of task partitions for parallel volume rendering algorithms are object partitions and image par- titions. In object partition each processor is assigned a specific subset of the volume data to resample and com- posite [7,8]. The partial images from each processor must then be composed together to form the image. In contrast, in image partition each processor is only responsible for a portion of the image [8]. Different from previous work in parallel rendering, there are two novelties in our research. First, we parallelize vol- ume morphing that is not reported in the literature so far. Furthermore, volume morphing, which is a pipeline work of warping, blending, and rendering, is much more com- plicated than volume rendering. We must synchronize all phases of pipeline to achieve a better speedup. In this study the object partition is used to assign tasks rather than im- age space, because it needs more communication for the warped volume transmission at the blending phase among slaves than that of parallel volume rendering. Baltzer Science Publishers BV