作者: 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.