PARCS is a declarative parallel constraint logic programming language that can deal with constraints over Herbrand universe and finite domains of integers like CHIP [Dincbas et al., '88]. To our knowledge, PARCS is the first CLP language to be thoroughly designed and implemented for high performance execution on modern distributed memory MPPs. PARCS exploits coarse grain parallelism that is derived from usual OR-parallelism and nondeterminism of instantiation of domain variables. Implementation techniques of PARCS for efficient execution on massively parallel processors include load balancing, branching method and compilation strategy based on extensive static analysis.
Example PARCS applications are cryptarithmetics, N-queens, paraffin and quasi-group problems. Compiler system of PARCS is currently running on real MPPs such as Fujitsu AP1000 (256 SPARC processors), Thinking Machines CM-5 (32 SPARC processors) and Intel Paragon XP/S (66 i860 processors). Single-node performance of PARCS compares with those of popular Prolog compilers, and good speedups have been achieved with respect to the number of processors.