Optimising Parallel Logic Programming Systems for Scalable Machines

Vitor Santos Costa and Ricardo Bianchini

Abstract
This paper addresses the question of whether the poor performance obtained by parallel logic programming (PLP) systems on modern multiprocessors is inherent to the complex structure of these systems or can be improved through careful analysis and tuning. To answer this question, we analise the caching behaviour of all data structures of an efficient PLP system (Andorra-I) on a scalable multiprocessor. Based on this analysis we optimise the Andorra-I code using 5 different techniques. Our results are impressive. Some of our programs begun to approach linear speedup as a result of the optimisations. Our main conclusion is then that, even though PLP systems are indeed complex and sometimes irregular, these systems can and should perform well on modern scalable multiprocessors.
Contact
Vitor Santos Costa
COPPE Sistemas e Computacao,Universidade Federal do Rio de Janeiro,Centro de Tecnologia, Bloco H, Sala H-319,Ilha do Fundao, Rio de Janeiro, RJ, Brazil,21945-970,
vitor@cos.ufrj.br