Reform Prolog: The Language and Its Implementation

Reform Prolog is an (dependent) AND-parallel system based on recursionparallelism and Reform compilation. The system supports selective, userdeclared, parallelization of binding-deterministic Prolog programs (nondeterminism local to each parallel process is allowed). The implementation extends a convential Prolog machine with support for data sharing and process managment. Extensive global data ow analysis is employed to facilitate parallelization. Promising performance gures, showing high parallel e ciency and low overhead for parallelization, have been obtained on a 24 processor shared-memory multiprocessor. The high performance is due to e cient process managment and scheduling, made possible by the execution model.