On a Tabling Engine That Can Exploit Or-Parallelism

作者: Ricardo Rocha , Fernando Silva , Vítor Santos Costa

DOI: 10.1007/3-540-45635-X_11

关键词: Programming languageSLD resolutionScheduling (computing)ExploitParallel computingSearch treePrologReuseModel checkingData structureComputer 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.

参考文章(16)
Ricardo Couto Antunes Da Rocha, Vitor Santos Costa, Fernando M. A. Silva, YapTab: A Tabling Engine Designed to Support Parallelism TAPD. ,(2000)
Jia-Huai You, Neng-Fa Zhou, Yi-Dong Shen, Li-Yan Yuan, Implementation of a Linear Tabling Mechanism. Journal of Functional and Logic Programming. ,vol. 2001, ,(2001)
Juliana Freire, Terrance Swift, David S. Warren, Beyond Depth-First: Improving Tabled Logic Programs through Alternative Scheduling Strategies international symposium on programming language implementation and logic programming. pp. 243- 258 ,(1996) , 10.1007/3-540-61756-6_89
Ricardo Rocha, Fernando Silva, Vítor Santos Costa, Or-Parallelism within Tabling Practical Aspects of Declarative Languages. pp. 137- 151 ,(1998) , 10.1007/3-540-49201-1_10
Ricardo Rocha, Fernando Silva, Vítor Santos Costa, YapOr: an Or-Parallel Prolog System Based on Environment Copying portuguese conference on artificial intelligence. pp. 178- 192 ,(1999) , 10.1007/3-540-48159-1_13
IV Ramakrishnan, Prasad Rao, Konstantinos Sagonas, Terrance Swift, David S Warren, None, Efficient Tabling Mechanisms for Logic Programs. international conference on lightning protection. pp. 697- 711 ,(1995)
Juliana Freire, Rui Hu, Terrance Swift, David S. Warren, Exploiting Parallelism in Tabled Evaluations international symposium on programming language implementation and logic programming. pp. 115- 132 ,(1995) , 10.1007/BFB0026817
Bart Demoen, Konstantinos Sagonas, CAT: The Copying Approach to Tabling Lecture Notes in Computer Science. ,vol. 1490, pp. 21- 35 ,(1998) , 10.1007/BFB0056605
Jeff Bonwick, The slab allocator: an object-caching kernel memory allocator usenix summer technical conference. pp. 6- 6 ,(1994)
Vítor Santos Costa, Optimising Bytecode Emulation for Prolog principles and practice of declarative programming. pp. 261- 277 ,(1999) , 10.1007/10704567_16