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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend