The sharing of environment in AND-OR-parallel execution of logic programs

An environment-sharing scheme for both AND- and OR-parallel executions o?logic programs is presented in this paper. In this scheme, an environment consists of binding records for storing binding values o?variables. A binding record contains only the values of instantiated variables. Unbound variables never occur in binding records. Therefore, binding records of a process can be safely shared by its successor/slave processes, overcoming the drawback of checking and copying "uncommitted context" in OR-parallel environment-sharing scheme.A 2-level storage structure for environment storage and procedures for creating, accessing and updating the environment are defined in this paper. This scheme, including all the procedures, has been implemented in PROLOG and tested by running a number of benchmarks.