Publication Type |
journal article |
School or College |
College of Engineering |
Department |
Kahlert School of Computing |
Creator |
Freire, Juliana |
Other Author |
Swift, Terrance; Warren, David S. |
Title |
Taking I/O seriously: resolution reconsidered for disk |
Date |
1997 |
Description |
Modern compilation techniques can give Prolog programs, in the best cases, a speed comparable to C. However, Prolog has proven to be unacceptable for data-oriented queries for two major reasons: its poor termination and complexity properties for Datalog, and its tuple-at-a-time strategy. A number of tabling frameworks and systems have addressed the first problem, including the XSB system which has achieved Prolog speeds for tabled programs. Yet tabling systems such as XSB continue to use the tuple-at-a-time paradigm. As a result, these systems are not amenable to a tight interconnection with disk-resident data. However, in a tabling framework the difference between tuple-at-a-time behavior and set-at-a-time can be viewed as one of scheduling. Accordingly, we define a breadth-first set-at-a-time tabling strategy and prove it iteration equivalent to a form of semi-naive magic evaluation. That is, we extend the well-known asymptotic results of Seki [10] by proving that each iteration of the tabling strategy produces the same information as semi-naive magic. Further, this set-at-a-time scheduling is amenable to implementation in an engine that uses Prolog compilation. We describe both the engine and its performance, which is comparable with the tuple-at-a-time strategy even for in-memory Datalog queries. Because of its performance and its fine level of integration of Prolog with a database-style search, the set-at-a-time engine appears as an important key to linking logic programming and deductive databases. |
Type |
Text |
Publisher |
MIT Press |
First Page |
198 |
Last Page |
212 |
Subject |
Tabling; SLG-WAM; Prolog; XSB; Datalog |
Subject LCSH |
Logic programming; Computer scheduling; Deductive databases |
Language |
eng |
Bibliographic Citation |
Freire, J., Swift,T., & Warren, D. S. (1997). Taking I/O seriously: resolution reconsidered for disk. Proceedings of the International Conference on Logic Programming (ICLP), 198-212. |
Rights Management |
(c) MIT Press http://mitpress.mit.edu/ |
Format Medium |
application/pdf |
Format Extent |
1,652,956 bytes |
Identifier |
ir-main,12390 |
ARK |
ark:/87278/s69c7g0j |
Setname |
ir_uspace |
ID |
706471 |
Reference URL |
https://collections.lib.utah.edu/ark:/87278/s69c7g0j |