OR-parallel execution of Prolog on a multi-sequential machine
Author(s) -
Khayri A. M. Ali
Publication year - 1986
Publication title -
international journal of parallel programming
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.255
H-Index - 34
eISSN - 1573-7640
pISSN - 0885-7458
DOI - 10.1007/bf01414554
Subject(s) - prolog , computer science , overhead (engineering) , parallel computing , copying , multiprocessing , execution model , process (computing) , theory of computation , programming language , tree (set theory) , parallel processing , search tree , distributed computing , search algorithm , mathematical analysis , mathematics , political science , law
Based on extending the sequential execution model of Prolog to include parallel execution, we present a method for OR-parallel execution of Prolog on a multiprocessor system. The method reduces the overhead incurred by parallel processing. It allows many processing elements (PEs) to process simultaneously a common branch of a search tree, and each of these PEs creates its local environment and selects a subtree for processing without communication. The run-time overhead is small: simple and efficient operations for selecting the proper subtree. Communication is necessary only when some PEs have exhausted their search spaces and there are others still searching for solutions. The method is able to utilize most of the technology devised for sequential implementation of Prolog. It is optimized for an architecture that supports broadcast copying.
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom