Allocating Independent Subtasks on Parallel Processors
IEEE Transactions on Software Engineering
Guided self-scheduling: A practical scheduling scheme for parallel supercomputers
IEEE Transactions on Computers
Factoring: a method for scheduling parallel loops
Communications of the ACM
Modeling master/worker applications for automatic performance tuning
Parallel Computing - Algorithmic skeletons
Hi-index | 0.89 |
Load imbalance among workers is one of the main causes of performance shortcomings in Master-Worker applications. We have observed that this problem is very similar to the one of scheduling distributed parallel loops, which has been widely in the literature. Thus, we have adapted one of the most successful algorithms, known as Factoring, to be used for Master-Worker applications. This has leads to a simple an elegant strategy that can be used to obtain an excellent automatic and dynamic load balancing strategy for the workers. Finally, we have assessed the resulting strategy through extensive experimentation and simulation.