English

PELCR: Parallel Environment for Optimal Lambda-Calculus Reduction

Logic in Computer Science 2007-05-23 v2 Distributed, Parallel, and Cluster Computing

Abstract

In this article we present the implementation of an environment supporting L\'evy's \emph{optimal reduction} for the λ\lambda-calculus \cite{Lev78} on parallel (or distributed) computing systems. In a similar approach to Lamping's one in \cite{Lamping90}, we base our work on a graph reduction technique known as \emph{directed virtual reduction} \cite{DPR97} which is actually a restriction of Danos-Regnier virtual reduction \cite{DanosRegnier93}. The environment, which we refer to as PELCR (Parallel Environment for optimal Lambda-Calculus Reduction) relies on a strategy for directed virtual reduction, namely {\em half combustion}, which we introduce in this article. While developing PELCR we have adopted both a message aggregation technique, allowing a reduction of the communication overhead, and a fair policy for distributing dynamically originated load among processors. We also present an experimental study demonstrating the ability of PELCR to definitely exploit parallelism intrinsic to λ\lambda-terms while performing the reduction. By the results we show how PELCR allows achieving up to 70/80% of the ideal speedup on last generation multiprocessor computing systems. As a last note, the software modules have been developed with the {\tt C} language and using a standard interface for message passing, i.e. MPI, thus making PELCR itself a highly portable software package.

Keywords

Cite

@article{arxiv.cs/0407055,
  title  = {PELCR: Parallel Environment for Optimal Lambda-Calculus Reduction},
  author = {M. Pedicini and F. Quaglia},
  journal= {arXiv preprint arXiv:cs/0407055},
  year   = {2007}
}