Efficient load balancing for wide-area divide-and-conquer applications
PPoPP '01 Proceedings of the eighth ACM SIGPLAN symposium on Principles and practices of parallel programming
Skeletons for Data Parallelism in p3l
Euro-Par '97 Proceedings of the Third International Euro-Par Conference on Parallel Processing
Load Balancing in a Parallel Graph Reducer
SFP '01 Selected papers from the 3rd Scottish Functional Programming Workshop (SFP01)
Parallel functional programming in Eden
Journal of Functional Programming
Concurrency and Computation: Practice & Experience
Dynamic task generation and transformation within a nestable workpool skeleton
Euro-Par'06 Proceedings of the 12th international conference on Parallel Processing
Proceedings of the 4th workshop on Declarative aspects of multicore programming
A survey of algorithmic skeleton frameworks: high-level structured parallel programming enablers
Software—Practice & Experience - Focus on Selected PhD Literature Reviews in the Practical Aspects of Software Technology
An adaptive hierarchical master-worker (AHMW) framework for grids-Application to B&B algorithms
Journal of Parallel and Distributed Computing
A skeleton for distributed work pools in eden
FLOPS'10 Proceedings of the 10th international conference on Functional and Logic Programming
Functional high performance financial IT: the hiperfit research center in copenhagen
TFP'11 Proceedings of the 12th international conference on Trends in Functional Programming
Eden --- parallel functional programming with haskell
CEFP'11 Proceedings of the 4th Summer School conference on Central European Functional Programming School
A Resource-Aware Dynamic Load-Balancing Parallelization Algorithm in a Farmer-Worker Environment
International Journal of Adaptive, Resilient and Autonomic Systems
Efficient programming paradigm for video streaming processing on TILE64 platform
The Journal of Supercomputing
Hi-index | 0.00 |
Master-worker systems are a well-known and often applicable scheme for the parallel evaluation of a pool of tasks, a work pool. The system consists of a master process managing a set of worker processes. After an initial phase with a fixed amount of tasks for each worker, further tasks are distributed in reply to results sent back by the workers. As this setup quickly leads to a bottleneck in the master process, the paper investigates techniques for hierarchically nesting the basic master-worker scheme. We present implementations of hierarchical master-worker skeletons, and how to automatically calculate parameters of the nested skeleton for good performance. Nesting master-worker systems is nontrivial especially in cases where newtasks are dynamically created from previous results (typically breadthordepth-first treesearchalgorithms).Wediscusshowtohandledynamically growing pools in a hierarchy and present a declarative implementation for nested master-worker systems with dynamic task creation. The skeletons are experimentally evaluated with two typical test programs. We analyse their runtime behaviour and the effects of different hierarchies on runtimes via trace visualisations.