A New Algorithm for Preemptive Scheduling of Trees

An algorithm which schedules forests of <italic>n</italic> tasks on <italic>m</italic> identical processors in <italic>O</italic>(<italic>n</italic> log <italic>m</italic>) time, offline, is given. The schedules are optimal with respect to finish time and contain at most <italic>n</italic> - 2 preemptions, a bound which is realized for all <italic>n</italic>. Also given is a simpler algorithm which runs in <italic>O</italic>(<italic>nm</italic>) time on the same problem and can be adapted to give optimal finish time schedules on-line for independent tasks with release times.