Dynamic Mixed-Strategy Evaluation of Tabled Logic Programs
Tabling is an implementation technique that improves the declarativeness and expressiveness of Prolog by reusing answers to subgoals. During tabled execution, several decisions have to be made. These are determined by the scheduling strategy. Whereas a strategy can achieve very good performance for certain applications, for others it might add overheads and even lead to unacceptable inefficiency. The ability of using multiple strategies within the same evaluation can be a means of achieving the best possible performance. In this work, we present how the YapTab system was designed to support dynamic mixed-strategy evaluation of the two most successful tabling scheduling strategies: batched scheduling and local scheduling.
Unable to display preview. Download preview PDF.
- 2.Rocha, R., Silva, F., Costa, V.S.: YapTab: A Tabling Engine Designed to Support Parallelism. In: Conference on Tabulation in Parsing and Deduction, pp. 77–87 (2000)Google Scholar
- 5.Zhou, N.F., Shen, Y.D., Yuan, L.Y., You, J.H.: Implementation of a Linear Tabling Mechanism. Journal of Functional and Logic Programming 2001 (2001)Google Scholar
- 6.Sagonas, K., Swift, T., Warren, D.S.: XSB as an Efficient Deductive Database Engine. In: ACM SIGMOD International Conference on the Management of Data, pp. 442–453. ACM Press, New York (1994)Google Scholar
- 7.Freire, J., Swift, T., Warren, D.S.: Beyond Depth-First: Improving Tabled Logic Programs through Alternative Scheduling Strategies. In: Kuchen, H., Swierstra, S.D. (eds.) PLILP 1996. LNCS, vol. 1140, pp. 243–258. Springer, Heidelberg (1996)Google Scholar
- 8.Freire, J., Swift, T., Warren, D.S.: Taking I/O seriously: Resolution reconsidered for disk. In: International Conference on Logic Programming, pp. 198–212 (1997)Google Scholar
- 9.Freire, J.: Scheduling Strategies for Evaluation of Recursive Queries over Memory and Disk-Resident Data. PhD thesis, State University of New York (1997)Google Scholar
- 10.Freire, J., Warren, D.S.: Combining Scheduling Strategies in Tabled Evaluation. In: Workshop on Parallelism and Implementation Technology for Logic Programming (1997)Google Scholar
- 13.Muggleton, S.: Inductive Logic Programming. In: Conference on Algorithmic Learning Theory, Ohmsma, pp. 43–62 (1990)Google Scholar
- 14.Fonseca, N., Camacho, R., Silva, F., Santos Costa, V.: Induction with April: A Preliminary Report. Technical Report DCC-2003-02, Department of Computer Science, University of Porto (2003)Google Scholar