Chapter

Functional and Logic Programming

Volume 6009 of the series Lecture Notes in Computer Science pp 337-353

A Skeleton for Distributed Work Pools in Eden

  • Mischa DieterleAffiliated withLancaster UniversityPhilipps-Universität Marburg, Fachbereich Mathematik und Informatik
  • , Jost BertholdAffiliated withCarnegie Mellon UniversityDatalogisk Institut, University of Copenhagen
  • , Rita LoogenAffiliated withLancaster UniversityPhilipps-Universität Marburg, Fachbereich Mathematik und Informatik

* Final gross prices may vary according to local VAT.

Get Access

Abstract

We present a flexible skeleton for implementing distributed work pools in our parallel functional language Eden. The skeleton manages a pool of tasks (work pool) in a distributed manner using a demand-driven work stealing approach for load balancing. All coordination is done locally within the worker processes. The latter are arranged in a ring topology and exchange additional channels to shortcut communication paths. The skeleton is suited for different types of algorithms, namely simple data parallel ones and standard tree search algorithms like backtracking, and using a global state as needed for branch-and-bound. Runtime experiments reveal a stable runtime behaviour for the different algorithm classes as illustrated by activity profiles (timeline diagrams). Acceptable speedups can be achieved with low effort.