Distributed execution of logic programs on heterogeneous processors requiresefficient task distribution and engine synchronization to exploit thepotential for performance. This paper presents a task-driven schedulingtechnique to distribute tasks to engines effectively. It consists of adynamic hierarchy of distributed scheduling components able to adapt toprogram characteristics and the platform configuration and to controlthe considerable communication costs while exploiting good degrees ofparallelism. It also incorporates an abort & failure mechanism to reducespeculative work and keep engines as busy as possible. Several experimentalresults illustrate the performance of the model.
展开▼