Self-Tuning Resource Aware Specialisation for Prolog
Self-Tuning Resource Aware Specialisation for Prolog
The paper develops a self-tuning resource aware partial evaluation technique for Prolog programs, which derives its own control strategies tuned for the underlying computer architecture and Prolog compiler using a genetic algorithm approach. The algorithm is based on mutating the annotations of offline partial evaluation. Using a set of representative sample queries it decides upon the fitness of annotations, controlling the trade-off between code explosion, speedup gained and specialisation time. The user can specify the importance of each of these factors in determining the quality of the produced code, tailoring the specialisation to the particular problem at hand. We present experimental results for our implemented technique on a series of benchmarks. The results are compared against the aggressive termination based binding-time analysis and optimised using different measures for the quality of code. We also show that our technique avoids some classical pitfalls of partial evaluation.
Partial Evaluation, Logic Programming, Genetic Algorithms, Optimization, Compilers, Embedded Systems, Tuning
23-34
Association for Computing Machinery
Craig, Stephen-John
70e3474a-2043-482f-9e1c-27f68e9aba16
Leuschel, Michael
c2c18572-66cf-4f84-ade4-218ce3afe78b
2005
Craig, Stephen-John
70e3474a-2043-482f-9e1c-27f68e9aba16
Leuschel, Michael
c2c18572-66cf-4f84-ade4-218ce3afe78b
Craig, Stephen-John and Leuschel, Michael
(2005)
Self-Tuning Resource Aware Specialisation for Prolog.
Felty, Amy
(ed.)
In Proceedings of PPDP'05.
Association for Computing Machinery.
.
Record type:
Conference or Workshop Item
(Paper)
Abstract
The paper develops a self-tuning resource aware partial evaluation technique for Prolog programs, which derives its own control strategies tuned for the underlying computer architecture and Prolog compiler using a genetic algorithm approach. The algorithm is based on mutating the annotations of offline partial evaluation. Using a set of representative sample queries it decides upon the fitness of annotations, controlling the trade-off between code explosion, speedup gained and specialisation time. The user can specify the importance of each of these factors in determining the quality of the produced code, tailoring the specialisation to the particular problem at hand. We present experimental results for our implemented technique on a series of benchmarks. The results are compared against the aggressive termination based binding-time analysis and optimised using different measures for the quality of code. We also show that our technique avoids some classical pitfalls of partial evaluation.
Text
ppdp05_final.pdf
- Other
More information
Published date: 2005
Keywords:
Partial Evaluation, Logic Programming, Genetic Algorithms, Optimization, Compilers, Embedded Systems, Tuning
Organisations:
Electronics & Computer Science
Identifiers
Local EPrints ID: 261197
URI: http://eprints.soton.ac.uk/id/eprint/261197
PURE UUID: 7c8365d1-b541-46f0-8691-f137cd3935d6
Catalogue record
Date deposited: 07 Sep 2005
Last modified: 14 Mar 2024 06:49
Export record
Contributors
Author:
Stephen-John Craig
Author:
Michael Leuschel
Editor:
Amy Felty
Download statistics
Downloads from ePrints over the past year. Other digital versions may also be available to download e.g. from the publisher's website.
View more statistics