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

  • Authors:
  • Ricardo Lopes;Luís Fernando Castro;Vítor Santos Costa

  • Affiliations:
  • LIACC and DCC-FCUP, Universidade do Porto;SUNY at Stony Brook;Medical Informatics, UW-Madison

  • Venue:
  • Proceedings of the 2002 workshop on Memory system performance
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

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.