Memorias de investigación
Ponencias en congresos:
Towards a High-Level Implementation of Execution Primitives for Non-restricted, Independent And-parallelism
Año:2008

Áreas de investigación
  • Lenguaje de programación

Datos
Descripción
Most efficient implementations of parallel logic programming rely on complex low-level machinery which is arguably difficult to implement and modify. We explore an alternative approach aimed at taming that complexity by raising core parts of the implementation to the source language level for the particular case of and-parallelism. We handle a signifficant portion of the parallel implementation at the Prolog level with the help of a comparatively small number of concurrency-related primitives which take care of lower-level tasks such as locking, thread management, stack set management, etc. The approach does not eliminate altogether modifications to the abstract machine, but it does greatly simplify them and it also facilitates experimenting with different alternatives. We show how this approach allows implementing both restricted and unrestricted (i.e., non fork-join) parallelism. Preliminary experiments show that the performance sacrificed is reasonable, although granularity control is required in some cases. Also, we observe that the availability of unrestricted parallelism contributes to better observed speedups.
Internacional
Si
Nombre congreso
10th International Symposium on Practical Aspects of Declarative Languages (PADL'08)
Tipo de participación
960
Lugar del congreso
San Francisco, USA
Revisores
Si
ISBN o ISSN
978-3-540-77441-9
DOI
Fecha inicio congreso
07/01/2008
Fecha fin congreso
08/01/2008
Desde la página
230
Hasta la página
247
Título de las actas
Towards a High-Level Implementation of Execution Primitives for Non-restricted, Independent And-parallelism

Esta actividad pertenece a memorias de investigación

Participantes

Grupos de investigación, Departamentos, Centros e Institutos de I+D+i relacionados
  • Creador: Grupo de Investigación: Computación lógica, Lenguajes, Implementación y Paralelismo (CLIP)
  • Departamento: Lenguajes y Sistemas Informáticos e Ingeniería de Software
  • Departamento: Inteligencia Artificial