Scheduling parallel applications using malleable tasks on clusters

Denis Trystram · 2005

Scheduling is a central issue for implementing applications on parallel and distributed systems. This problem has been intensively studied for conventional parallel systems. Clusters of SMP (symmetric Multi-Processors) are a cost effective alternative to parallel supercomputers which are more and more popular. New characteristics are influencing the execution of parallel applications, like for instance the hierarchical structure and the heterogeneity of the processors. Communications between SMP usually need some important latencies that create large communication delays. Designing efficient software that take full advantage of such systems remains difficult. The model of malleable task (MT) was introduced some years ago and has been proved to be an efficient way for implementing parallel applications on conventional systems. Here, the target application is considered at a larger level of granularity than in other models (corresponding typically to numerical routines) where the tasks can themselves be executed in parallel. In this paper, we are interested in designing efficient lowcost scheduling algorithms for implementing parallel applications for clusters. We first discuss the problems that occur while scheduling an application on parallel systems and give a classification of applications leading to various scheduling problems. For each of these problems, we will use the same methodology for optimizing the resource utilization of parallel programs.

Read the paper · More papers on PaperTik