Most scheduling algorithms are based on the so-called list scheduling technique.
The basic idea of list scheduling is to make a scheduling list (a sequence of nodes for scheduling) by assigning them some priorities, and then repeatedly execute the following two steps until all the nodes in the graph are scheduled:
1. Remove the first node from the scheduling list;
2. Allocate the node to a processor which allows the earliest start-time.
《Genetic algorithm for DAG scheduling in Grid enviroment》