A Skeleton for Distributed Work Pools in Eden

  • Mischa Dieterle
  • Jost Berthold
  • Rita Loogen
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6009)


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.


Work Process Dynamic Channel Master Process Task Distribution Return Channel 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [BBB+94]
    Bailey, D., Baszcz, E., Barton, J., Browning, D., Carter, R., Dagum, I., et al.: The NAS Parallel Benchmarks. Technical Report RNR-94-007, NASA (1994)Google Scholar
  2. [BDLP08]
    Berthold, J., Dieterle, M., Loogen, R., Priebe, S.: Hierarchical Master-Worker Skeletons. In: Hudak, P., Warren, D.S. (eds.) PADL 2008. LNCS, vol. 4902, pp. 248–264. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  3. [Ben]
    Benoit, A.: ESkel — The Edinburgh Skeleton Library. Univ. of Edinburgh (2007),
  4. [CP96]
    Clausen, J., Perregaard, M.: On the best search strategy in parallel branch-and-bound - best-first-search vs. lazy depth-first-search. Technical Report 16, University of Copenhagen (1996)Google Scholar
  5. [Dan]
    Danelutto, M.: The parallel programming library Muskel. Universita di Pisa (2007),
  6. [Die07]
    Dieterle, M.: Parallel functional implementation of master worker skeletons. Diploma Thesis, Philipps-Universität Marburg (October 2007) (in German)Google Scholar
  7. [DLR06]
    Dorta, I., Léon, C., Rodríguez, C.: Performance Analysis of Branch-and-Bound Skeletons. In: 14th Euromicro Conf. on Parallel, Distributed, and Network-Based Processing (PDP 2006). IEEE, Los Alamitos (2006)Google Scholar
  8. [ED83]
    van Gasteren, A.J.M., Dijkstra, E.W., Feijen, W.H.J.: Derivation of a termination detection algorithm for distributed computations. Inform. Process. Lett. 16(5), 217–219 (1983)CrossRefMathSciNetGoogle Scholar
  9. [Fos95]
    Foster, I.: Designing and Building Parallel Programs. Addison-Wesley, Reading (1995)zbMATHGoogle Scholar
  10. [GGKK03]
    Grama, A., Gupta, A., Karypis, G., Kumar, V.: Introduction to Parallel Computing. Pearson Education, London (2003)Google Scholar
  11. [GL06]
    Glankwamdee, W., Linderoth, J.T.: MW: A Software Framework for Combinatorial Optimization on Computational Grids. In: Talbi, E. (ed.) Parallel Combinatorial Optimization, pp. 239–262. Wiley, Chichester (2006)CrossRefGoogle Scholar
  12. [HR06]
    Hippold, J., Rünger, G.: Task Pool Teams: A Hybrid Programming Environment for Irregular Algorithms on SMP Clusters. Concurrency and Computation: Practice and Experience 18, 1575–1594 (2006)CrossRefGoogle Scholar
  13. [Kuc]
    Kuchen, H.: The Münster Skeleton Library Muesli. Univ. Münster (2007),
  14. [LOMP05]
    Loogen, R., Ortega-Mallén, Y., Peña-Marí, R.: Parallel Functional Programming in Eden. Journal of Functional Programming 15(3), 431–475 (2005)zbMATHCrossRefGoogle Scholar
  15. [Mat87]
    Mattern, F.: Algorithms for distributed termination detection. Distributed Computing 2, 161–175 (1987)CrossRefGoogle Scholar
  16. [PK06]
    Poldner, M., Kuchen, H.: Algorithmic skeletons for branch & bound. In: ICSOFT (1), pp. 291–300. INSTICC Press (2006)Google Scholar
  17. [Qui03]
    Quinn, M.: Parallel Programming in C with MPI and OpenMP. McGraw Hill, New York (2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Mischa Dieterle
    • 1
  • Jost Berthold
    • 2
  • Rita Loogen
    • 1
  1. 1.Philipps-Universität MarburgFachbereich Mathematik und InformatikMarburgGermany
  2. 2.Datalogisk InstitutUniversity of CopenhagenDenmark

Personalised recommendations