Towards multi-threaded local tabling using a common table space

作者: Miguel Areias , Ricardo Rocha

DOI: 10.1017/S1471068412000117

关键词:

摘要: Multi-threading is currently supported by several well-known Prolog systems providing a highly portable solution for applications that can benefit from concurrency. When multi-threading combined with tabling, we exploit the power of higher procedural control and declarative semantics. However, despite availability both threads tabling in some systems, implementation these two features implies complex ties to each other underlying engine. Until now, XSB was only system combining tabling. In XSB, tables may be either private or shared between threads. While thread-private are easier implement, have all associated issues locking, synchronization potential deadlocks. this paper, propose an alternative view XSB's approach. our proposal, thread views its as but, at engine level, use common table space where among We present three designs approach: No-Sharing (NS) (similar tables), Subgoal-Sharing (SS) Full-Sharing (FS). The primary goal work reduce memory usage experimental results, using YapTab local evaluation strategy, show also achieve significant reductions on running time.

参考文章(13)
Rui Filipe Pereira Marques, Concurrent Tabling: Algorithms and Implementation ,(2007)
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, Concurrent Table Accesses in Parallel Tabled Logic Programs Lecture Notes in Computer Science. pp. 662- 670 ,(2004) , 10.1007/978-3-540-27866-5_87
Rui Marques, Terrance Swift, José Cunha, None, A simple and efficient implementation of concurrent local tabling practical aspects of declarative languages. pp. 264- 278 ,(2010) , 10.1007/978-3-642-11503-5_22
Rui Marques, Terrance Swift, None, Concurrent and Local Evaluation of Normal Programs international conference on logic programming. pp. 206- 222 ,(2008) , 10.1007/978-3-540-89982-2_24
Jan Wielemaker, Native preemptive threads in SWI-prolog international conference on logic programming. pp. 331- 345 ,(2003) , 10.1007/978-3-540-24599-5_23
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
Konstantinos Sagonas, Terrance Swift, None, An abstract machine for tabled execution of fixed-order stratified logic programs ACM Transactions on Programming Languages and Systems. ,vol. 20, pp. 586- 634 ,(1998) , 10.1145/291889.291897
Weidong Chen, David S Warren, None, Tabled evaluation with delaying for general logic programs Journal of the ACM. ,vol. 43, pp. 20- 74 ,(1996) , 10.1145/227595.227597
IV Ramakrishnan, Prasad Rao, Konstantinos Sagonas, Terrance Swift, David S Warren, None, Efficient access mechanisms for tabled logic programs Journal of Logic Programming. ,vol. 38, pp. 31- 54 ,(1999) , 10.1016/S0743-1066(98)10013-4