skip to main content
10.1145/773146.773045acmconferencesArticle/Chapter ViewAbstractPublication PagesmspConference Proceedingsconference-collections
Article

From simulation to practice: cache performance study of a Prolog system

Published:16 June 2002Publication History

ABSTRACT

Progress in Prolog applications requires ever better performance and scalability from Prolog implementation technology. Most modern Prolog systems are emulator-based. Best performance thus requires both good emulator design and good memory performance. Indeed, Prolog applications can often spend hundreds of megabytes of data, but there is little work on understanding and quantifying the interactions between Prolog programs and the memory architecture of modern computers.In a previous study of Prolog systems we have shown through simulation that Prolog applications usually, but not always, have good locality, both for deterministic and non-deterministic applications. We also showed that performance may strongly depend on garbage collection and on database operations. Our analysis left two questions unanswered: how well do our simulated results holds on actual hardware, and how much did our results depend on a specific configuration? In this work we use several simulation parameters and profiling counters to improve understanding of Prolog applications. We believe that our analysis is of interest to any system implementor who wants to understand his or her own system's memory performance.

References

  1. Advanced Micro Devices, Inc. AMD Athlon Processor---x86 Code Optimization Guide. Available from http://www.amd.com/.]]Google ScholarGoogle Scholar
  2. T. Baer. lperfex: A hardware performance monitor for linux/ia32, http://www.osc.edu/~troy/lperfex/.]]Google ScholarGoogle Scholar
  3. D. Burger and T. M. Austin. The simplescalar tool set, version 2.0. Technical Report 1342, University of Wisconsin-Madison Computer Sciences Department, June 1997.]]Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. R. Camacho. Learning stage transition rules with Indlog. In Proceedings of the 4th International Workshop on Inductive Logic Programming, vol 237 of GMD-Studien, pages 273--290. Gesellschaft für Mathematik und Datenverarbeitung MBH, 1994.]]Google ScholarGoogle Scholar
  5. L. F. Castro and V. Santos Costa. On the cache performance of prolog systems. Submitted to ICLP'02. Available from http://www.cs.sunysb.edu/~luis, 2002.]]Google ScholarGoogle Scholar
  6. B. Demoen and P.-L. Nguyen. So Many WAM Variations, So Little Time. In LNAI 1861, Proceedings Computational Logic - CL 2000, pages 1240--1254. Springer-Verlag, July 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. B. Demoen and K. F. Sagonas. Heap Garbage Collection in XSB: Practice and Experience. In E. Pontelli and V. Santos Costa, editors, Practical Aspects of Declarative Languages, number 1753 in Lecture Notes in Computer Science, pages 93--108. Springer Verlag, January 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. D. Diaz and P. Codognet. Design and implementation of the gnu prolog system. Journal of Functional and Logic Programming, 2001(6), October 2001.]]Google ScholarGoogle Scholar
  9. M. A. Ertl and D. Gregg. The behaviour of efficient virtual machine interpreters on modern architectures. In Euro-Par 2001, pages 403--412. Springer LNCS 2150, 2001.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. R. P. Gabriel. Performance and evaluation of Lisp systems. MIT Press, 1985.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. J. A. Harland and S. Michaylov. Implementing an ODE solver: a CLP approach. Technical Report TR 87/92, Department of Computer Science, Monash University, June 1987.]]Google ScholarGoogle Scholar
  12. B. K. Holmer, B. Sans, M. Carlton, P. V. Roy, R. C. Haygood, W. R. Bush, A. M. Despain, J. M. Pendleton, and T. Dobry. Fast Prolog with an Extended General Purpose Architecture. In Proceedings of the 17th International Symposium on Computer Architecture, 1990.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Intel. IA-32 Intel Architecture Software Developer's Manual---Volume 3: System Programming Guide. Available from http://www.intel.com/.]]Google ScholarGoogle Scholar
  14. H. Nässèn, M. Carlsson, and K. Sagonas. Instruction merging and specializing in the SICStus Prolog virtual machine. In Proceedings of PPDP'01. ACM, 2001.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. M. Petterson. Linux x86 performance-monitoring counters driver. http://www.csd.uu.se/~mikpe/linux/perfctr/.]]Google ScholarGoogle Scholar
  16. L. s Fernando Castro and V. Santos Costa. Understanding Memory Management in Prolog Systems. In Proceedings of ICLP'01, November 2001.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. V. Santos Costa. Optimising bytecode emulation for prolog. In LNCS 1702, Proceedings of PPDP'99, pages 261--267. Springer-Verlag, September 1999.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. V. t. Santos Costa, L. Damas, R. Reis, and R. Azevedo. YAP User's Manual, 2000. http://www.ncc.up.pt/~vsc/Yap.]]Google ScholarGoogle Scholar
  19. P. Van Roy. Can Logic Programming Execute as Fast as Imperative Programming. PhD thesis, Computer Science Division, University of California Berkeley, Dec. 1990.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. D. H. D. Warren. An Abstract Prolog Instruction Set. Technical Note 309, SRI International, 1983.]]Google ScholarGoogle Scholar
  21. D. H. D. Warren and F. C. N. Pereira. An Efficient, Easily Adaptable System For Interpreting Natural Language Queries. American Journal of Computational Linguistics, 8(3--4):110--122, 1982.]] Google ScholarGoogle ScholarDigital LibraryDigital Library

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • Published in

    cover image ACM Conferences
    MSP '02: Proceedings of the 2002 workshop on Memory system performance
    June 2002
    298 pages
    ISBN:9781450373685
    DOI:10.1145/773146
    • cover image ACM SIGPLAN Notices
      ACM SIGPLAN Notices  Volume 38, Issue 2 supplement
      MSP 2002 and ISMM 2002
      February 2003
      291 pages
      ISSN:0362-1340
      EISSN:1558-1160
      DOI:10.1145/773039
      Issue’s Table of Contents

    Copyright © 2002 Copyright is held by the owner/author(s)

    Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 16 June 2002

    Check for updates

    Qualifiers

    • Article

    Acceptance Rates

    Overall Acceptance Rate6of20submissions,30%

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader