320 likes | 546 Views
Machine Scheduling Price of Anarchy. Talk by Nimrod Fiat The 2014 Michal Feldman Seminar on the Price of Anarchy. Objective: Minimize Makespan. m machines, n jobs, - time of job i on machine j, for identical machines . M 2. P 3 ,2. M m. MACHINE scheduling – The general problem.
E N D
Machine Scheduling Price of Anarchy Talk by Nimrod Fiat The 2014 Michal Feldman Seminar on the Price of Anarchy
Objective: Minimize Makespan m machines, n jobs, - time of job i on machine j, for identical machines M2 P3,2 Mm MACHINE scheduling – The general problem P4,m M1 M3 Pn,3 P5,2 P7,1 P9,3
Identical machine scheduling - P||C • All machines are identical. Every job takes the same time to run on every machine. • Bipartite machine scheduling - B||C • Every job can only be run on some subset of the machines For all machines on which the job can be run, the execution time is equal. • Unrelated machine scheduling - R||C • Unrelated machines. Any job can have any execution time on every machine. MACHINE scheduling – Different variants
While forcing the optimal solution is difficult, one might try increasing the social good by designing rules and protocols. Hopefully, the independent and selfish choices of the users, given the rules of the protocols, result in a socially desired outcome. E.g., • Rules can charge payments encouraging jobs to some strategies. • A central authority can force strategies on some of the players. • Coordination policies, in our lecture, are games in which each machine has a local policy that dictates the order in which it completes the jobs assigned to it. This way, policies can give incentive for jobs to go to specific machines, by putting them close to the start of the line on these machines. Reducing THE price of anarchy
A policy that is only affected by the running times of the jobs that choose that machine. E.g., in the ShortestFirstpolicy, jobs are scheduled in order of increasing running time. strongly local policies
A policy that is only affected by the running time of the jobs assigned to it, on all machines. It is not affected by jobs that did not choose it. • An example of such a policy is the inefficiency-based policy: • A machine schedules the jobs assigned to it in non-decreasing order of inefficiency, i.e, the ratio between the processing time of the job on that machine over the minimum processing time of the job (on any machine). local policies
Strongly local policies are easy to implement in a distributed environment. They don’t require global knowledge, and require little communication. Local policies require more information than strongly local policies, but are still more efficient than global policies. MOtivation
Ordering policy: jobs are scheduled based on a global ordering. Deterministic ShortestFirst and Deterministic inefficiency-based policies are ordering policies. Such policies break ties based on global IDs of the jobs One can think of randomized policies, e.g, policies that break ties randomly. However, in randomized settings, the jobs might not be happy in retrospect, and want to reschedule themselves. It is not the focus of this lecture. Ordering policies
Theorem 1: there exists a strongly local search policy that solves the P||C problem with a price of anarchy equal to 2. Proof: we will show this holds for the ShortestFirst policy. Constant price of anarchy for identical machine scheduling
P||C POA = 2 • - Total execution time on machine • Order the jobs by non-decreasing order of completion • Order the machines in non decreasing order of • OPT – MakeSpan of optimal solution
Note that Last job on machine choose machine over machine 1, Last job on machine has execution time OPT on every machine, Thus, OPT Mm P11,m OPT M3 M2 M1 Constant price of anarchy for identical machine scheduling P9,3 P7,2 P5,1
Note: Assume otherwise, OPT: Mm M3 Constant price of anarchy for identical machine scheduling M2 M1 p8 p93 p52 p71 OPT
Theorem 2:In R||C, For any strongly local ordering policy, the price of anarchy is at Proof: for any strongly local ordering policy, we give an input, s.t. the price of anarchy is Lower Bound for Strongly Local Policies in unrelated machines
nj= for 1 ≤ j ≤ m . P, . . . , Pmstrongly local ordering policies. groups of jobs. |Sj | = nj
Sm S1 P27,m j2 j20 P42,m j14 j7 j13 M2 Mm P42,m P14,2 M1 P2,1 P7,1 P20,2 P27,m P3,1
Jobs in Sj run before jobs in Sj+1 S1 j2 j20 S2 j32 j12 j14 j7 j17 j13 M2 P12,2 P17,2 P14,2 P20,2
S2 M3 M2 1= Z M1 1=
The MakeSpan of the Nash-Equilibrium is The optimal solution has MakeSpan 2. POA = Sj Mj 2=
Relation to local search algorithms Theorem 3: The set of Nash-equilibriafor the ShortestFirst policy in R||C is precisely the set of solutions that can be output by the shortest-first greedy algorithm.
assume shortest-first greedy, not NE M2 Mj p8,2 M1 p11,j p16,1 p20,1
Proof by induction on n, any NE is shortest-first greedy output Job i is the last to complete. Note that if we remove job i, we remain in equilibrium Mj pi,j M2 M1
Theorem 4: the ShortestFirst policy for R||C has a price of anarchy of at most O(m). • Jobs are indexed in non-decreasing order of completion times. • pi= minjpij- the shortest possible processing time of job i. • Let Mi be the maximum MakeSpan for the schedule µ restricted to jobs . Upper Bound for Strongly Local Policies in unrelated machines
The schedule of the fist i jobs is the output of the shortest-first greedy algorithm. Mj pi M2 pi-1,j Mn M1
Theorem 5: The price of anarchy for R||C for the inefficiency-based policy is at most 2log(m)+2 • Recall that the inefficiency-based policy for machine j orders the jobs assigned to it in the non-decreasing order of their inefficiency eij. • Recall also - pi = minjpij, eij = pij /pi . Upper Bound on R||C for local policies
Notation Let Mkj be the set of jobs (and parts of jobs) that are processed on machine j after time 2kOPT. , Let Oj be the set of jobs processed on machine j by OPT. Let fkj be the minimum inefficiency of all jobs in Okj, on machine j.
machine j processes jobs of inefficiency at most fkj between times (2k − 2)OPT and (2k − 1)OPT. Proof by contradiction: Mj M2 M1
Mj Therefore: Rk−1,j − Rkj≥ OPT /fkj. Mk-1,j/Mk,j
All jobs in are computed by OPT at efficiency at most fkj. Therefore:. Mj j8 j11
, ≥ At the total processing time of all jobs is at most OPT. specificly, the total processing time of all jobs of inefficiency 1 is at most OPT.
By 2(log(m)+1)OPT +OPT, jobs of inefficiency 1jobs will finish. M2 Mj OPT M1 (2(log(m)+1)+1)OPT
Any job not completed by (2(log(m)+1)+1)OPT, can now change to it’s optimal machine, and be completed by at most OPT (recall the total processing time of all remaining jobs is less than OPT).