Efficient hierarchical self-scheduling for MPI applications executing in computational Grids
The execution of distributed applications on the grid is already a reality. As both the number of applications grow and grids scale, efficient utilization of the available but shared heterogeneous resources will be essential. The EasyGrid middleware is a hierarchically distributed Application Management System embedded into MPI applications to facilitate their efficient execution in computational grids. The overhead of employing a distinct AMS to make each application system aware does however bring at least two benefits. First, the (scheduling) policies adopted can be tailored to the specific needs of each application leading to improved performance. Second, distributing the management effort amongst the applications themselves makes grid management more scalable. This paper describes a low intrusion implementation of a hybrid scheduling strategy designed to cope with the dynamic behaviour of grid environments. Using application-specific scheduling policies, near-optimal runtimes highlight the advantages of self-scheduling when executing one or more system aware applications on a grid.