Premium
Out‐of‐Core and Dynamic Programming for Data Distribution on a Volume Visualization Cluster
Author(s) -
Frank S.,
Kaufman A.
Publication year - 2009
Publication title -
computer graphics forum
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.578
H-Index - 120
eISSN - 1467-8659
pISSN - 0167-7055
DOI - 10.1111/j.1467-8659.2008.01307.x
Subject(s) - computer science , load balancing (electrical power) , preprocessor , ray casting , space partitioning , rendering (computer graphics) , distributed computing , parallel computing , scheduling (production processes) , algorithm , volume rendering , computer graphics (images) , mathematical optimization , artificial intelligence , mathematics , geometry , grid
Ray directed volume‐rendering algorithms are well suited for parallel implementation in a distributed cluster environment. For distributed ray casting, the scene must be partitioned between nodes for good load balancing, and a strict view‐dependent priority order is required for image composition. In this paper, we define the load balanced network distribution (LBND) problem and map it to the NP‐complete precedence constrained job‐shop scheduling problem. We introduce a kd‐tree solution and a dynamic programming solution. To process a massive data set, either a parallel or an out‐of‐core approach is required. Parallel preprocessing is performed by render nodes on data, which are allocated using a static data structure. Volumetric data sets often contain a large portion of voxels that will never be rendered, or empty space. Parallel preprocessing fails to take advantage of this. Our slab‐projection slice, introduced in this paper, tracks empty space across consecutive slices of data to reduce the amount of data distributed and rendered. It is used to facilitate out‐of‐core bricking and kd‐tree partitioning. Load balancing using each of our approaches is compared with traditional methods using several segmented regions of the Visible Korean data set.