Presentation is loading. Please wait.

Presentation is loading. Please wait.

University of Pittsburgh

Similar presentations


Presentation on theme: "University of Pittsburgh"— Presentation transcript:

1 University of Pittsburgh
CO 2000 Scalably Scheduling Processes with Arbitrary Speedup Curves (Better Scheduling in the Dark) Jeff Edmonds York University Kirk Pruhs University of Pittsburgh MAPSP 2009

2 The Scheduling Problem
CO 2000 Allocate p processors to a stream of n jobs: Shortest Remaining Processing Time (SRPT) Shortest Elapsed Time First (SETF)

3 Sublinear Nondecreasing Speedup Functions
CO 2000 A set of jobs: Each job has phases: Each phase: Work: Speedup function: Nondecreasing Sublinear Examples: J = f 1 ; : n g J i = 1 ; : q J q i = h W ; W q i q i

4 The Scheduling Problem
CO 2000 Allocate p processors to a stream of n jobs: Measure of Quality: Competitive Ratio: F ( A I ) = P n i 1 c r R t d m a x I F ( A ) O p t

5 Sublinear Nondecreasing Speedup Functions
CO 2000 Online Nonclairvoyant: Future ? Optimal: All Knowing All Powerful Not Competitive:

6 Nonclairvoyant ­ ­ = n = ­ = F ( S E T ) O p t F ( E q u i ) n l F ( N
CO 2000 F ( S E T ) O p t = n I u O p t F ( E q u i ) = n l I F ( N o n c l a i r v y t ) O p = [MPT]

7 Performance vs Load m a x = ­ ( n ) A I F O p t F ( A I ) F ( O p t I
CO 2000 F ( A I ) F ( O p t I ) = ( n ) m a x I F O p t A Average Performance Load I

8 Performance vs Load m a x = O ( 1 ) A I F ( O p t ) F ( A I ) F ( O p
CO 2000 F ( A I ) F ( O p t I ) I Average Performance Load = O ( 1 ) s c m a x I F ( O p t ) A

9 Performance vs Load m a x O = F ( A I ) I F ( O p t ) F ( A I ) F ( O
CO 2000 F ( A s I ) F ( O p t I ) I Average Performance Load c F ( A s I ) = O Load m a x I F ( O p t )

10 Resource Augmentation
CO 2000 Nonclairvoyant: Future ? Extra Speed Optimal: All Knowing All Powerful Competitive:

11 Resource Augmentation
CO 2000 S E T F O p t I n u ( 1 + ) = [KP] 2 O p t I n u E q i 2 + F ( ) 1 = [E] Required Fully Parallelizable Jobs

12 Sublinear Nondecreasing Speedup Functions
CO 2000 Arrives over time Currently Alive O p t Opt gives all its resources to the parallelizable job and hence competes them as they arrive. The sequential jobs complete with no resources.

13 Sublinear Nondecreasing Speedup Functions
CO 2000 Arrives over time Currently Alive S E T F s Shortest Elapsed Time First (SETF) gives all its resources to a sequential job, wasting it. The parallelizable jobs, getting no resources never complete. F ( S E T s ) O p t 1 = n

14 Sublinear Nondecreasing Speedup Functions
CO 2000 Arrives over time Currently Alive ` jobs EQUI wastes є resources, but has є extra. Equi spreads its resources fairly. Most are wasted on the sequential jobs. The parallelizable jobs don’t get enough and fall behind. E q u i 1 + F ( E q u i 1 + ) O p t = `

15 Sublinear Nondecreasing Speedup Functions
CO 2000 I n p u t O p t E q u i 2 + F ( E q u i 2 + ) O p t 1 = Required [E]

16 nt jobs currently alive sorted by arrival time.
CO 2000 S E T F < L A P q u i nt jobs currently alive sorted by arrival time. Latest Arrival Processor Sharing O p t 1 job S E T F But may be sequential. L A P S jobs n t Compromise 2 + Too thin & needs speed jobs E q u i n t New result [EP] F ( L A P S h ; 1 + i ) O p t = Speed

17 nt jobs currently alive sorted by arrival time.
CO 2000 S E T F < L A P q u i nt jobs currently alive sorted by arrival time. Latest Arrival Processor Sharing O p t 1 job S E T F F ( S E T 1 + ) O p t = L A P S jobs n t Compromise jobs E q u i n t F ( E q u i 2 + ) O p t 1 = New result [EP] F ( L A P S h ; 1 + i ) O p t =

18 Backwards Quantifies 9 A l g 8 ² = 8 ² 9 A l g = £ 8 A l g 9 ² = ! = £
CO 2000 Desired result: 9 A l g 8 F ( 1 + ) O p t = Obtained: 8 9 A l g F ( 1 + ) O p t = 2 = 1 2 New result [E STOC09?] 8 A l g 9 F ( 1 + ) O p t = ! = 1 2 New result [EP] F ( L A P S h ; 1 + i ) O p t =

19 Performance vs Load Threshold
CO 2000 Defn: A set of jobs has load if i.e. can be optimally handled with speed L. L 2 [ ; 1 ] F ( O p t L I ) = 1 Defn: F ( L ) = m a x I w i t h l o d A P S ; 1 Equi (β=1) has the best performance, but it only can handle half load. L = 1 2 Small β can handle almost full load L = 1 1 . but its performance degrades with L

20 Proof Sketch CO 2000 F ( L A P S h ; 1 + i ) O p t =

21 Proof Sketch CO 2000 In the worst cast inputs, each phase is either sequential or parallelizable. LAPS LAPS

22 Proof Sketch CO 2000

23 Potential Function + · c F ( L A P S ) + © ¡ · c O p t
Define a potential function Φt. It says how much debt Laps has in the bank. Φ0 = Φfinal = 0. Φt does not increase as jobs arrive or complete. At other times, Result follows by integrating d F ( L A P S ) t + c O p F ( L A P S ) + f i n a l c O p t

24 Potential Function = © = ° P ¢ m a x ( ; ) d © t i 2 [ n ] x
CO 2000 nt jobs currently alive sorted by arrival time. Job arrives: d t = nt+1 Coefficient: 1 2 3 nt Parallelizable work done by Opt not by LAPS: x 1 2 3 n t = P i 2 [ n t ] m a x ( ; )

25 Potential Function · © = ° P ¢ m a x ( ; ) d © t i 2 [ n ] x x x x x x
CO 2000 n jobs currently alive sorted by arrival time. i Coefficient: 1 2 3 i+1 d t nt-1 i nt Parallelizable work done by Opt not by LAPS: x 1 x 2 x 3 x n t x n t x n t = P i 2 [ n t ] m a x ( ; ) Job completes:

26 Potential Function · ° ¢ n 1 © = ° P ¢ m a x ( ; ) © = ° P ¢ m a x ( ;
CO 2000 n jobs currently alive sorted by arrival time. Coefficient: 1 Opt works: O p t d n 1 2 3 nt Parallelizable work done by Opt not by LAPS: x 1 x 2 x 3 x n t x n t x n t = P i 2 [ n t ] m a x ( ; ) = P i 2 [ n t ] m a x ( ; ) = P i 2 [ n t ] m a x ( ; )

27 Potential Function · ° P ¢ © = ° P ¢ m a x ( ; ) © = ° P ¢ m a x ( ; )
CO 2000 n jobs currently alive sorted by arrival time. Coefficient: 1 2 3 nt L A P S ( 1 ) n t Parallelizable work done by Opt not by LAPS: x 1 x 2 x 3 x n t x n t x n t x ( 1 ) n t = P i 2 [ n t ] m a x ( ; ) = P i 2 [ n t ] m a x ( ; ) = P i 2 [ n t ] m a x ( ; ) LAPS works: d t P i 2 [ ( 1 ) n ; b ` ] + # of jobs sequential under LAPS LAPS is a head, i.e. x =

28 Potential Function b ` £ ( ) n · · N · ° ¢ n 1 + P + · c b ` = d F ( L
CO 2000 d F ( L A P S ) t + c O p b ` ( 1 ) n t N t # jobs alive under Laps resulting competitive ratio # jobs alive under Opt A page of math later, and the proof is done. LAPS works: Opt works: d t n t 1 + P i 2 [ ( ) ; b ` ] # of jobs sequential under LAPS LAPS is a head, i.e. x i b ` t =

29 Conclusions = £ 8 A l g 9 ² = ! [EP] Resource Augmentation:
nt jobs currently alive sorted by arrival time. L A P S jobs n t Latest Arrival Processor Sharing [EP] Resource Augmentation: F ( L A P S h ; 1 + i ) O p t = [Work in Progress]: Suboptimal Load Threashold 8 A l g 9 F ( 1 + ) O p t = !

30 Other Models Same Techniques
CO 2000 Other Models Same Techniques Broadcast: Many page requests [EP:SODA02, EP:SODA03] serviced simultaneously TCP: Add Incr & Mult Decr ~ EQUI Speed Scaling: Each algorithm can dynamically choose its speed s, but it must pay for it with energy P(s) = sα [EDD:PAA03, E:Latin 04] [CELLSP:STACS09,CEP:STACS09]

31 CO 2000 Thank you


Download ppt "University of Pittsburgh"

Similar presentations


Ads by Google