Technical Report: DCC-97-16

Distance: a New Metric for Controlling Granularity for Parallel Execution

Kish Shen, VĂ­tor Santos Costa and Andy King

University of Manchester / DCC-FC & LIACC, Universidade do Porto / University of Kent at Canterbury

December 1997


Granularity control is a method to improve parallel execution performance by limiting excessive parallelism. The general idea is that if the gain obtained by executing a task in parallel is less than the overheads required to support parallel execution, then the task is better executed sequentially. Traditionally, in logic programming task size is estimated from the sequential time-complexity of evaluating the task. Tasks are only executed in parallel if task size exceeds a pre-determined threshold.

We argue in this paper that the estimation of complexity on its own is not an ideal metric for improving the performance of parallel programs through granularity control. We present a new metric for measuring granularity, based on a notion of distance. We present some initial results with two very simple methods of using this metric for granularity control. We then discuss how more sophisticated granularity control methods can be devised using the new metric.

Keywords: Parallel Logic Programming, And-Or Parallelism, Program Analysis.