The basic idea of list scheduling is to make an ordered list of processes by assigning them some priorities, and then repeatedly execute the following two steps until a valid schedule is obtained :
- Select from the list, the process with the highest priority for scheduling.
- Select a resource to accommodate this process.
- If no resource can be found, we select the next process in the list.
The priorities are determined statically before scheduling process begins. The first step chooses the process with the highest priority, the second step selects the best possible resource. Some known list scheduling strategies are :
- Highest level first algorithm or HLF
- Longest path algorithm or LP
- Longest processing time
- Critical path method
- Heterogeneous Earliest Finish Time or HEFT. For the case heterogeneous workers.