# What are the functions of Scheduling Model in computer architecture?

A scheduling system consists of program tasks, a target machine, and a schedule in which a specific performance criterion is optimized.

Program Tasks − The characteristics of a parallel program can be defined as the system (T, <, D, A) as follows −

• T={t1,…..tn} is a set of tasks to be executed.

• < is a partial order defined on T which specifies operational precedence constraints. That is ti<tj means that ti must be completed before tj can start execution.

• D is an n x n matrix of communication data, where Dij≥0 is the amount of data required to be transmitted from task ti to task tj, 1 ≤ i, j≤ n.

• A is an n vector of the number of computations; that is, Ai > 0 is a measure of the amount of computation at task ti, 1 ≤i≤ n.

The relationship among tasks in distributed systems may or may not include precedence constraints. When some precedence constraints need to be enforced, the partial order < is conveniently represented as a directed acyclic graph (DAG) called a task graph.

In this case, scheduling these tasks is usually referred to as Precedence Constrained Scheduling. A task graph G = (T, E) has a set of nodes T and a set of directed edges E. A directed edge (i, j) between two tasks tiand tjspecifies that ti must be completed before tj can begin.

Target Machine − The target machine consists of a set of m heterogeneous processing elements connected using an arbitrary interconnection network. Associated with each processing element Pi is its speed Si.

The connectivity of the processing elements can be represented using an undirected graph called the network graph. Associated with each edge (i, j) connecting two processing elements Pi and Pj in the network graph is the transfer rate Rij, that is, how many units of data can be transmitted per unit of time over the link.

The Schedule − A schedule of the task graph G = (T, E) on a system of m processing elements is a function f that maps each task to a processing element and a starting time.

Formally, f − T &#rarr;{1,2,…m} x [0,∞).If f(v)=(i,t) for some v ∈ T. Task v is scheduled to be processed by processor i starting at time t. The function f can be illustrated as a Gantt chart where the start and finish times for all tasks can be easily shown. A Gantt chart consists of a list of all processing elements in a distributed system, and for each processing element, a list of all tasks allocated to that processing element ordered by their execution time, including task start and finish times.

The scheduling goal is to minimize the total completion time of a parallel program. This performance measure is known as the schedule length or the maximum finishing time of any task.