Order of Pixel Traversal and Parallel Volume Ray-tracing on the Distributed Shared Volume Buffer

The distributed shared volume buffer (DSVB) is a software package we developed to facilitate general, parallel volume ray-tracing on networked workstations. It is internally implemented with message-passing and adopts the cache-coherent shared memory model. Thus the cache efficiency of volume data access is of utter importance to the performance of a DVSB-based ray-tracer. For a given data set, the data access behavior of a volume ray-tracer depends mostly on the way in which pixels of the image are traversed. This paper addresses the cache coherence problem and compares three kinds of pixel traversal order: one-way, two-way and along a space filling curve. Experiments show that traversing pixels along a space filling curve (e.g. a Hilbert curve) greatly enhances cache efficiency especially when size of the cache is small compared to that of the volume data, and in the meantime greatly simplifies task distribution and management.