next up previous contents
Next: Sequential Efficiency Up: Parallel Logic Programming Previous: The Ideal System

Parallelism vs. Efficiency

The aim of developing parallel systems is that of being able of taking advantage of parallel architectures, obtaining faster executions.

Unfortunately, often the research have not focused in the proper direction. The main reason is that the ``search'' for parallelism has been often taken to an extreme. This translates to a very large amount of parallelism extracted from programs, but without taken into account some fundamental aspects, like:

The ideal situation is represented by the achievement of good speedups in presence of the no-slowdown property [54]: the parallel system, in any case, should never take more time than a corresponding sequential execution. This, in particular, translates to having systems capable of maintaining the efficiency of the state-of-the-art sequential implementations.

The logical question is ``how to achieve good efficiency ?'' There are various issues that have to be tackled in the design of a parallel logic programming system in order to guarantee good efficiency, and the rest of this document will mainly focus on them. We can identify three major aspects that have to be analyzed:

The rest of this document concentrates on these issues, the problems and the current solutions for achieving the most efficient implementations of parallel logic programming. The first part revises the current trends in sequential technology--this is relevant since such technology can actually be transferred and easily adapted to parallel systems. The second part concentrates on the issues related to efficient exploitation of the various forms of parallelism.


next up previous contents
Next: Sequential Efficiency Up: Parallel Logic Programming Previous: The Ideal System

'Enrico
Tue Mar 19 14:37:09 MST 1996