Maximizing Online Utilization with Commitment

12 Apr 2019  ·  Schwiegelshohn Chris Sapienza, University of Rome, Italy, Schwiegelshohn Uwe TU Dortmund University, Germany ·

We investigate online scheduling with commitment for parallel identical machines. Our objective is to maximize the total processing time of accepted jobs. As soon as a job has been submitted, the commitment constraint forces us to decide immediately whether we accept or reject the job. Upon acceptance of a job, we must complete it before its deadline $d$ that satisfies $d \geq (1+\epsilon)\cdot p + r$, with $p$ and $r$ being the processing time and the submission time of the job, respectively while $\epsilon>0$ is the slack of the system. Since the hard case typically arises for near-tight deadlines, we consider $\varepsilon\leq 1$. We use competitive analysis to evaluate our algorithms. Our first main contribution is a deterministic preemptive online algorithm with an almost tight competitive ratio on any number of machines. For a single machine, the competitive factor matches the optimal bound $\frac{1+\epsilon}{\epsilon}$ of the greedy acceptance policy. Then the competitive ratio improves with an increasing number of machines and approaches $(1+\epsilon)\cdot\ln \frac{1+\epsilon}{\epsilon}$ as the number of machines converges to infinity. This is an exponential improvement over the greedy acceptance policy for small $\epsilon$. In the non-preemptive case, we present a deterministic algorithm on $m$ machines with a competitive ratio of $1+m\cdot \left(\frac{1+\epsilon}{\epsilon}\right)^{\frac{1}{m}}$. This matches the optimal bound of $2+\frac{1}{\epsilon}$ of the greedy acceptance policy for a single machine while it again guarantees an exponential improvement over the greedy acceptance policy for small $\epsilon$ and large $m$. In addition, we determine an almost tight lower bound that approaches $m\cdot \left(\frac{1}{\epsilon}\right)^{\frac{1}{m}}$ for large $m$ and small $\epsilon$.

PDF Abstract
No code implementations yet. Submit your code now

Categories


Data Structures and Algorithms

Datasets


  Add Datasets introduced or used in this paper