80 likes | 179 Views
How Many Boundaries Are Required to Ensure Optimality in Multiprocessor Scheduling?. Geoffrey Nelissen Shelby Funk Dakai Zhu Jo ё l Goossens. Optimal Multiprocessor Scheduling. Boundary-based schedulers have two distinct phases During the boundary phase execution times are determined
E N D
How Many Boundaries Are Required to Ensure Optimality in Multiprocessor Scheduling? Geoffrey Nelissen Shelby Funk Dakai Zhu Joёl Goossens
Optimal Multiprocessor Scheduling • Boundary-based schedulers have two distinct phases • During the boundary phase execution times are determined • During the execution phase scheduling is done using these execution times • All known optimal scheduling algorithms are boundary-based • E.g., Pfair, BF, LLREF, DP-Fair, EKG
Example • τ = {(6,2), (12,10), (8,4), (24,16), (24, 16)} • 3 processors 1 boundary 8 preemptions 8 migrations 6 boundaries 16 preemptions 12 migrations
Why Use Boundary-Based Scheduling? • In general, optimal scheduling algorithms do not exist for multiprocessor platforms • When all deadlines are equal, optimal algorithms do exists • E.g., McNaughton’s wrap-around algorithm • Using boundaries, all sub-jobs to share deadlines • Allocated execution “reasonably close” to the fluid schedule • While execution may diverge from the fluid schedule between boundaries, the divergence is bounded at all boundaries
The Problem With Boundary-Based Schedules • All boundary-based schedules break jobs into pieces • This introduces scheduling overhead due to preemptions and migrations • Removing boundaries can reduce preemptions and migrations • Question: How many boundaries can we remove and still maintain optimality?
Conjecture • Assume τ is a periodic task set that is feasible on m processors and contains at most 2m-1 tasks. • One task is statically allocated to each processor. • Remaining tasks are permitted to migrate. • There exists an optimal algorithm that can schedule τ using boundaries only at the migratory task deadlines.
Example • τ = {(6,2), (12,10), (8,4), (24,16), (24, 16)} • 3 processors
Questions • Is the conjecture true? • If so, what is the optimal algorithm? • Does the conjecture continue to hold if there are more than 2m-1 tasks? • Can we reduce the number of boundaries using an efficient scheduling algorithm, or is this a lower bound for optimal scheduling algorithms? • Can this idea be extended to sporadic task sets?