Abstract

We present a multi-heuristic evolutionary task allocation algorithm to dynamically map tasks to processors in a heterogeneous distributed system. It utilizes a genetic algorithm, combined with eight common heuristics, in an effort to minimize the total execution time. It operates on batches of unmapped tasks and can preemptively remap tasks to processors. The algorithm has been implemented on a Java distributed system and evaluated with a set of six problems from the areas of bioinformatics, biomedical engineering, computer science and cryptography. Experiments using up to 150 heterogeneous processors show that the algorithm achieves better efficiency than other state-of-the-art heuristic algorithms.

Highlights

  • Many heuristic algorithms exist for the task allocation problem, but most are limited to specific cases [10]

  • The solution generated by the heuristic will be discarded if it is worse than the starting solution, ensuring that the heuristic will only have a positive effect on the makespan

  • A scheduler was developed for the task allocation problem in a dynamic heterogeneous distributed system

Read more

Summary

Introduction

Many heuristic algorithms exist for the task allocation problem, but most are limited to specific cases [10]. The generality of these solutions are often reduced because of the assumptions made; (i) calculating schedules off-line in advance [1,2,7,27,29], (ii) a priori knowledge of communication times and task processing times [1,2,7,27,29], (iii) instantaneous message passing [30], (iv) all processors are homogeneous [7,30], and are dedicated to the distributed system [1,7,10,25,27,28,29,30,31] All of these assumptions limit the applicability of a scheduler in a real-world. The major contributions of this paper include: on-line estimation of resources, dealing with varying resources, dynamically modeling task execution time distributions, and providing an efficient method for scheduling in real-world heterogeneous distributed systems with zero advanced knowledge

Genetic algorithm
Encoding
Fitness function
Multiple heuristics
Evolutionary phase
Mutation
Selection
Stopping conditions
Experiments
Other scheduling algorithms
Heterogeneous distributed system
GA experiments
Multiple heuristics performance
Performance evaluation
Findings
Conclusion
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call