A Parallel Implementation for AKL

This paper describes the design of an AND/OR parallel implementation called ParAKL, for the Andorra Kernel Language. The design is inspired by the Warren Abstract Machine with some important extensions. One of the main problems in AND/ OR parallel systems is the efficient handling of variables. We have adopted the PEPSys hashing scheme with additional mechanisms for the notion of quietness required by the theoretical model of AKL. A ParAKL computation builds a tree representing the branches of the search tree currently under execution. This tree is built in the usual WAM-like way until a processor blocks and is scheduled to other work. A scheduled branch is separated from the original branch using a hash window, in which bindings made to shared variables are saved.