Top Up Prev Next Bottom Contents Index Search

15.6 Dynamic Level Scheduler

Dynamic Level Scheduling is one of the list scheduling algorithms where the priority of a node is not fixed during the scheduling procedure. The scheduling algorithm is implemented in $PTOLEMY/src/domains/cg/dlScheduler. All classes in that directory are derived from the base parallel scheduling classes described above in this chapter. For example, DLNode class is derived from class ParNode, and redefines getLevel method to compute the dynamic level of the node.

int getLevel(); 
This method returns the sum of the static node and the worst case communication cost between its ancestors and this DLNode.

Class DLNode has the same constructors as class ParNode.

The dynamic level scheduler maintains a list of runnable nodes sorted by the getLevel value of the DLNodes. It fetches a node of highest priority and choose the best processor that can schedule the node earliest while taking interprocessor communication into account.



Top Up Prev Next Bottom Contents Index Search

Copyright © 1990-1997, University of California. All rights reserved.