SMU - CSE 8388 Spring 2005 Instructor: Dr. H. El-Rewini
The El-Rewini/Ali Scheduling of
In-Forest Task Graph on Two
Processors with Communication
By David Y. Feinstein
April 25, 2005
An in-forest task graph allows only one successor
task for each node. Out-forest task graphs are
The Hu Scheduling algorithm (1961) of in/out-forest
task graphs on arbitrary number of processor assumes
no communication cost.
The El-Rewini/Ali algorithm (1994) was the first to
achieve optimal scheduling of in/out-forest tasks graph
with communication. It does limit the maximum
number of processors to two.
The El-Rewini/Ali algorithm introduced the notion of
Augmental Graph to compensate for the
communication cost. The Augmental Graph can be
scheduled using the Hu algorithm followed by the
SwapAll check to verify or correct the resulting
My proposed solution
This project provided an advanced framework to
simulate both Hu algorithm (on arbitrary number of
processors) and the El-Rewini/Ali algorithm.
User can create, edit and store task graphs using
node and successor arc editors.
After the required algorithm is selected, the user can
animate the process of the GANTT diagram
Augmental graph creation is show in the detailed
algorithm output memo control. Sibling analysis
results can be seen graphically.
My project currently supports only the In-Forest – it
can be easily extended for Out-Forest task graphs.
Execution time of all tasks takes is one unit of time.
Communication (in the El-Rewini/Ali algorithm) tasks
one unit of time.
Since the program currently supports only In-Forest
task graphs, all successor arcs are pointing
downward. (Arrow heads not shown for graph
The file extension name for this project is “*.eas” (for
El-Rewini Ali Scheduling)
In-Forest Task Graph Creation
The user first generates the empty graph, after
setting the number of levels.
Use Node Insert/Delete set the proper number of
Use the successor editor to set the successor
Here is a sample of graph (also
stored in “test1.eas”)
The Default Process Setup Selection is the
El-Rewini/Ali optimal algorithm with
The El-Rewini/Ali Algorithm is the default.
Number of processor is automatically set to 2
Must have a created graph (or a graph file *.eas
The Hu Algorithm is Limited to No
When selecting the “Hu Only” process, the Hu
algorithm will run without communication.
You can set any number of processors.
Users can simulate homework 4 Problem 10-1
(using file “test2.eas”)
The Augmental Graph Creation is an
Essential Step of El-Rewini/Ali Algorithm
The Augmental Graph process performs sibling
analysis in the algorithm output screen.
The use can select the “Show Sibling in Graph” or
“Show Augmental Graph.
This partial display shows the
detail algorithm output box
Other portions of the display show
the Sibling Analysis and the
Graph creation process.
Selecting “Show Sibling in Graph”
Selecting “Show Augmental Graph”
Notice what happens if we do not select “minimize
arc crossing”. The result is still correct…
Hu Scheduling Control
You can use animation or single step.
The Hu Scheduling animation can be shown on the
GANTT diagram or even on the graph itself.
For El-Rewini/Ali, the Hu process works on the
During the Hu animation, Done nodes are
in read, Ready nodes are shown in Green.
Gantt Diagram and program
output listing details
The Final process in the El-Rewini/Ali is checking
the resulting Hu Schedule. The program performs
the SwapAll operation if required.
Homework 4 problem 10-7 can be verified with the
File “test1.eas” required one
swapall operation at time-6
The El-Rewini/Ali Augmental Graph was a critical
and elegant inventive step in order to solve the
problem of scheduling in-forest task graphs with
Computation cost for the Augmental Graph creation
are relatively minimal.
When using the Hu Only (without communications -
not show on the slides but can be run on the
program) – we quickly reach a point where adding
processors do not increase the output.