an average case analysis for rate monotonic
play

An Average-Case Analysis for Rate-Monotonic Multiprocessor - PowerPoint PPT Presentation

An Average-Case Analysis for Rate-Monotonic Multiprocessor Real-time Scheduling Andreas Karrenbauer & Thomas Rothvo Institute of Mathematics EPFL, Lausanne ESA 2009 Real-time Scheduling Given: synchronous tasks 1 , . . . , n where


  1. An Average-Case Analysis for Rate-Monotonic Multiprocessor Real-time Scheduling Andreas Karrenbauer & Thomas Rothvoß Institute of Mathematics EPFL, Lausanne ESA 2009

  2. Real-time Scheduling Given: synchronous tasks τ 1 , . . . , τ n where task τ i ◮ is periodic with period p ( τ i ) ◮ has running time c ( τ i ) ◮ has implicit deadline W.l.o.g.: Task τ i releases job of length c ( τ i ) at 0 , p ( τ i ) , 2 p ( τ i ) , . . . Scheduling policy: ◮ multiprocessor ◮ fixed priority ◮ pre-emptive

  3. b b b Example c ( τ 1 ) = 1 p ( τ 1 ) = 2 time 0 1 2 3 4 5 6 7 8 9 10 c ( τ 2 ) = 2 p ( τ 2 ) = 5

  4. b b b Example Theorem (Liu & Layland ’73) 1 Optimal priorities: p ( τ i ) for τ i (Rate-monotonic Schedule) c ( τ 1 ) = 1 p ( τ 1 ) = 2 time 0 1 2 3 4 5 6 7 8 9 10 c ( τ 2 ) = 2 p ( τ 2 ) = 5

  5. b b b Example Theorem (Liu & Layland ’73) 1 Optimal priorities: p ( τ i ) for τ i (Rate-monotonic Schedule) c ( τ 1 ) = 1 p ( τ 1 ) = 2 time 0 1 2 3 4 5 6 7 8 9 10 c ( τ 2 ) = 2 p ( τ 2 ) = 5

  6. b b b Example Theorem (Liu & Layland ’73) 1 Optimal priorities: p ( τ i ) for τ i (Rate-monotonic Schedule) c ( τ 1 ) = 1 p ( τ 1 ) = 2 time 0 1 2 3 4 5 6 7 8 9 10 c ( τ 2 ) = 2 p ( τ 2 ) = 5

  7. b b b Example Theorem (Liu & Layland ’73) 1 Optimal priorities: p ( τ i ) for τ i (Rate-monotonic Schedule) c ( τ 1 ) = 1 p ( τ 1 ) = 2 time 0 1 2 3 4 5 6 7 8 9 10 c ( τ 2 ) = 2 p ( τ 2 ) = 5 Definition u ( τ ) = c ( τ ) p ( τ ) = utilization of task τ

  8. Feasibility test Theorem (Lehoczky et al. ’89) If p ( τ 1 ) ≤ . . . ≤ p ( τ n ) then the response time r ( τ i ) in a RM-schedule is the smallest value s.t. � r ( τ i ) � � c ( τ i ) + c ( τ j ) ≤ r ( τ i ) p ( τ j ) j<i 1 machine suffices ⇔ ∀ i : r ( τ i ) ≤ p ( τ i ) .

  9. Feasibility test Theorem (Lehoczky et al. ’89) If p ( τ 1 ) ≤ . . . ≤ p ( τ n ) then the response time r ( τ i ) in a RM-schedule is the smallest value s.t. � r ( τ i ) � � c ( τ i ) + c ( τ j ) ≤ r ( τ i ) p ( τ j ) j<i 1 machine suffices ⇔ ∀ i : r ( τ i ) ≤ p ( τ i ) . Theorem (Eisenbrand & R. ’08) Computing a response time r ( τ i ) is NP -hard.

  10. Feasibility test Theorem (Lehoczky et al. ’89) If p ( τ 1 ) ≤ . . . ≤ p ( τ n ) then the response time r ( τ i ) in a RM-schedule is the smallest value s.t. � r ( τ i ) � � c ( τ i ) + c ( τ j ) ≤ r ( τ i ) p ( τ j ) j<i 1 machine suffices ⇔ ∀ i : r ( τ i ) ≤ p ( τ i ) . Theorem (Eisenbrand & R. ’08) Computing a response time r ( τ i ) is NP -hard. Theorem (Liu & Layland ’73) u ( S ) = � τ ∈S u ( τ ) ≤ ln(2) ≈ 69% ⇒ 1 machine suffices

  11. Feasibility test Theorem (Lehoczky et al. ’89) If p ( τ 1 ) ≤ . . . ≤ p ( τ n ) then the response time r ( τ i ) in a RM-schedule is the smallest value s.t. � r ( τ i ) � � c ( τ i ) + c ( τ j ) ≤ r ( τ i ) p ( τ j ) j<i 1 machine suffices ⇔ ∀ i : r ( τ i ) ≤ p ( τ i ) . Theorem (Eisenbrand & R. ’08) Computing a response time r ( τ i ) is NP -hard. Theorem (Liu & Layland ’73) u ( S ) = � τ ∈S u ( τ ) ≤ ln(2) ≈ 69% ⇒ 1 machine suffices Observation If p ( τ 1 ) | p ( τ 2 ) | . . . | p ( τ n ): 1 machine suffices ⇔ u ( S ) ≤ 1

  12. Feasibility test (2) Lemma (Burchard et al. ’95) For tasks S = { τ 1 , . . . , τ n } define

  13. Feasibility test (2) Lemma (Burchard et al. ’95) For tasks S = { τ 1 , . . . , τ n } define α ( τ i ) := log 2 p ( τ i ) − ⌊ log 2 p ( τ i ) ⌋

  14. Feasibility test (2) Lemma (Burchard et al. ’95) For tasks S = { τ 1 , . . . , τ n } define α ( τ i ) := log 2 p ( τ i ) − ⌊ log 2 p ( τ i ) ⌋ 1 2 4 8 periods

  15. Feasibility test (2) Lemma (Burchard et al. ’95) For tasks S = { τ 1 , . . . , τ n } define α ( τ i ) := log 2 p ( τ i ) − ⌊ log 2 p ( τ i ) ⌋ p ( τ 1 ) p ( τ 2 ) p ( τ 3 ) 1 2 4 8 periods

  16. Feasibility test (2) Lemma (Burchard et al. ’95) For tasks S = { τ 1 , . . . , τ n } define α ( τ i ) := log 2 p ( τ i ) − ⌊ log 2 p ( τ i ) ⌋ p ( τ 1 ) p ( τ 2 ) p ( τ 3 ) 1 2 4 8 periods 0 1

  17. Feasibility test (2) Lemma (Burchard et al. ’95) For tasks S = { τ 1 , . . . , τ n } define α ( τ i ) := log 2 p ( τ i ) − ⌊ log 2 p ( τ i ) ⌋ p ( τ 1 ) p ( τ 2 ) p ( τ 3 ) 1 2 4 8 periods α ( τ 1 ) 0 1

  18. Feasibility test (2) Lemma (Burchard et al. ’95) For tasks S = { τ 1 , . . . , τ n } define α ( τ i ) := log 2 p ( τ i ) − ⌊ log 2 p ( τ i ) ⌋ p ( τ 1 ) p ( τ 2 ) p ( τ 3 ) 1 2 4 8 periods α ( τ 2 ) α ( τ 1 ) 0 1

  19. Feasibility test (2) Lemma (Burchard et al. ’95) For tasks S = { τ 1 , . . . , τ n } define α ( τ i ) := log 2 p ( τ i ) − ⌊ log 2 p ( τ i ) ⌋ p ( τ 1 ) p ( τ 2 ) p ( τ 3 ) 1 2 4 8 periods α ( τ 2 ) α ( τ 1 ) α ( τ 3 ) 0 1

  20. Feasibility test (2) Lemma (Burchard et al. ’95) For tasks S = { τ 1 , . . . , τ n } define α ( τ i ) := log 2 p ( τ i ) − ⌊ log 2 p ( τ i ) ⌋ and β ( S ) := max i,j | α ( τ i ) − α ( τ j ) | p ( τ 1 ) p ( τ 2 ) p ( τ 3 ) 1 2 4 8 periods α ( τ 2 ) α ( τ 1 ) α ( τ 3 ) 0 1 β

  21. Feasibility test (2) Lemma (Burchard et al. ’95) For tasks S = { τ 1 , . . . , τ n } define α ( τ i ) := log 2 p ( τ i ) − ⌊ log 2 p ( τ i ) ⌋ and β ( S ) := max i,j | α ( τ i ) − α ( τ j ) | One machine suffices if u ( S ) ≤ 1 − β ( S ) . p ( τ 1 ) p ( τ 2 ) p ( τ 3 ) 1 2 4 8 periods α ( τ 2 ) α ( τ 1 ) α ( τ 3 ) 0 1 β

  22. Algorithms for Multiprocessor Scheduling

  23. Algorithms for Multiprocessor Scheduling Known results: ◮ NP -hard (generalization of Bin Packing)

  24. Algorithms for Multiprocessor Scheduling Known results: ◮ NP -hard (generalization of Bin Packing) ◮ asymp. 1.75-apx [Burchard et al. ’95]

  25. Algorithms for Multiprocessor Scheduling Known results: ◮ NP -hard (generalization of Bin Packing) ◮ asymp. 1.75-apx [Burchard et al. ’95] ◮ asymp. (1 + ε )-apx (with resource augmentation) in O ε (1) · n (1 /ε ) O (1) [Eisenbrand & R. ’08]

  26. Algorithms for Multiprocessor Scheduling Known results: ◮ NP -hard (generalization of Bin Packing) ◮ asymp. 1.75-apx [Burchard et al. ’95] ◮ asymp. (1 + ε )-apx (with resource augmentation) in O ε (1) · n (1 /ε ) O (1) [Eisenbrand & R. ’08] Some papers: 1. Sort tasks w.r.t. some criteria (e.g. p ( τ i ) , u ( τ i ) , α ( τ i ))

  27. Algorithms for Multiprocessor Scheduling Known results: ◮ NP -hard (generalization of Bin Packing) ◮ asymp. 1.75-apx [Burchard et al. ’95] ◮ asymp. (1 + ε )-apx (with resource augmentation) in O ε (1) · n (1 /ε ) O (1) [Eisenbrand & R. ’08] Some papers: 1. Sort tasks w.r.t. some criteria (e.g. p ( τ i ) , u ( τ i ) , α ( τ i )) 2. Distribute tasks in a First Fit/Next Fit way using a sufficient feasibility criterion

  28. Algorithms for Multiprocessor Scheduling Known results: ◮ NP -hard (generalization of Bin Packing) ◮ asymp. 1.75-apx [Burchard et al. ’95] ◮ asymp. (1 + ε )-apx (with resource augmentation) in O ε (1) · n (1 /ε ) O (1) [Eisenbrand & R. ’08] Some papers: 1. Sort tasks w.r.t. some criteria (e.g. p ( τ i ) , u ( τ i ) , α ( τ i )) 2. Distribute tasks in a First Fit/Next Fit way using a sufficient feasibility criterion 3. Perform experiments with randomly chosen tasks

  29. Algorithms for Multiprocessor Scheduling Known results: ◮ NP -hard (generalization of Bin Packing) ◮ asymp. 1.75-apx [Burchard et al. ’95] ◮ asymp. (1 + ε )-apx (with resource augmentation) in O ε (1) · n (1 /ε ) O (1) [Eisenbrand & R. ’08] Some papers: 1. Sort tasks w.r.t. some criteria (e.g. p ( τ i ) , u ( τ i ) , α ( τ i )) 2. Distribute tasks in a First Fit/Next Fit way using a sufficient feasibility criterion 3. Perform experiments with randomly chosen tasks Definition Probability distribution: ◮ Adversary gives p ( τ i ) ◮ u ( τ i ) ∈ [0 , 1] uniformly at random

  30. Waste Definition Waste of a solution: #machines − u ( S ).

  31. Waste Definition Waste of a solution: #machines − u ( S ). 1 0 M1 M2 M3

  32. Waste Definition Waste of a solution: #machines − u ( S ). 1 τ 0 M1 M2 M3

  33. Waste Definition Waste of a solution: #machines − u ( S ). 1 τ u ( τ ) 0 M1 M2 M3

  34. Waste Definition Waste of a solution: #machines − u ( S ). waste 1 τ u ( τ ) 0 M1 M2 M3

  35. Our algorithm First Fit Matching Periods (FFMP): 1. Sort: 0 ≤ α ( τ 1 ) ≤ α ( τ 2 ) ≤ . . . ≤ α ( τ n ) < 1 2. First Fit: FOR i = 1 , . . . , n DO ◮ Assign τ i to first machine P with u ( P + τ i ) ≤ 1 − β ( P + τ i )

  36. Our algorithm First Fit Matching Periods (FFMP): 1. Sort: 0 ≤ α ( τ 1 ) ≤ α ( τ 2 ) ≤ . . . ≤ α ( τ n ) < 1 2. First Fit: FOR i = 1 , . . . , n DO ◮ Assign τ i to first machine P with u ( P + τ i ) ≤ 1 − β ( P + τ i ) M1 M2 M3 u ( τ ) input α ≈ 1 α ≈ 0

  37. Our algorithm First Fit Matching Periods (FFMP): 1. Sort: 0 ≤ α ( τ 1 ) ≤ α ( τ 2 ) ≤ . . . ≤ α ( τ n ) < 1 2. First Fit: FOR i = 1 , . . . , n DO ◮ Assign τ i to first machine P with u ( P + τ i ) ≤ 1 − β ( P + τ i ) M1 M2 M3 u ( τ ) input

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