Consider the problem where $n$ jobs, each with a release time, a deadline and a required processing time are to be feasibly scheduled in a single- or multi-processor setting so as to minimize the total energy consumption of the schedule. A processor has two available states: a \emph{sleep state} where no energy is consumed but also no processing can take place, and an \emph{active state} which consumes energy at a rate of one, and in which jobs can be processed. Transitioning from the active to the sleep does not incur any further energy cost, but transitioning from the sleep to the active state requires $q$ energy units. Jobs may be preempted and (in the multi-processor case) migrated. The single-processor case of the problem is known to be solvable in polynomial time via an involved dynamic program, whereas the only known approximation algorithm for the multi-processor case attains an approximation factor of $3$ and is based on rounding the solution to a linear programming relaxation of the problem. In this work, we present efficient and combinatorial approximation algorithms for both the single- and the multi-processor setting. Before, only an algorithm based on linear programming was known for the multi-processor case. Our algorithms build upon the concept of a \emph{skeleton}, a basic (and not necessarily feasible) schedule that captures the fact that some processor(s) must be active at some time point during an interval. Finally, we further demonstrate the power of skeletons by providing an $2$-approximation algorithm for the multiprocessor case, thus improving upon the recent breakthrough $3$-approximation result. Our algorithm is based on a novel rounding scheme of a linear-programming relaxation of the problem which incorporates skeletons.
翻译:考虑一个问题, $n 工作、 每个都有释放时间、 截止时间 和要求的处理时间, 将会在单一或多处理器设置中进行可操作的进度, 以便最大限度地减少时间表的总能量消耗。 一个处理器有两个可用状态: 一个不消耗能源但也没有加工的 emph{ 休息状态 ; 一个消耗能量的 emph{ 活动状态, 并且可以处理工作 。 从活动状态向睡眠状态的转换不会产生任何进一步的能量成本, 但是从睡眠状态向活跃状态的过渡需要 $qm 的能量计算单位。 工作可能会被预先预设, 并且( 在多处理状态的情况下) 。 一个问题单一处理器的单一处理器案例, 在一个相关的动态程序下可以被溶解, 而一个已知的多处理器的近似算算法 以 3$ 为基础, 并且基于对问题的线性编程的解算方法。 在这项工作中, 我们只是提出高效的和组合式的近序, 一个基于我们所知道的直线性算的算的算算算法 。