Some people designing parallel physical simulations come to you with the following problem. They have a set P of k basic processes and want to assign each process to run on one of two machines, M1 and M2. They are then going to run a sequence of n jobs, J1,…, Jn. Each job Ji is represented by a set
of exactly 2n basic processes which must be running (each on its assigned machine) while the job is processed. An assignment of basic processes to machines will be called perfectly balanced if, for each job Ji, exactly n of the basic processes associated with Jt have been assigned to each of the two machines. An assignment of basic processes to machines will be called nearly balanced if, for each job J , no more than
of the basic processes associated with Jt have been assigned to the same machine.
(a) Show that for arbitrarily large values of n, there exist sequences of jobsJ1,…, Jn for which no perfectly balanced assignment exists.
(b) Suppose that n ≥ 200. Give an algorithm that takes an arbitrary sequence of jobs J1,…, Jn and produces a nearly balanced assignment of basic processes to machines. Your algorithm may be randomized, in which case its expected running time should be polynomial, and it should always produce the correct answer.
We need at least 10 more requests to produce the solution.
0 / 10 have requested this problem solution
The more requests, the faster the answer.