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 |