The Unicore grid environment allows the description of complex workflows containing dependencies, control structures and hierarchies of jobs and sub-jobs. Grid resources for the execution of these workflows are assigned manually and remain fixed during the entire runtime of the job. While this approach is feasible in rather small environments where users can be expected to know proper resources for their jobs, it is not admissible in large, dynamic environments. A first solution for finding resources that match a task's requirements has been developed with the Unicore Resource Broker. However, this broker only returns a list of resources to the user, who still has to select and assign resources to jobs. Also, the broker can only sort the returned resources by single, user-defined attributes and does not take workflows surrounding the tasks into account.
The goal of my work is to allow for an automatic and dynamic mapping of workflows onto grid resources. Automatic mapping will make it easier for users to find proper resources for their tasks, particularly in large environments. It also includes the optimization of entire workflows. The dynamic adaption of schedules aids the reaction on failures of resources and may also further improve already optimized schedules due to availability of different resources. I will also show how such optimizations and adaptions can influence the makespan of schedules.