In this paper, we balance two fundamental yet seemingly contradicting job scheduling objectives, namely the average flow time and the maximum flow time. Specifically, Shortest Remaining Processing Time (SRPT) minimizes the average flow time but may lead to job starvation. In contrast, First-Come-First-Served (FCFS) minimizes the maximum flow time but may result in poor average flow time. A natural way to balance these two objectives is to minimize the $\ell_2$ norm of flow time. For this problem, no online algorithm is known to achieve a better competitive ratio than SRPT and FCFS. It can be argued that SRPT and FCFS complement each other. To exploit this complementary relationship, we mitigate the starvation caused by SRPT with the help of FCFS. Specifically, when there are starving jobs, we process the job that becomes starving first. The main question is: when should a job be viewed as starving? If the timing is too early or too late, then the algorithm still behaves like FCFS or SRPT, respectively. In this paper, we answer the above question by estimating the number of jobs. Our algorithm significantly improves upon SRPT and FCFS in terms of the competitive ratio for minimizing the $\ell_2$ norm of flow time, even if the estimate is loose.
翻译:在本文中,我们平衡了两个基本但似乎相互矛盾的工作时间安排目标,即平均流动时间和最大流动时间。具体地说,最短的剩余处理时间(SRPT)将平均流动时间最小化,但可能导致工作饥饿。相比之下,第一服务期(FFCFS)将最大流动时间最小化,但可能导致平均流动时间差。一个自然平衡这两个目标的方法是尽量减少流动时间标准$_2美元。对于这一问题,已知没有任何在线算法能够实现比SRPT和FS最高流动时间更好的竞争比率。可以论证,SRPT和FSFS是相辅相成的。为了利用这一互补关系,我们在FCFS的帮助下,我们减轻了SRPT造成的饥饿。具体地说,当有饥饿工作时,我们首先处理的工作会变得饥饿。主要问题是:工作应该何时被视为饥饿?如果时间太早或太晚,那么计算方法仍然与FCFSFS或SRPT一样,那么算法方法仍然表现得像FPT和SRPT。在本文中,我们回答上述问题的方法是,我们通过估计FSFFS2(美元)的竞争比率的松散化。我们算算算。