Comparing Tag Scheme Variations Using an Abstract Machine Generator

Morales Caballero, José Francisco and Carro Liñares, Manuel and Hermenegildo, Manuel V. (2008). Comparing Tag Scheme Variations Using an Abstract Machine Generator. In: "10th International ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming, PPDP 2008", 15/07/2008-17/07/2008, Valencia, España. ISBN 978-1-60558-117-0.

Description

Title: Comparing Tag Scheme Variations Using an Abstract Machine Generator
Author/s:
  • Morales Caballero, José Francisco
  • Carro Liñares, Manuel
  • Hermenegildo, Manuel V.
Item Type: Presentation at Congress or Conference (Article)
Event Title: 10th International ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming, PPDP 2008
Event Dates: 15/07/2008-17/07/2008
Event Location: Valencia, España
Title of Book: Proceedings of 10th International ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming, PPDP 2008
Date: 2008
ISBN: 978-1-60558-117-0
Subjects:
Freetext Keywords: Warren’s abstract machine, Prolog, low-level representation optimization, performance, compilation.
Faculty: Facultad de Informática (UPM)
Department: Lenguajes y Sistemas Informáticos e Ingeniería del Software
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[img]
Preview
PDF - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (254kB) | Preview

Abstract

In this paper we study, in the context of a WAM-based abstract machine for Prolog, how variations in the encoding of type information in tagged words and in their associated basic operations impact performance and memory usage. We use a high-level language to specify encodings and the associated operations. An automatic generator constructs both the abstract machine using this encoding and the associated Prolog-to-byte code compiler. Annotations in this language make it possible to impose constraints on the final representation of tagged words, such as the effectively addressable space (fixing, for example, the word size of the target processor /architecture), the layout of the tag and value bits inside the tagged word, and how the basic operations are implemented. We evaluate large number of combinations of the different parameters in two scenarios: a) trying to obtain an optimal general-purpose abstract machine and b) automatically generating a specially-tuned abstract machine for a particular program. We conclude that we are able to automatically generate code featuring all the optimizations present in a hand-written, highly-optimized abstract machine and we canal so obtain emulators with larger addressable space and better performance.

More information

Item ID: 4378
DC Identifier: http://oa.upm.es/4378/
OAI Identifier: oai:oa.upm.es:4378
Official URL: http://www.clip.dia.fi.upm.es/Conferences/PPDP08/past.html
Deposited by: Memoria Investigacion
Deposited on: 29 Sep 2010 11:14
Last Modified: 20 Apr 2016 13:38
  • Logo InvestigaM (UPM)
  • Logo GEOUP4
  • Logo Open Access
  • Open Access
  • Logo Sherpa/Romeo
    Check whether the anglo-saxon journal in which you have published an article allows you to also publish it under open access.
  • Logo Dulcinea
    Check whether the spanish journal in which you have published an article allows you to also publish it under open access.
  • Logo de Recolecta
  • Logo del Observatorio I+D+i UPM
  • Logo de OpenCourseWare UPM