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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
We’re sorry, something doesn't seem to be working properly.
Please try refreshing the page. If that doesn't work, please contact support so we can address the problem.
References
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)
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)
Benoit, A.: ESkel — The Edinburgh Skeleton Library. Univ. of Edinburgh (2007), http://homepages.inf.ed.ac.uk/abenoit1/eSkel/
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)
Danelutto, M.: The parallel programming library Muskel. Universita di Pisa (2007), http://www.di.unipi.it/~marcod/Muskel/Home.html
Dieterle, M.: Parallel functional implementation of master worker skeletons. Diploma Thesis, Philipps-Universität Marburg (October 2007) (in German)
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)
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)
Foster, I.: Designing and Building Parallel Programs. Addison-Wesley, Reading (1995)
Grama, A., Gupta, A., Karypis, G., Kumar, V.: Introduction to Parallel Computing. Pearson Education, London (2003)
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)
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)
Kuchen, H.: The Münster Skeleton Library Muesli. Univ. Münster (2007), http://www.wi.uni-muenster.de/PI/forschung/Skeletons/index.php
Loogen, R., Ortega-Mallén, Y., Peña-Marí, R.: Parallel Functional Programming in Eden. Journal of Functional Programming 15(3), 431–475 (2005)
Mattern, F.: Algorithms for distributed termination detection. Distributed Computing 2, 161–175 (1987)
Poldner, M., Kuchen, H.: Algorithmic skeletons for branch & bound. In: ICSOFT (1), pp. 291–300. INSTICC Press (2006)
Quinn, M.: Parallel Programming in C with MPI and OpenMP. McGraw Hill, New York (2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Dieterle, M., Berthold, J., Loogen, R. (2010). A Skeleton for Distributed Work Pools in Eden. In: Blume, M., Kobayashi, N., Vidal, G. (eds) Functional and Logic Programming. FLOPS 2010. Lecture Notes in Computer Science, vol 6009. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-12251-4_24
Download citation
DOI: https://doi.org/10.1007/978-3-642-12251-4_24
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-12250-7
Online ISBN: 978-3-642-12251-4
eBook Packages: Computer ScienceComputer Science (R0)