Abstract
We propose a task allocation algorithm that aims at finding an optimal task assignment for any parallel programs on a given machine configuration. The theme of the approach is to traverse a state-space tree that enumerates all possible task assignments. The efficiency of the task allocation algorithm comes from that we apply a pruning rule on each traversed state to check whether traversal of a given sub-tree is required by taking advantage of dominance relation and task clustering heuristics. The pruning rules try to eliminate partial assignments that violate the clustering of tasks, but still keeping some optimal assignments in the future search space. In contrast to previous state-space searching methods for task allocation, the proposed pruning rules significantly reduce the time and space required to obtain an optimal assignment and lead the traversal to a near optimal assignment in a small number of states. Experimental evaluation shows that the pruning rules make the state-space searching approach feasible for practical use.
Original language | English |
---|---|
Pages (from-to) | 1223-1240 |
Number of pages | 18 |
Journal | Journal of Parallel and Distributed Computing |
Volume | 64 |
Issue number | 11 |
DOIs | |
State | Published - 11 2004 |
Externally published | Yes |
Keywords
- Branch-and-bound
- Dominance relation
- Pruning rule
- State-space searching
- Task allocation