The efficient allocation of tasks to available resources is a key feature of resource management and scheduling systems. This is particularly true in large scale, distributed infrastructures spanning many administrative domains such as grids or peer-to-peer networks. The mapping of applications or tasks to the physical system is subject to many constraints, requirements and objectives. Some of these derive from the application that may e.g. have a complex work flow or a hard deadline. Others arise from the nature of the resources such as computational or network capacity. If the infrastructure has a dynamic configuration, such as a desktop grid, resource uptime and application runtime become critical factors in the scheduling algorithms.
The scheduling mechanism used in this chapter maps job runtimes onto resource uptimes. The main focus lies on runtime prediction and its application in the prediction-aware mapping of jobs onto available resources. The ultimate objective is a reduction in the number of jobs prematurely interrupted due to insufficient resource availability. We introduce a comprehensive framework for efficiently executing parameter sweep applications based on both runtime prediction modeling techniques and resource availability. The framework is built on top of the CoBRA research grid and is designed to be highly configurable. It allows for prediction models and scheduling paradigms to be easily added and compared. The main goal is to offer an environment in which prediction techniques can be tested and plugged into a real life scheduler.
This goal is archived by introducing the pluggable GIPSy (Grid Information Prediction System) framework into the Prediction based Grid Scheduler (PGS). For each of the GIPSy prediction components we propose different implementations. The different techniques are compared using two testing schemes. The first scheme is based on simulations within the GIPSy framework. The second compares round-trip times using the PGS scheduler. Each of the tests is based on a number of different applications with varying runtime behavior. A comparison to alternative scheduling approaches is also made and discussed.