Ecole Polytechnique, Nov 11, List Scheduling on Related Machines processors Related machines: machines may have different speeds 0.25 0.5 1 1 1 jobs 1 1 1
Ecole Polytechnique, Nov 11, 0.25 0.5 1 jobs Algorithm 2PACK(L): schedule each job on the slowest machine whose load will not exceed 2L L 2L2L processors Hey, the opt makespan is at most L
Ecole Polytechnique, Nov 11, Lemma: If the little birdie is right (opt makespan ≤ L) then 2PACK will succeed. Proof: Suppose 2PACK fails on job h h’s length on processor 1 ≤ L, so load of processor 1 > L r = first processor with load ≤ L (or m+1, if no such processor) 1 2 … … m L 2L2L Claim: if opt executes k on a machine in {r,r+1,…,m} then so does 2PACK optimum 2PACK r r
Ecole Polytechnique, Nov 11, … … m L 2L2L k so k‘s length here ≤ L so k fits on r k r r optimum 2PACK k suppose k executed here Lemma: If the little birdie is right (opt makespan ≤ L) then 2PACK will succeed. Proof: Suppose 2PACK fails on job h h’s length on processor 1 ≤ L, so load of processor 1 > L r = first processor with load ≤ L (or m+1, if no such processor) Claim: if opt executes k on a machine in {r,r+1,…,m} then so does 2PACK
Ecole Polytechnique, Nov 11, … … m L 2L2L r r optimum 2PACK So opt’s (speed-weighted) total load on processors {1,2,…,r-1} is > (r-1)L Lemma: If the little birdie is right (opt makespan ≤ L) then 2PACK will succeed. Proof: Suppose 2PACK fails on job h h’s length on processor 1 ≤ L, so load of processor 1 > L r = first processor with load ≤ L (or m+1, if no such processor) In other words: if 2PACK executes k on a machine in {1,2,…,r-1} then so does opt So some opt’s processor has load > L -- contradiction
Ecole Polytechnique, Nov 11, Algorithm: 1. Let B j = 2·( … + 2 j ) = 2(2 j+1 -1) “bucket” j : time interval [B j-1, B j ] (of length 2·2 j ) 2. j = 0 while there are unassigned jobs apply 2PACK with L = 2 j in bucket j if 2PACK fails on job k let j = j+1 and continue (starting with job k)
Ecole Polytechnique, Nov 11, k bucket j 1 2 m … processor B1B1 B2B2 B j-1 BjBj B j+1 … k k’
Ecole Polytechnique, Nov 11, Analysis: Suppose the optimal makespan is u Choose j such that 2 j-1 < u ≤ 2 j Then 2PACK will succeed in j ’th bucket (L = 2 j ) so algorithm’s makespan ≤ 2·( … +2 j ) and We get competitive ratio 8
Ecole Polytechnique, Nov 11, Theorem: There is an 8-competitive online algorithm for list scheduling on related machines (to minimize makespan). With randomization the ratio can be improved to 2e. [Aspnes, Azar, Fiat, Plotkin, Waarts ‘06] World records: upper bound ≈ (4.311 randomized) lower bound ≈ (2 randomized) [Berman, Charikar, Karpinski ‘97] [Epstein, Sgall ‘00] List Scheduling on Related Machines