410 likes | 571 Views
Server Scheduling in the L p norm. Nikhil Bansal (CMU) Kirk Pruhs (Univ. of Pittsburgh). Scheduling. Provide service such that users are satisfied. Motivation. Single Machine Arbitrary arrival or release time ( r j ) Arbitrary processing requirement or size ( p j ). t=0 (r 1 ). r 2.
E N D
Server Scheduling in the Lp norm Nikhil Bansal (CMU) Kirk Pruhs (Univ. of Pittsburgh)
Scheduling Provide service such that users are satisfied
Motivation Single Machine Arbitrary arrival or release time ( rj) Arbitrary processing requirement or size ( pj) t=0 (r1) r2 r3
Motivation Single Machine Arbitrary arrival or release time ( rj) Arbitrary processing requirement or size ( pj) t=0 (r1) r2 r3 c1 c2 c3 Job 1 preempted
Flow Time Completion time: cj Flow time: fj = cj-rj (time user waits) t=0 (r1) r2 r3 c1 c2 c3 Flow Time of Job 1
Flow Time Completion time: cj Flow time: fj = cj-rj (time user waits) t=0 (r1) r2 r3 c1 c2 c3 Flow Time of Job 3
Stretch Stretch (i) = Flow time (i) / Size (i) [Bender Chakrabarti Muthukrishnan’98] Jobs willing to tolerate flow time proportional to size Also known as normalized flow time Each job contributes equally
Known Results Minimize total flow time (i fi) [L1 norm] Optimal Online algorithm: Work on job with smallest remaining proc. time (SRPT) SRPT is 2 – competitive for total stretch [Gehrke, Muthukrishnan, Rajaraman, Shaheen’99] Concern: Big jobs could be stuck! Starvation! Another end: Minimize maximum flow time [L1 norm] First Come First Served (FCFS) is optimal But bad average performance [Smalls stuck behind big]
Balancing average and maximum Lp norms: Penalize outliers, good average performance Online algorithms for minimizing • Flow time (i.e. (j fjp)1/p) • Stretch (i.e. (j sjp)1/p) Lp norms, previously studied: Load balancing [Awerbuch Azar Grove+ ’95, Alon Azar Woeginger Yadid ’97, Avidor Azar Sgall ’01] Completion time scheduling [Epstein,Sgall’99]
Lower Bound SRPT, FCFS optimal algorithms for p=1, 1 Nono(1) competitive randomized alg for Lp norms of flow time and stretch, for 1<p<1 Size L Suppose p=2 L3 jobs of size 1 Online: Cost of big (L3)2 = L6 Opt: L3 Smalls delayed by L= O(L5) By time L3 , If do not finish size L job, bad!
Lower Bound SRPT, FCFS optimal algorithms for p=1, 1 Nono(1) competitive randomized alg for Lp norms of flow time and stretch, for 1<p<1 Optional Stream of jobs Size L L3 jobs of size 1 L5 jobs of size 1/L2 By time L3 , If do not finish size L job, bad!
Results Resource Augmentation:[Kalyanasundaram, Pruhs 95] Online has more resources s-speed, c-competitive maxI Online(I,s) / Opt(I,1) · c Thm: SRPT, SJF (Shortest Job First) are 1+ speed O(1/) competitive No starvation unless close to peak capacity
Interpreting Resource Augmentation Performance Optimal Load
Interpreting Resource Augmentation Online Performance Optimal Load
Proof Sketch Lp norm of flow time as ‘weighted’ Flow Time problem Age(j,t) = 0 if t<rj or t>cj t-rj if rj < t < cj Observation: fj2/2 = t age(j,t) j fj2 /2= tj: alive at time t age(j,t) Proof idea: Show, at all times total age of alive jobs < O(1/)¢ total age under Opt
Proof Idea If job J of size x delayed for t units under SJF Then either, • Had lot of work of size < x before arrival of J • Lot of work arriving continuously since J arrived. In either case, Opt can be shown to have sufficiently many“old’’ unfinished jobs,
Non-Clairvoyant Scheduling Non-Clairvoyant Model [Motwani Phillips Torng ’94] Scheduler does not know size of a job Learns size only when job finishes. Cannot do things like Shortest Job First, SRPT What can we do? FCFS, Round Robin (time-sharing), …
Measuring Performance Resource Augmentation: s-speed, c-competitive Online non-clairvoyant (s,I) Opt offline clairvoyant (1,I) Max I · c
The Algorithm (MLF) Multi-Level Feedback (MLF): Used in Windows NT, Unix Levels L0,L1,L2,… job enters L0 first In Li, receive 2i amount of work, then promoted to Li+1 Work on level i, iff no job in level 0 .. i-1 L2 L1 L0
Previous Results (Non-Clairvoyant) L1 norm of Flow Time: MLF: 1+ speed, O(1/) competitive [Kalyanasundaram, Pruhs ’95] L1 norm of Stretch: MLF: 1+ speed, O(1/4 log2 B) competitive [B., Dhamdhere, Konemann, Sinha’ 03] Any algorithm is 1+ speed (log B/) competitive B = ratio of maximum to minimum job size
Our Results MLF is 1+ speed , O(1/4) competitive for all norms of flow time MLF is 1+ speed, O(1/4 log2 B) competitive for all norms of stretch
Analysis Generic technique: reduce MLF to SJF (Shortest Job First) Reduces a non-clairvoyant problem into a clairvoyant one.
Final Result Round Robin: At any time, share processor equally Considered to be fair (each job treated equally) But not good according to the Lp norm criteria Round Robin is not 1+ speed no(1) competitive (for sufficiently small )
Open Problems 1) Offline case totally open NP-Hard? Non-trivial approximation algorithms? 2) Multiple machines 3) Other notions to deal with tradeoff between average vs. max performance
An example Size L Goal: Minimize fi2 (i.e. p=2) ……… a job of size 1 arrives for n time units If n small ( < L2), work on the small jobs If n big ( > L2), at time L2, shift to finish the big job Good algorithm: A combination of SRPT + FCFS
MLF 15 7 3 1
MLF 15 7 3 1
MLF 15 7 3 1
MLF 15 7 7 3 3 1 1
MLF 15 7 7 3 3 1 1
MLF 15 7 7 3 3 1 1
MLF 15 7 7 3 3 1 1
MLF 15 7 7 3 3 1 1
Connection between MLF and SJF Instance J : 2i-1 Instance J’ : 1,2,4,…,2i-1 15 7 J J’ 3 1 2 4 8 1
MLF and SJF Instance J : 2i-1 Instance J’ : 1,2,4,…,2i-1 15 7 3 1 2 4 8 1
MLF and SJF Instance J : 2i-1 Instance J’ : 1,2,4,…,2i-1 15 7 3 1 2 4 8 1
MLF and SJF Instance J : 2i-1 Instance J’ : 1,2,4,…,2i-1 15 7 7 3 3 1 1 2 4 8 2 4 1 1
MLF and SJF MLF works on smallest level SJF works on smallest job 15 MLF works on a job in level i SJF works on 2i size copy of same job 7 7 3 3 1 1 2 4 8 2 4 1 1
MLF and SJF MLF works on smallest level SJF works on smallest job 15 MLF works on a job in level i SJF works on 2i size copy of same job 7 7 3 3 1 1 2 4 8 2 4 1 1
Analysis Idea 2 Main ideas: 1) MLF(J) can be viewed as SJF (J’) 2) We know that SJF(J’) ¼ Opt(J’), so MLF(J) ¼ Opt(J’) previous clairvoyant result Opt(J) Fairly general technique, usually allows us to reduce a non-clairvoyant problem into a clairvoyant one.