Parallel functional programming at two levels of abstraction

  • Authors:
  • Ricardo Peña;Fernando Rubio

  • Affiliations:
  • Universidad Complutense de Madrid, Ciudad Universitaria s/n, Madrid, Spain;Universidad Complutense de Madrid, Ciudad Universitaria s/n, Madrid, Spain

  • Venue:
  • Proceedings of the 3rd ACM SIGPLAN international conference on Principles and practice of declarative programming
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

The parallel functional language Eden extends Haskell with expressions to define and instantiate process systems. These extensions allow also the easy definition of skeletons as higherorder functions. P arallel programming is possible in Eden at two levels: Recursive programming and higher-order programming. At the lower level, processes are explicitly created by using recursive definitions. In this way, skeletons can be defined. This is very un usual, as most skeleton-based languages use an imperative language to create new skeletons. At the higher level, available sk eletons are used to create applications or to define new skeletons on top of the other ones. In this paper, we present five skeletons, most of them wellkno wn, covering a wide range of parallel structures. F or each one, sev eral Eden implementations are given, together with their corresponding cost models. Finally, some examples of application programming are shown, including predicted and actual results on a Beowulf cluster.