Granularity Control in the Logflow Parallel Prolog System


LOGFLOW is a parallel Prolog implementation for massively parallel distributed memory systems. The LOGFLOW execution mechanism combines a very fine-grain data driven scheme and the well-known coarse-grain WAM-based scheme. The LOGFLOW compiler generates two code versions for each Prolog program: 3DPAM (Distributed Data Driven Prolog Abstract Machine) code and WAM code. The Granularity Controller of each LOGFLOW processor dynamically chooses one of these codes according to the runtime load level of its near neighbours. As a result LOGFLOW can shift parallel 3DPAM activities into sequential WAM activities in overloaded processor domains and vice versa it can switch back to parallel activities in underloaded processor domains. The granularity control mechanism is called BangBang Granularity Control (BGC) [1]. The paper describes how the BGC is realised in the LOGFLOW parallel Prolog system. Performance measurement results obtained on a 16-Transputer system illustrates the strength of the BGC scheme. A combination with two kinds of user notations are also shown and a Granularity Analyser is proposed to automatically generate user notations.

10 Figures and Tables

Cite this paper

@inproceedings{Kacsuk2007GranularityCI, title={Granularity Control in the Logflow Parallel Prolog System}, author={P{\'e}ter Kacsuk}, year={2007} }