Multi-objective scheduling methods for efficient utilization of cluster computing

Date of Completion

January 2004


Computer Science




Due to current advances in high-speed networks and improved microprocessor performance, clusters are considered as an attractive medium for cost effective parallel computing. Now the tendency in parallel computing has moved away from dedicated platforms to cheaper, general-purpose systems consisting of loosely coupled components built up from multi-processor workstations or PCs. In the top 500-supercomputer list for June 2004, 291 systems are now labeled as clusters. This makes clustered systems the most common architecture. ^ The concept of cluster computing necessitates tackling a number of difficult problems, including scheduling. Improper scheduling cannot exploit the true potential of the system and can offset the gain from parallelization. The problem becomes more challenging for real-time applications. Due to the NP-hardness of the scheduling problem, most of previous scheduling algorithms are based on heuristic techniques with the objective of finding high performance solutions. However, these algorithms do not consider other the impact of other factors such as system reliability, processing power fragmentation, inter-task communication and degree of parallelism on performance. Ignoring these factors may degrade any additional performance gained by using cluster computing. In this dissertation, we have developed a set of new techniques and heuristics to schedule real-time task graphs that need to satisfy multi-criteria simultaneously. ^ We introduce an objective function that guides the scheduling process to satisfy a given set of real-time constraints, to maximize reliability, to minimize processing power fragmentation, and to minimize inter-communication costs. In addition, we have developed four different search techniques that use this objective function for efficient utilization of cluster computing environments. We have applied the proposed scheduling algorithms for different applications' structures including tandem task-graphs and fork-join structures. The proposed scheduling techniques have been evaluated through extensive simulation studies and they yield better performance. ^