A Parallel Virtual Machine for Executing Forward-Chaining Linear Logic Programs
Flávio Cruz, Ricardo Rocha and Seth Copen Goldstein
July 2014
Abstract
Linear Meld is a concurrent forward-chaining linear logic programming
language where logical facts can be asserted and retracted in a
structured way. The database of facts is partitioned by the nodes of a
graph structure which leads to parallelism if nodes are executed
simultaneously. Communication arises whenever nodes send facts to
other nodes by fact derivation. We present an overview of the virtual
machine that we implemented to run Linear Meld on multicores,
including code organization, thread management, rule execution and
database organization for efficient fact insertion, lookup and
deletion. Although our virtual machine is a work-in-progress, our
results already show that Linear Meld is not only capable of scaling
graph and machine learning programs but it also exhibits some
interesting performance results when compared against other
programming languages.
Bibtex
@InProceedings{cruz-ciclops14,
author = {F. Cruz and R. Rocha and S. C. Goldstein},
title = {{A Parallel Virtual Machine for Executing Forward-Chaining Linear Logic Programs}},
booktitle = {Proceedings of the International Joint Workshop on Implementation of Constraint and Logic
Programming Systems and Logic-based Methods in Programming Environments (CICLOPS-WLPE 2014)},
pages = {125--139},
editor = {T. Stroeder and T. Swift},
month = {July},
year = {2014},
address = {Vienna, Austria},
}
Download Paper
PDF file
RWTH Aachen University