Lecture for Chapter 5.2 (Fall 13)

Download Report

Transcript Lecture for Chapter 5.2 (Fall 13)

Martha Garcia
 Goals
of Static Process Scheduling
 Types of Static Process Scheduling
 Future Research
 References
GOALS :
 Given a set or partially ordered tasks, define a
mapping of processes to processors before the
execution of the processes.
 Cost model:CPU cost and communication cost,
both should be specified in prior
 Minimize the overall finish time on a nonpreemptive(can not be interrupted)
multiprocessor system (of identical processors)
-Except for some very restricted cases,
scheduling to optimize the makespand are
NP-Complete
-Heuristic solutions are usually proposed.
Two Types :
 Precedence
Process Model
 Communication Process Model
 Precedence
Process Model :
I
K
J
-
-
L
Program is represented by a DAG(Directed
Acyclic Graph). Direct edges represent the
precedence relationship.
The longest execution path in the DAG often
used to compare the performance of a
heuristic algorithm.
[Chow and Johnson 1997]
Communication overhead for A(P1) and
E(P3)= 4 * 2 = 8
Execution time
Communication overhead for
one message
No. of messages
to communicate


Precedence constraints among tasks in a program are
explicitly specified.
Scheduling goal: minimize the makespan time
[Chow and Johnson 1997]
Algorithms:
 List Scheduling (LS): Communication overhead is
not considered. Using a simple greedy heuristic:
No processor remains idle if there are some tasks
available that it could process.

Extended List Scheduling (ELS): the actual
scheduling results of LS with communication
consideration.

Earliest Task First scheduling (ETF): the earliest
schedulable task (with communication delay
considered) is scheduled first.
[Chow and Johnson 1997]
Makespan Calculation for LS, ELS, and ETF
[Chow and Johnson 1997]
Communication Process Model

There are no precedence constrains among processes

modeled by a undirected graph G, node represent
processes and weight on the edge is the amount of
communication messages between two connected
processes.

Process execution cost might be specified some times to
handle more general cases.

Scheduling goal: maximize the resource utilization
[Chow and Johnson 1997]
 the
problem is to find an optimal assignment
of m process to P processors with respect to
the target function:
 P:
a set of processors. ej(pi): computation
cost of execution process pi in processor Pj.
 ci,j(pi,pj): communication overhead between
processes pi and pj.
 Assume a uniform communicating speed
between processors.
[Chow and Johnson 1997]

This is referred as Module Allocation problem. It is
NP-complete except for a few cases:


For P=2, Stone suggested an polynomial time solution
using Ford-Fulkerson’s maximum flow algorithm.
Known results: The mapping problem for an
arbitrary number of processors is NPcomplete.
[Chow and Johnson 1997]


Stone’s two-processor model to achieve
minimum total execution and communication
cost
Example:
 Partition the graph by drawing a line cutting through some
edges


Result in two disjoint graphs, one for each process
Set of removed edges  cut set
 Cost of cut set  sum of weights of the edges
 Total inter-process communication cost between
processors
Of course, the cost of cut sets is 0 if all processes are
assigned to the same node
 Computation constraints (no more k, distribute
evenly…)
Example:
 Maximum flow and minimum cut in a commodity-flow
network
 Find the maximum flow from source to destination


[Chow and Johnson 1997]
Maximum Flow Algorithm in Solving the
Scheduling Problem
[Chow and Johnson 1997]
Minimum-Cost Cut
Only the cuts that separate A and B
are feasible
[Chow and Johnson 1997]
Future Research :

Use AI techniques for Static Scheduling :
Genetic Algorithm
References :

Design Optimization of Time – and Cost – Constrained Fault – Tolerant Distributed
Embedded Systems.- Viacheslav Izosimov, Paul Pop. Petru Eles, Zebo Peng

A Static Task Scheduling Framework for Independent Tasks Accelerated using a
Shared Graphics Processing Unit.- Teng Li, Vikram K.Narayana, Tarek El-Ghazawi,
IEEE 2011

MAPPLE chip: a processing element for a static scheduling centric
multiprocessor.- Kenta Yasufuku, Riku Ogawa, Keisure Iwai, Hideharu Amanu, IEEE
2003
 Thank
you!!