Vous êtes sur la page 1sur 2

A STATIC SCHEDULING ALGORITHM USING DYNAMIC CRITICAL PATH FOR ASSIGNING PARALLEL ALGORITHMS ONTO MULTI PROCESSOR

APOORV AGARWAL (2008A8PS281G) CHITRANSH CHANDRA (2008A8PS325G)

Algorithm proposed in the paper is a static compile time scheduling algorithm which maps the processes onto the processors dynamically based on DCP (dynamic critical path).It is an improvement over previously proposed algorithm in the following ways: 1. It dynamically allocates nodes (tasks) onto the processor. Parameters like AEST, ALST are calculated recursively after each step, in this way critical path is not fixed but changes until the last node has been allocated and we get optimal scheduling. In short it actually takes in account dynamic changes in the priority of a node after each step of scheduling. 2. It uses look ahead approach in which it not only looks at the start time of the node but also the start time of children. Thus, chances of a node getting allocated to a wrong processor are reduced drastically. Some of the related algorithms explained in the paper are: 1. Modified critical path: this algorithm creates a list of nodes according to their least starting time and then allocates the nodes to processor which gives earliest starting time. But it does not give accurate priority to nodes on DCP (CPN) and also doesnt take into account start time of children of the node. 2. MD algorithm (mobility detected): In this node is inserted on the processor if it has enough idle time to accommodate it. It is negative in the sense that it pushes down already scheduled node. 3. DSC (dynamic sequence clustering): It is an improvement over MD in the way that it doesnt push already scheduled node but it delays the CPNs. 4. DLS (dynamic level scheduling): It selects node processor pair on the basis of dynamic level which depends on computation cost from the node to the exit node. It again has problem with allocation of CPNs. Steps in the proposed algorithm: 1. CLUSTERING: first of all clusters according to the number of processors are created and a node is allowed in cluster if the start time of the children of the node doesnt exceed the upper bound on the start time. Upper and lower bound for the start time of a node is calculated since the start time varies with each step in the scheduling. Clusters created here are linear clusters which have atleast one node. Thus critical path of the task graph changes dynamically.

2. Parameters like ALST (absolute latest start time) and AEST (absolute earliest start time) are calculated recursively to find out CPNs. These parameters depend on the factors like computation time and communication time and length of critical path. Node which has these two parameters equal is the CPN. 3. After finding the critical path node it is inserted onto a processor which has enough idle time such that the scheduled node can be pushed back and the new node can be inserted 4. After this a node on the critical path is clustered onto the processor. Processor containing both parent and children node are given priority and just reverse is the criteria for the non CPNs. Along with it according to look ahead criteria ,cluster which has smallest difference in between the ALST AND AEST for the children node is selected CONCLUSION: The proposed algorithm beats all other above mentioned algorithms in terms of running time and no of processor making it viable for static run time scheduling.

Vous aimerez peut-être aussi