Abstract
Declarative systems, such as logic programming, should be ideal to process large data sets efficiently. Unfortunately, the high-level nature of logic-based representations can cause inefficiencies, and may lead in some cases to unacceptable performance. We discuss how logic programming systems can accommodate large amounts of data in main memory. We use a number of real datasets to evaluate performance and discuss how a number of techniques can be used to improve memory scalabality for such datasets.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
AĂ¯t-Kaci, H.: Warren’s Abstract Machine — A Tutorial Reconstruction. MIT Press, Cambridge (1991)
Gasch, A.P., Huang, M., Metzner, S., Botstein, D., Elledge, S.J., Brown, P.O.: Genomic expression responses to DNA-damaging agents and the regulatory role of the yeast ATR homolog Mec1p. Mol. Biol. Cell. 12, 2987–3003 (2001)
Gasch, A.P., Spellman, P.T., Kao, C.M., Carmel-Harel, O., Eisen, M.B., Storz, G., Botstein, D., Brown, P.O.: Genomic expression programs in the response of yeast cells to environmental changes. Mol. Biol. Cell. 11, 4241–4257 (2000)
Appleby, K., Carlsson, M., Haridi, S., Sahlin, D.: Garbage collection for Prolog based on WAM. Communications of the ACM 31(6), 171–183 (1989)
Bell, J.R.: Threaded code. Communications of the ACM 16(6), 370–372 (1973)
Benton, W.: Personal communication (2006)
Casey, K., Gregg, D., Ertl, M.A., Nisbet, A.: Towards superinstructions for java interpreters. In: Krall, A. (ed.) SCOPES 2003. LNCS, vol. 2826, pp. 329–343. Springer, Heidelberg (2003)
Castro, L.F., Santos Costa, V.: Understanding Memory Management in Prolog Systems. In: Codognet, P. (ed.) ICLP 2001. LNCS, vol. 2237, pp. 11–26. Springer, Heidelberg (2001)
Chen, W., Warren, D.S.: Tabled Evaluation with Delaying for General Logic Programs. Journal of the ACM 43(1), 20–74 (1996)
Davis, J., Burnside, E.S., Dutra, I., Page, D., Ramakrishnan, R., Costa, V.S., Shavlik, J.W.: View learning for statistical relational learning: With an application to mammography. In: Kaelbling, L.P., Saffiotti, A. (eds.) IJCAI-2005, Proceedings of the Nineteenth International Joint Conference on Artificial Intelligence, Edinburgh, Scotland, July 30–August 5, 2005, pp. 677–683. Professional Book Center (2005)
Demoen, B.: A different look at garbage collection for the wam. In: Stuckey, P.J. (ed.) ICLP 2002. LNCS, vol. 2401, pp. 179–193. Springer, Heidelberg (2002)
Demoen, B., Nguyen, P.-L.: So Many WAM Variations, So Little Time. In: Palamidessi, C., et al. (eds.) CL 2000. LNCS (LNAI), vol. 1861, pp. 1240–1254. Springer, Heidelberg (2000)
Fellbaum: WordNet: An Electronic Lexical Database (Language, Speech, and Communication). The MIT Press, Cambridge (1998)
Ferreira, M., Rocha, R.: Coupling optyap with a database system. In: Dignum, F.P.M., van Eijk, R.M., Flores, R. (eds.) AC 2005. LNCS (LNAI), vol. 3859, pp. 107–114. Springer, Heidelberg (2006)
Goadrich, M., Oliphant, L., Shavlik, J.: Learning Ensembles of First-Order Clauses for Recall-Precision Curves: A Case Study in Biomedical Information Extraction. In: Proceedings of the 14th International Conference on Inductive Logic Programming, Porto, Portugal (2004)
Guo, H.-F., Gupta, G.: A Simple Technique for Implementing Tabling based on Dynamic Reordering of Alternatives. In: Codognet, P. (ed.) ICLP 2001. LNCS, vol. 2237. Springer, Heidelberg (2001)
Kok, S., Domingos, P.: Learning the structure of markov logic networks. In: Proceedings of the Twenty-Second International Conference on Machine Learning, pp. 441–448. ACM Press, New York (2005)
Lindholm, T.G., O’Keefe, R.A.: Efficient implementation of a defensible semantics for dynamic Prolog code. In: Lassez, J.-L. (ed.) Proceedings of the Fourth International Conference on Logic Programming. MIT Press Series in Logic Programming, University of Melbourne, May 1987, pp. 21–39. MIT Press, Cambridge (1987)
McCallum, A., Nigam, K., Rennie, J., Seymore, K.: Automating the construction of internet portals with machine learning. Information Retrieval Journal 3, 127–163 (2000), www.research.whizbang.com/data
McJonese, P.: Eachmovie collaborative filtering data set. Technical report, DEC Systems Research Center (1997)
Morales, J.F., et al.: A generator of efficient abstract machine implementations and its application to emulator minimization. In: Gabbrielli, M., Gupta, G. (eds.) ICLP 2005. LNCS, vol. 3668, pp. 21–36. Springer, Heidelberg (2005)
Nässén, H., Carlsson, M., Sagonas, K.F.: Instruction merging and specialization in the sicstus prolog virtual machine. In: Proceedings of the 3rd international ACM SIGPLAN conference on Principles and practice of declarative programming, Florence, Italy, September 5-7, 2001, pp. 49–60. ACM Press, New York (2001)
Nilsson, H.: The external database in sicstus prolog. In: Voronkov, A. (ed.) LPAR 1992. LNCS, vol. 624, pp. 493–495. Springer, Heidelberg (1992)
Ong, I., Page, D., Costa, V.S.: Inferring Regulatory Networks from Time Series Expression Data and Relational Data via Inductive Logic Programming. In: Inductive Logic Programming Meeting (2006)
Ray, S., Craven, M.: Representing sentence structure in hidden markov models for information extraction. In: Nebel, B. (ed.) Proceedings of the Seventeenth International Joint Conference on Artificial Intelligence, IJCAI 2001, Seattle, Washington, August 4-10, 2001, pp. 1273–1279. Morgan Kaufmann, San Francisco (2001)
Rocha, R., Silva, F., Costa, V.S.: On Applying Or-Parallelism and Tabling to Logic Programs. Theory and Practice of Logic Programming Systems 5(1–2), 161–205 (2005)
Sagonas, K.F., Swift, T.: An abstract machine for tabled execution of fixed-order stratified logic programs. ACM Transactions on Programming Languages and Systems 20(3), 586–634 (1998)
Santos Costa, V.: Performance Issues in Prolog Applications. In: Pires, F.M., Abreu, S.P. (eds.) EPIA 2003. LNCS (LNAI), vol. 2902, p. 8. Springer, Heidelberg (2003)
Santos Costa, V., Srinivasan, A., Camacho, R., Blockeel, H., Demoen, B., Janssens, G., Struyf, J., Vandecasteele, H., Van Laer, W.: Query Transformations for Improving the Efficiency of ILP Systems. Journal of Machine Learning Research 4, 465–491 (2003)
Santos Costa, V., Warren, D.H.D., Yang, R.: Andorra-I: A Parallel Prolog System that Transparently Exploits both And- and Or-Parallelism. In: Third ACM SIGPLAN Symposium on Principles & Practice of Parallel Programming PPOPP, April 1991. SIGPLAN Notices, vol. 26(7), pp. 83–93. ACM Press, New York (1991)
Van Roy, P.: 1983-1993: The Wonder Years of Sequential Prolog Implementation. The Journal of Logic Programming 19/20 (May/July 1994)
Warren, D.H.D.: Prolog Engine. Technical report, Artificial Intelligence Center, SRI International, 333 Ravenswood Ave, Menlo Park CA 94025 (April 1983) (unpublished draft)
Zhou, N.-F.: Implementation of a Linear Tabling Mechanism. In: Pontelli, E., Santos Costa, V. (eds.) PADL 2000. LNCS, vol. 1753, pp. 109–123. Springer, Heidelberg (2000)
Zhou, N.-F., Takagi, T., Kazuo, U.: A Matching Tree Oriented Abstract Machine for Prolog. In: Warren, D.H.D., Szeredi, P. (eds.) Proceedings of the Seventh International Conference on Logic Programming, pp. 158–173. MIT Press, Cambridge (1990)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Costa, V.S. (2006). Prolog Performance on Larger Datasets. In: Hanus, M. (eds) Practical Aspects of Declarative Languages. PADL 2007. Lecture Notes in Computer Science, vol 4354. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-69611-7_12
Download citation
DOI: https://doi.org/10.1007/978-3-540-69611-7_12
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-69608-7
Online ISBN: 978-3-540-69611-7
eBook Packages: Computer ScienceComputer Science (R0)