Experiences with Mesh-like computations using Prediction Binary Trees

Main Article Content

Gennaro Cordasco
Biagio Cosenza
Rosario De Chiara
Ugo Erra
Vittorio Scarano

Abstract

In this paper we aim at exploiting the temporal coherence among successive phases of a computation, in order to implement a load-balancing technique in mesh-like computations to be mapped on a cluster of processors. A key concept, on which the load balancing schema is built on, is the use of a Predictor component that is in charge of providing an estimation of the unbalancing between successive phases.
By using this information, our method partitions the computation in balanced tasks
through the Prediction Binary Tree (PBT).
At each new phase, current PBT is updated by using previous phase computing time for each task as next-phase's cost estimate. The PBT is designed so that it balances the load across the tasks as well as reduces {\em dependency} among processors for higher performances. Reducing dependency is obtained by using rectangular tiles of the mesh, of almost-square shape (i. e. one dimension is at most twice the other). By reducing dependency, one can reduce inter-processors communication or exploit local dependencies among tasks (such as data locality). Furthermore, we also provide two heuristics which take advantage of data-locality.
Our strategy has been assessed on a significant problem, Parallel Ray Tracing. Our implementation shows a good scalability, and improves performance in both cheaper commodity cluster and high performance clusters with low latency networks.
We report different measurements showing that tasks granularity is a key point for the performances of our decomposition/mapping strategy.

Article Details

Section
Special Issue Papers