Even when providing long-run, worst-case guarantees to competing flows of unit-sized tasks, a slot-timed, constant-capacity server's scheduler may retain significant, short-run, scheduling flexibility. Existing worst-case scheduling frameworks offer only limited opportunities to characterize and exploit this flexibility. We introduce a state-based framework that overcomes these limitations. Each flow's guarantee is modeled as a worst-case service that can be updated as tasks arrive and are served. Taking all flows' worst-case services as a collective state, a state-based scheduler ensures, from slot to slot, transitions between schedulable states. This constrains its scheduling flexibility to a polytope consisting of all feasible schedules that preserve schedulability. We fully characterize this polytope, enabling scheduling flexibility to be fully exploited. But, as our framework is general, full exploitation is computationally complex. To reduce complexity, we show: that when feasible schedules exist, at least one can be efficiently identified by simply maximizing the server's capacity slack; that a special class of worst-case services, min-plus services, can be efficiently specified and updated using the min-plus algebra; and that efficiency can be further improved by restricting attention to a min-plus service subclass, dual-curve services. This last specialization turns out to be a dynamic extension of service curves that approaches near practical viability while maintaining all features essential to our framework.
翻译:即使在向单位任务大小的竞争流提供长期最坏情况保证时,分时隙恒定容量服务器的调度器仍可能保留显著的短期调度灵活性。现有最坏情况调度框架仅提供有限的机会来描述和利用这种灵活性。我们引入了一种基于状态的框架来克服这些限制。每个流的保证被建模为可随任务到达和服务而更新的最坏情况服务。将所有流的最坏情况服务视为一个集体状态,基于状态的调度器确保在时隙间保持可调度状态之间的转换。这将其调度灵活性约束在一个多面体内,该多面体由所有保持可调度性的可行调度组成。我们充分刻画了这个多面体的特征,从而能够完全利用调度灵活性。然而,由于我们的框架具有通用性,完全利用在计算上较为复杂。为降低复杂度,我们证明:当可行调度存在时,至少有一个可以通过简单最大化服务器的容量松弛来高效识别;一类特殊的最坏情况服务(即最小加服务)可以使用最小加代数高效地指定和更新;通过将注意力限制在最小加服务的一个子类(即双曲线服务)上,可以进一步提高效率。最后的这个特化实际上是服务曲线的动态扩展,在保持我们框架所有基本特征的同时接近实际可行性。