Thread-aware logic programming for data-driven parallel programs

Thumbnail Image
Date
2015
Authors
Cruz,F
Ricardo Rocha
Goldstein,SC
Journal Title
Journal ISSN
Volume Title
Publisher
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 graphbased programs. Wepresent several programs that show theflavorofour new programming model, including graph algorithms and a machine learning algorithm. Our goal is to show thatitis possible to take advantage of architectural details without losing the key advantages of logic programming.
Description
Keywords
Citation