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