A Hybrid MapReduce Model for Prolog

Joana Côrte-Real, Inês Dutra and Ricardo Rocha

December 2014


Interest in the MapReduce programming model has been rekindled by Google in the past 10 years; its popularity is mostly due to the convenient abstraction for parallelization details this framework provides. State-of-the-art systems such as Google's, Hadoop or SAGA often provide added features like a distributed file system, fault tolerance mechanisms, data redundancy and portability to the basic MapReduce framework. However, these features pose an additional overhead in terms of system performance. In this work, we present a MapReduce design for Prolog which can potentially take advantage of hybrid parallel environments; this combination allies the easy declarative syntax of logic programming with its suitability to represent and handle multi-relational data due to its first order logic basis. MapReduce for Prolog addresses efficiency issues by performing load balancing on data with different granularity and allowing for parallelization in shared memory, as well as across machines. In an era where multicore processors have become common, taking advantage of a cluster's full capabilities requires the hybrid use of parallelism.


  author =    {J. Côrte-Real and I. Dutra and R. Rocha},
  title =     {{A Hybrid MapReduce Model for Prolog}},
  booktitle = {Proceedings of the 14th International Symposium on Integrated Circuits (ISIC 2014)},
  pages =     {340--343},
  editor =    {Y. P. Zhang and P. K. Chan},
  month =     {December},
  year =      {2014},
  address =   {Singapore},

Download Paper

PDF file