PELCR: Parallel Environment for Optimal Lambda-Calculus Reduction
Abstract
In this article we present the implementation of an environment supporting Lévy'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.
- Publication:
-
arXiv e-prints
- Pub Date:
- July 2004
- DOI:
- arXiv:
- arXiv:cs/0407055
- Bibcode:
- 2004cs........7055P
- Keywords:
-
- Computer Science - Logic in Computer Science;
- Computer Science - Distributed;
- Parallel;
- and Cluster Computing;
- F.4.1