咨询与建议

看过本文的还看了

相关文献

该作者的其他文献

文献详情 >Swapping evaluation: A memory-... 收藏

Swapping evaluation: A memory-scalable solution for answer-on-demand tabling

交换评估: 答案按需的搁置的一个记忆可伸缩的解决方案

作     者:Chico De Guzm'an, Pablo Carro, Manuel Warren, David S. 

作者机构:U Politecn Madrid Madrid Spain SUNY Stony Brook Stony Brook NY 11794 USA 

出 版 物:《THEORY AND PRACTICE OF LOGIC PROGRAMMING》 (逻辑程序设计理论与实践)

年 卷 期:2010年第10卷第4-6期

页      面:401-416页

核心收录:

学科分类:08[工学] 0835[工学-软件工程] 0701[理学-数学] 0812[工学-计算机科学与技术(可授工学、理学学位)] 

主  题:Logic programming tabling implementation on-demand answers performance 

摘      要:One of the differences among the various approaches to suspension-based tabled evaluation is the scheduling strategy. The two most popular strategies are local and batched evaluation. The former collects all the solutions to a tabled predicate before making any one of them available outside the tabled computation. The latter returns answers one by one before computing them all, which in principle is better if only one answer (or a subset of the answers) is desired. Batched evaluation is closer to SLD evaluation in that it computes solutions lazily as they are demanded, but it may need arbitrarily more memory than local evaluation, which is able to reclaim memory sooner. Some programs which in practice can be executed under the local strategy quickly run out of memory under batched evaluation. This has led to the general adoption of local evaluation at the expense of the more depth-first batched strategy. In this paper we study the reasons for the high memory consumption of batched evaluation and propose a new scheduling strategy which we have termed swapping evaluation. Swapping evaluation also returns answers one by one before completing a tabled call, but its memory usage can be orders of magnitude less than batched evaluation. An experimental implementation in the XSB system shows that swapping evaluation is a feasible memory-scalable strategy that need not compromise execution speed.

读者评论 与其他读者分享你的观点

用户名:未登录
我的评分