OPTYap swMATH ID: 13883 Software Authors: Rocha, Ricardo; Silva, Fernando; Costa, Vítor Santos Description: On applying or-parallelism and tabling to logic programs. Logic programming languages, such as Prolog, provide a high-level, declarative approach to programming. Logic Programming offers great potential for implicit parallelism, thus allowing parallel systems to often reduce a program’s execution time without programmer intervention. We believe that for complex applications that take several hours, if not days, to return an answer, even limited speedups from parallel execution can directly translate to very significant productivity gains. It has been argued that Prolog’s evaluation strategy – SLD resolution – often limits the potential of the logic programming paradigm. The past years have therefore seen widening efforts at increasing Prolog’s declarativeness and expressiveness. Tabling has proved to be a viable technique to efficiently overcome SLD’s susceptibility to infinite loops and redundant subcomputations. Our research demonstrates that implicit or-parallelism is a natural fit for logic programs with tabling. To substantiate this belief, we have designed and implemented an or-parallel tabling engine – OPTYap – and we used a shared-memory parallel machine to evaluate its performance. To the best of our knowledge, OPTYap is the first implementation of a parallel tabling engine for logic programming systems. OPTYap builds on Yap’s efficient sequential Prolog engine. Its execution model is based on the SLG-WAM for tabling, and on the environment copying for or-parallelism. Preliminary results indicate that the mechanisms proposed to parallelize search in the context of SLD resolution can indeed be effectively and naturally generalized to parallelize tabled computations, and that the resulting systems can achieve good performance on shared-memory parallel machines. More importantly, it emphasizes our belief that through applying or-parallelism and tabling to logic programs the range of applications for Logic Programming can be increased. Homepage: https://github.com/vscosta/yap-6.3/tree/master/OPTYap Source Code: https://github.com/vscosta/yap-6.3/tree/master/OPTYap Keywords: or-parallelism; tabling; implementation; performance Related Software: XSB; YAP-Prolog; YapOr; YapTab; B-Prolog; SICStus; Smodels; CiaoPP; Ciao; SWI-Prolog; OpenRuleBench; CAT; AutoFolio; BerkMin; CDAOstore; SATzilla; DASWAM; Multilisp; PhyloWS; GASP Cited in: 14 Documents Standard Articles 1 Publication describing the Software, including 1 Publication in zbMATH Year On applying or-parallelism and tabling to logic programs. Zbl 1093.68021Rocha, Ricardo; Silva, Fernando; Costa, Vítor Santos 2005 all top 5 Cited by 26 Authors 9 Rocha, Ricardo 6 Santos Costa, Vítor 5 Silva, Fernando 2 Areias, Miguel 2 Gupta, Gopal 2 Hermenegildo, Manuel V. 2 Swift, Terrance 1 Abreu, Salvador 1 Bansal, Ajay 1 Ciatto, Giovanni 1 Cruz, Flávio Franca 1 Dahl, Veronica 1 Diaz, Daniel 1 Dovier, Agostino 1 Formisano, Andrea 1 Körner, Philipp 1 Leuschel, Michael 1 Lopes, Ricardo 1 Mallya, Ajay 1 Marques, Rui Cunha 1 Morales, Jose Francisco 1 Pontelli, Enrico 1 Sato, Taisuke 1 Simon, Luke 1 Warren, David Scott 1 Wielemaker, Jan Cited in 1 Serial 7 Theory and Practice of Logic Programming Cited in 1 Field 14 Computer science (68-XX) Citations by Year