fixed priority multiprocessor scheduling with liu layland
play

Fixed-Priority Multiprocessor Scheduling with Liu & Laylands - PowerPoint PPT Presentation

Fixed-Priority Multiprocessor Scheduling with Liu & Laylands Utilization Bound Nan Guan , Martin Stigge, Wang Yi Uppsala University, Sweden Outline Problem Previous Results Our New Result Scheduling of Multi-task System


  1. Fixed-Priority Multiprocessor Scheduling with Liu & Layland’s Utilization Bound Nan Guan , Martin Stigge, Wang Yi Uppsala University, Sweden

  2. Outline � Problem � Previous Results � Our New Result

  3. Scheduling of Multi-task System � multi-rate real-time task system � each task Utilization: T i T i T i C i C i C i 1 2 3 J i J i J i 1 r i 2 3 4 r i r i r i

  4. Liu and Layland’s Utilization Bound � Liu and Layland’s utilization bound for single-processor scheduling [ Liu1973] (the 19 th most cited paper in computer science) � : the number of tasks, � optimal

  5. Multiprocessor Scheduling Significantly more difficult � Bin-packing problem � Hard to identify the worst-case scenario � Suffer from timing anomalies � May lead to arbitrarily low utilization

  6. Open Problem � find a multiprocessor scheduling algorithm that can achieve Liu and Layland’s utilization bound ? number of processors

  7. Multiprocessor Scheduling Partitioned Scheduling Global Scheduling Partitioned Scheduling w ith Task Splitting new task 4 waiting queue 2 3 4 2 2 2 2 2 3 2 5 5 8 9 5 3 7 1 6 7 1 6 4 8 1 6 cpu 2 cpu 3 cpu 2 cpu 3 cpu 2 cpu 3 cpu 1 cpu 1 cpu 1

  8. Best Known Results

  9. Lehoczky et al. CMU ECRTS 2009 Best Known Results

  10. Best Known Results Our New Result

  11. Lehoczky’s Algorithm [ ECRTS’09] � sort all tasks in decreasing order of utilization 8 lowest utilization 7 6 5 4 3 2 highest utilization 1

  12. Lehoczky’s Algorithm [ ECRTS’09] � pick up one processor, and assign as many tasks as possible P1 8 lowest utilization 7 6 5 4 3 2 highest utilization 1

  13. Lehoczky’s Algorithm [ ECRTS’09] � pick up one processor, and assign as many tasks as possible P1 lowest utilization 7 6 8 5 4 3 2 highest utilization 1

  14. Lehoczky’s Algorithm [ ECRTS’09] � pick up one processor, and assign as many tasks as possible P1 lowest utilization 7 6 8 5 4 3 2 highest utilization 1

  15. Lehoczky’s Algorithm [ ECRTS’09] � pick up one processor, and assign as many tasks as possible P1 lowest utilization 6 1 7 8 6 2 5 4 3 2 highest utilization 1

  16. Lehoczky’s Algorithm [ ECRTS’09] � pick up one processor, and assign as many tasks as possible P1 P2 lowest utilization 6 1 7 8 6 2 5 4 3 2 highest utilization 1

  17. Lehoczky’s Algorithm [ ECRTS’09] � pick up one processor, and assign as many tasks as possible P1 P2 lowest utilization 6 1 7 8 6 2 5 4 3 2 highest utilization 1

  18. Lehoczky’s Algorithm [ ECRTS’09] � pick up one processor, and assign as many tasks as possible P1 P2 lowest utilization 6 1 7 5 8 6 2 4 3 2 highest utilization 1

  19. Lehoczky’s Algorithm [ ECRTS’09] � pick up one processor, and assign as many tasks as possible P1 P2 lowest utilization 6 1 7 4 5 8 6 2 3 2 highest utilization 1

  20. Lehoczky’s Algorithm [ ECRTS’09] � pick up one processor, and assign as many tasks as possible P1 P2 lowest utilization 6 1 3 7 4 5 8 6 2 2 highest utilization 1

  21. Lehoczky’s Algorithm [ ECRTS’09] � pick up one processor, and assign as many tasks as possible P1 P2 lowest utilization 2 1 6 1 3 7 4 5 8 6 2 2 2 highest utilization 1

  22. Lehoczky’s Algorithm [ ECRTS’09] � pick up one processor, and assign as many tasks as possible P1 P2 P3 lowest utilization 2 1 6 1 3 7 4 5 8 2 2 6 2 highest utilization 1

  23. Lehoczky’s Algorithm [ ECRTS’09] � pick up one processor, and assign as many tasks as possible P1 P2 P3 lowest utilization 2 1 6 1 3 7 4 1 5 8 2 2 6 2 highest utilization

  24. Lehoczky’s Algorithm [ ECRTS’09] � pick up one processor, and assign as many tasks as possible P1 P2 P3 lowest utilization 2 1 6 1 3 7 4 1 5 8 2 2 6 2 key feature: depth-first partitioning with decreasing utilization order highest utilization

  25. Lehoczky’s Algorithm [ ECRTS’09] � pick up one processor, and assign as many tasks as possible P1 P2 P3 lowest utilization 2 1 6 1 3 7 4 1 5 8 2 2 6 2 Utilization Bound: 6 5 % highest utilization

  26. Our Algorithm width-first partitioning with increasing priority order

  27. Our Algorithm � sort all tasks in increasing priority order lowest priority 7 6 5 4 3 2 1 highest priority

  28. Our Algorithm � select the processor on which the assigned utilization is the lowest lowest priority 7 6 5 P1 P2 P3 4 3 2 1 highest priority

  29. Our Algorithm � select the processor on which the assigned utilization is the lowest lowest priority 6 5 P1 P2 P3 4 3 7 2 1 highest priority

  30. Our Algorithm � select the processor on which the assigned utilization is the lowest lowest priority 5 P1 P2 P3 4 3 7 6 2 1 highest priority

  31. Our Algorithm � select the processor on which the assigned utilization is the lowest lowest priority P1 P2 P3 4 3 7 5 6 2 1 highest priority

  32. Our Algorithm � select the processor on which the assigned utilization is the lowest lowest priority P1 P2 P3 3 4 7 5 6 2 1 highest priority

  33. Our Algorithm � select the processor on which the assigned utilization is the lowest lowest priority P1 P2 P3 3 4 7 5 6 2 1 highest priority

  34. Our Algorithm � select the processor on which the assigned utilization is the lowest lowest priority P1 P2 P3 2 1 3 4 7 5 6 2 2 1 highest priority

  35. Our Algorithm � select the processor on which the assigned utilization is the lowest lowest priority P1 P2 P3 2 1 2 2 3 4 7 5 6 1 highest priority

  36. Our Algorithm � select the processor on which the assigned utilization is the lowest lowest priority P1 P2 P3 1 1 2 1 2 2 3 4 7 5 6 highest priority 1 2

  37. Our Algorithm � select the processor on which the assigned utilization is the lowest lowest priority P1 P2 P3 1 2 1 1 2 1 2 2 3 4 7 5 6 highest priority

  38. Our Algorithm � select the processor on which the assigned utilization is the lowest key feature: w idth-first partitioning lowest priority w ith increasing prio order P1 P2 P3 1 2 1 1 2 1 2 2 3 4 7 5 6 highest priority

  39. Comparison � maximal number of task splitting both are M-1 Ours: width-first Lehoczky’s: depth-first (increasing priority order) (decreasing utilization order) P1 P2 P3 P1 P2 P3 1 2 6 1 3 1 1 1 2 1 3 7 4 4 5 2 5 8 8 7 6 3 2 6 2

  40. Comparison � why is our algorithm better? Ours: width-first Lehoczky’s: depth-first (increasing priority order) (decreasing utilization order) P1 P2 P3 P1 P2 P3 1 2 6 1 3 1 1 1 2 1 3 7 4 4 5 2 5 8 8 7 6 3 2 6 2

  41. Comparison key point: by our algorithm , split tasks generally have high priorities on each processor Ours: width-first Lehoczky’s: depth-first (decreasing utilization order) (increasing priority order) P1 P2 P3 P1 P2 P3 1 2 6 1 3 1 1 1 2 1 3 7 4 4 5 2 5 8 8 7 6 3 2 6 2

  42. d d subtasks should be executed in the correct order Split Task r r P1 P2 P3

  43. Split Task original utilization : synthetic utilization : split tasks cause “utilization increase”

  44. Our Algorithm � intuition � high priority tasks have better chance to meet their deadlines P1 P2 … …

  45. Our Algorithm � intuition � an extreme scenario: � each subtask has the highest priority on each processor � can meet their deadlines anyway � no “utilization increase” P1 P2 … …

  46. Theorem for a task set in with each task satisfies we have reasonable constraint in real-life systems

  47. Our Algorithm � problem of heavy tasks 8 7 6 lowest priority P1 P2 P3 5 4 3 2 1 highest priority

  48. Our Algorithm � problem of heavy tasks 7 6 lowest priority P1 P2 P3 5 8 4 3 2 1 highest priority

  49. Our Algorithm � problem of heavy tasks 6 lowest priority P1 P2 P3 5 8 7 4 3 2 1 highest priority

  50. Our Algorithm � problem of heavy tasks lowest priority P1 P2 P3 5 8 7 6 4 3 2 1 highest priority

  51. Our Algorithm � problem of heavy tasks lowest priority P1 P2 P3 5 1 5 2 8 7 6 4 3 2 1 highest priority

  52. Our Algorithm � problem of heavy tasks lowest priority P1 P2 P3 5 1 5 2 8 7 6 4 3 2 1 highest priority

  53. Our Algorithm � problem of heavy tasks lowest priority P1 P2 P3 5 1 4 5 2 8 7 6 3 2 1 highest priority

  54. Our Algorithm � problem of heavy tasks lowest priority P1 P2 P3 5 1 3 4 5 2 8 7 6 2 1 highest priority

  55. Our Algorithm � problem of heavy tasks lowest priority P1 P2 P3 2 5 1 3 4 5 2 8 7 6 1 highest priority

  56. Our Algorithm � problem of heavy tasks lowest priority P1 P2 P3 1 2 5 1 3 4 5 2 8 7 6 highest priority

  57. The idea w orks for all tasks! � To get rid of the constraint � pre-assign tasks with high utilization

  58. The idea w orks for all tasks! lowest priority 5 P1 P2 P3 4 3 2 highest priority 1

  59. The idea w orks for all tasks! lowest priority 5 P1 P2 P3 3 4 2 pre-assign the heavy task highest priority 1

Recommend


More recommend