This dissertation is divided into two parts. The first part presents a general overview of parallel logic programming, distributed logic programming and scheduling. The second part describes the methodology used in the development of the PALS system, an implementation of Prolog capable of efficiently exploiting OR-parallelism on distributed memory machines. PALS uses a novel technique, called Incremental stack-splitting, along with a very efficient distributed scheduling algorithm as well as an effective side effects handling algorithm. The implementation results and performance studies presented confirm the validity of this methodology as a simple but effective technique to transition search based systems from shared memory to distributed memory. |