*Just as a disclaimer, I'm not sure if this is the place to post this discrete math / graphics question, or if I should pass that question to the math stack exchange.*

** tl; dr**: I am looking for an explanation for CP / MISF and possibly DF / IHS

I am particularly interested in algorithms that focus on the static planning of task priority diagrams. In my work, I am challenged to design work for any DAGs where the vertices have a known average weight and the edges are weighted with zero. i.e. there are estimated calculation costs in the execution time for all vertices and there are no communication costs for any vertices and , The work requires non-preventative scheduling. This means that a started job can only be completed or canceled. It is not possible to stop the execution of a work node and continue later.

I want to implement an efficient scheduling algorithm that is able to reduce the overall end time for a task priority diagram when scheduling the work over a set of tasks processors *(These will actually be remote machines)*,

After reading a series of articles, especially static planning algorithms for assigning charts for directed tasks to multiprocessors, I believe that *Critical Path / The most immediate successors first* (**CP / MISF**) will be an effective choice.

Could someone please explain to me the implementation of this algorithm so that I can apply it to the problem at hand? After searching the Internet for an explanation of the algorithm, I could not find any free sources describing the implementation.

Bonus point, if someone can also explain the derived work, *Depth search with implicit heuristic search* (**DF / IHS**)