Abstract
Implementation costs linked to processor memory subsystems (cache miss costs, stalls due to bandwidth limits, etc.) have been shown to be a factor in the performance of a variety of declarative programming tools. This article investigates their impact on answer set solvers and the factors that control them. Experiments independently altering the size and difficulty of input programs allow a qualitative assessment of whether input program or solver design is a greater factor and a quantitative assessment of how much of problem these issues create. A variety of processor performance metrics are recorded and used to provide a detailed picture of what limits solver performance and dispel a number of common misapprehensions.To demonstrate the degree to which these problems can be addressed, smodels-ie is presented. This is a version of the smodels solver with a number of implementation changes to improve cache utilisation, one major aspect of memory costs.
Original language | English |
---|---|
Pages (from-to) | 615-641 |
Number of pages | 27 |
Journal | Journal of Logic and Computation |
Volume | 19 |
Issue number | 4 |
Early online date | 4 Sept 2008 |
DOIs | |
Publication status | Published - Aug 2009 |
Event | 4th International Workshop on Answer Set Programming - Oporto, Portugal Duration: 1 Aug 2009 → … |
Bibliographical note
Proceedings paper from 4th International Workshop on Answer Set Programming. Oporto, Portugal, 2007Keywords
- optimization of memory bound programs
- cache utilization
- answer set programming
- Answer set solvers
- declarative programming systems