Thread-Aware Logic Programming For Data-Driven Parallel Programs
Flávio Cruz, Ricardo Rocha and Seth Copen Goldstein
August/September 2015
Abstract
Declarative programming in the style of functional and logic
programming has been hailed as an alternative parallel programming
style where computer programs are automatically parallelized without
programmer control. Although this approach removes many pitfalls of
explicit parallel programming, it hides important information about
the underlying parallel architecture that could be used to improve the
scalability and efficiency of programs. In this paper, we present a
novel programming model that allows the programmer to reason about
thread state in data-driven declarative programs. This abstraction has
been implemented on top of Linear Meld, a linear logic programming
language that is designed for writing graph-based programs. We present
several programs that show the flavor of our new programming model,
including graph algorithms and a machine learning algorithm. Our goal
is to show that it is possible to take advantage of architectural
details without losing the key advantages of logic programming.
Bibtex
@InProceedings{cruz-iclp15,
author = {F. Cruz and R. Rocha and S. C. Goldstein},
title = {{Thread-Aware Logic Programming For Data-Driven Parallel Programs}},
booktitle = {Technical Communications of the 31st International Conference on Logic Programming (ICLP 2015)},
editor = {T. Eiter and F. Toni},
month = {August/September},
year = {2015},
address = {Cork, Ireland},
}
Download Paper
PDF file
CEUR Workshop Proceedings