作者: Ricardo Rocha , Fernando Silva , Vítor Santos Costa
关键词: Programming language 、 SLD resolution 、 Scheduling (computing) 、 Exploit 、 Parallel computing 、 Search tree 、 Prolog 、 Reuse 、 Model checking 、 Data structure 、 Computer science
摘要: Tabling is an implementation technique that improves the declarativeness and expressiveness of Prolog by reusing solutions to goals. Quite a few interesting applications tabling have been developed in last years, several are nature non-deterministic. This raises question whether parallel search techniques can be usedto improve performance tabledapplications.In this work we demonstrate mechanisms proposed parallelize context SLD resolution naturally generalize tabledcomputations, resulting systems achieve goodp erformance on multi-processors. To do so, present OPTYap engine. In our system individual SLG engines communicate data through stack copying. Completion detected novel completion algorithm builds upon structures for or-parallelism. Scheduling simplified building previous research We show initial results implementation. Our best result actual application, model checking, where obtain linear speedups.