• No se han encontrado resultados

3. Dise˜ no de algoritmos continuos convergentes en tiempo fijo

3.6. Conclusiones

The DVS problems we discussed above all allow preemption. One of the main differences between the DVS problem and the GRID problem is that the preemption of jobs is allowed in the DVS problem while the preemption of jobs is not allowed in the GRID problem. It brings up a question: is the GRID problem more related to the non-preemptive DVS problem than to the DVS problem?

Although the DVS problem is polynomial time solvable for both single machine and multi-machine [5], the non-preemptive DVS is NP-hard. It can be proved by reducing from the PARTITION problem [3]. Moreover, it can be proved to be strongly NP-hard by reducing from the 3-PARTITION problem [3]. However, for instance with agreeable deadlines, the non-preemptive DVS problem is in P [3].

For jobs with equal work loads, the non-preemptive DVS problem is polynomial time solvable. Huang and Ott [37] proved it by proposing an O(n4) time algorithm based on dynamic programming.

Bampis et al. [5] proposed a (1+`max

`min)

α-approximation algorithm for the general case,

where `max and `min are maximum work load and minimum work load, respectively.

The algorithm is by transforming the YDS schedule (which is preemptive) to a non- preemptive one. By this result, there is a 2α-approximation algorithm for uniform- workload jobs.

Antoniadis and Huang [3] proposed an approximation algorithm with approximation ratio 25α−4, which is not related to the work loads. This algorithm is based on a 24α−3- approximation algorithm for laminar case jobs.

In Table 3.1, we summarize the current results of different variations of the DVS problem under offline or online model.

Relating to the GRID problem. DVS and GRID are both energy-aware scheduling problems. The cost functions in the two problems are in the same convex form. However, the differences between these two problems are crucial and make the design and analysis of algorithms different. One of the main differences is, in the DVS problem, jobs are characterized by work load, which can be finished with any speed (and even different speeds at different time). In contrast, in the GRID problem, the jobs are characterized by fixed power request and time duration, which means each job has to be executed with specific power for a specific duration of time. Not to mention that preemption is allowed

Table 3.1: Summarize of results of the DVS problem. offline (running time) online (competitve ratio) DVS O(n2log n) [52] AVR: 2α−1αα [6] BKP: 2(α−1α )αeα [6]

discrete DVS O(n log max{d, n}) [52] 2α−1(δ−1)(δ(α−1)α−1α−δ)(δα−1α−1)α + 1 [50]

non-preemptive DVS

strongly NP-hard

O(25α−4)-approximate [3]

in the original DVS problem while preemption is not allowed in the GRID problem. For visualizing the DVS problem, a job can be seen as arbitrary “shape” which can be stretched, rotated or split, as long as the total area of the shape remains the same as its work load.

For GRID problem with unit-size jobs (that is, the jobs have unit time duration and unit power request), preemption is not necessary since the jobs are only released or expired at the beginning of timeslots (which means the necessary preemptions must happen at the beginning of timeslots). Hence for GRID problem with unit-size jobs, it is relatively easy to adapt the algorithms of DVS.

We can transform an input set where all jobs have contiguous feasible intervals of GRID problem to an input set of DVS problem by the following: for each job J, the corresponding job in the DVS problem has work load w(J) · h(J), release time r(J), and deadline d(J). Notice that for special input where jobs sizes are unit, the consequent jobs are with unit work loads.

Since the power requests of jobs in GRID problem with unit-size jobs are exactly 1, the power demand at each timeslots in any schedule is integral. Recall the discrete DVS problem, by setting the speeds set S = {1, 2, 3, · · · , n} where n is the number of jobs, a discrete DVS schedule of the input jobs is also a GRID schedule. We will give details of this approach in Section 4.2.4.

For more general input of GRID problem, it is hard to adapt the algorithms for DVS problems. It is difficult even for unit-width jobs although there is no need for preemption. The first difficulty is that in the case where jobs with arbitrary heights and unit width, setting speeds set as all integers is not reasonable. Given a discrete DVS schedule, it may be impossible to transform the schedule into a GRID schedule since the speed at a timeslot may not be sum of heights of any subset of jobs available at that timeslot (it is just like the McNugget number problem). It makes it hard to upper bound the approximation/competitive ratio.

Although it is difficult to use the DVS algorithms to solve the GRID problem, the cost of optimal schedule in the DVS problem is a lower bound of the cost of optimal schedule in the GRID problem for the corresponding input sets. More formally, given any input set of the GRID problem, JGRID, and the transformed input set of DVS problem,

JDVS, cost(OGRID(JGRID)) ≤ cost(OGRID(JGRID)), where OGRIDand ODVSare the optimal

algorithm of GRID and DVS, respectively.

Comparing the non-preemptive DVS problem with the GRID problem, there is an example shows that given a job set JGRIDand the corresponding JDVS, cost(ODVS(JDVS))

may not necessarily lower than cost(OGRID(JGRID)), where ODVS here is the optimal

algorithm for non-preemptive DVS.

Example 3.3. There are two jobs. One has release time 0, deadline 3, width 3 and height 1. The other has release time 1, deadline 2, width 1 and height 1. Both jobs can only schedule at their release time in GRID since their widths are the same as the lengths of their feasible intervals. The optimal cost of GRID is 1α+ 2α+ 1α= 2α+ 2. Whereas the optimal cost of non-preemptive DVS is 2α+ 2α= 2 · 2α. This is because the schedule uses speed 2 and runs the longer job with time interval with length 1.5 and the shorter job with time interval with length 0.5. The optimal cost of GRID is lower when α > 1.

Therefore, it is unclear how we may use the results on non-preemptive DVS problem and so we would stick with the preemptive DVS algorithms in this thesis.

Documento similar