Comparing Parallel Functional Languages: Programming and Performance

  • Authors:
  • H.-W. Loidl;F. Rubio;N. Scaife;K. Hammond;S. Horiguchi;U. Klusik;R. Loogen;G. J. Michaelson;R. Peña;S. Priebe;Á J. Rebón;P. W. Trinder

  • Affiliations:
  • School of Mathematical and Computer Sciences, Heriot-Watt University, Edinburgh EH14 4AS, Scotland. hwloidl@macs.hw.ac.uk;Dpto. Sistemas Informáticos y Programación, Universidad Complutense de Madrid, 28040 Madrid, Spain. fernando@sip.ucm.es;Japan Advanced Institute for Science and Technology, 1/8 Asahidai, Tatsunokuchi, Nomigun, Ishikawa, 923-1211. norman@jaist.ac.jp;School of Computer Science, University of St. Andrews, KY16~9SS, Scotland. kh@dcs.st-and.ac.uk;Japan Advanced Institute for Science and Technology, 1/8 Asahidai, Tatsunokuchi, Nomigun, Ishikawa, 923-1211. hori@jaist.ac.jp;Fachbereich Mathematik und Informatik, Philipps-Universität Marburg, D-35032 Marburg, Germany. klusik@mathematik.uni-marburg.de;Fachbereich Mathematik und Informatik, Philipps-Universität Marburg, D-35032 Marburg, Germany. loogen@mathematik.uni-marburg.de;School of Mathematical and Computer Sciences, Heriot-Watt University, Edinburgh EH14 4AS, Scotland. greg@macs.hw.ac.uk;Dpto. Sistemas Informáticos y Programación, Universidad Complutense de Madrid, 28040 Madrid, Spain. ricardo@sip.ucm.es;Fachbereich Mathematik und Informatik, Philipps-Universität Marburg, D-35032 Marburg, Germany. priebe@mathematik.uni-marburg.de;School of Computer Science, University of St. Andrews, KY16 9SS, Scotland. alvaro@dcs.st-and.ac.uk;School of Mathematical and Computer Sciences, Heriot-Watt University, Edinburgh EH14 4AS, Scotland. trinder@macs.hw.ac.uk

  • Venue:
  • Higher-Order and Symbolic Computation
  • Year:
  • 2003

Quantified Score

Hi-index 0.02

Visualization

Abstract

This paper presents a practical evaluation and comparison of three state-of-the-art parallel functional languages. The evaluation is based on implementations of three typical symbolic computation programs, with performance measured on a Beowulf-class parallel architecture.We assess three mature parallel functional languages: PMLS, a system for implicitly parallel execution of ML programs; GPH, a mainly implicit parallel extension of Haskell; and Eden, a more explicit parallel extension of Haskell designed for both distributed and parallel execution. While all three languages employ a completely implicit approach to communication, each language takes a different approach to specifying and controlling parallelism, ranging from explicit identification of processes as language constructs (Eden) through annotation of potential parallelism (GPH) to automatic detection of parallel skeletons in sequential code (PMLS).We present detailed performance measurements of all three systems on a widely available parallel architecture: a Beowulf cluster of low-cost commodity workstations. We use three representative symbolic applications: a matrix multiplication algorithm, an exact linear system solver, and a simple ray-tracer. Our results show how moderate speedups can be achieved with little or no changes to the sequential code, and that parallel performance can be significantly improved even within our high-level model of parallel functional programming by controlling key aspects of the program such as load distribution and thread granularity.