Master Thesis - ICS
Master Thesis - ICS
Master Thesis - ICS
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Computer Science Department<br />
Antonis Misargopoulos<br />
A scheduling model consists of a scheduling policy; i.e., a set of rules for<br />
producing schedules, a program model which abstracts the set of programs to be<br />
scheduled, and a performance model which abstracts the behavior of the program on the<br />
underlying system for the purpose of the evaluating the performance potential of<br />
candidate schedules. In addition, the scheduling model utilizes a performance measure<br />
which describes the performance activity to be optimized by the performance model. As a<br />
definition, we can say that high-performance schedulers are software systems which use<br />
scheduling models to predict performance, determine application schedules based on<br />
these models, and take action to implement the resulting schedule. The high-performance<br />
scheduler determines an application schedule; i.e., an assignment of tasks, data and<br />
communication to resources, ordered in time and based on the rules of the scheduling<br />
policy. The goal is to optimize the performance experienced by the application on the<br />
computational Grid.<br />
It is very important to distinguish distributed parallel applications and ‘portable’<br />
single-site applications. Even if an application cannot profit from distribution, the<br />
scheduler may have to locate a computational site and/or co-locate data in a way that<br />
maximizes application performance. For parallel Grid applications, the high-performance<br />
scheduler will need to determine whether performance is optimized by accessing all tasks<br />
to a single site or by distributing the application to multiple sites.<br />
3.2 Developing a Grid Scheduling Model<br />
The development of efficient models for scheduling Grid environments presents a<br />
substantial challenge to researchers and application developers. One approach to<br />
developing Grid models is to compose models from constituent components which reflect<br />
application performance activities. This approach is being taken by a number of<br />
researchers [81, 82, 83, 84]. To illustrate this, consider a simple model which predicts<br />
execution time for a Grid application which executes one task A to completion, and<br />
passes all data to another task B which then executes to completion. Thus, a performance<br />
model for this application is<br />
24