需要注意的是,采用这种调度策略,队列中的所有任务都已确保能够在其截止时间前完成。这种保证概念对于实时计算有许多显著优势,包括:能够在任务截止时间到期之前识别出任务将错过其截止时间,以便采取适当的响应措施,并提高可预测性,例如,始终知道队列中的所有任务都可靠地确保能够在其截止时间前完成。保证概念最早在 Spring 项目中引入。关于保证概念实用性的进一步讨论,请参见 [17,19,24][17,19,24] 。
在本论文中,我们研究了动态实时计算机系统调度算法的性能,其中每个任务的时间约束被表征为松弛度,且 CPU 资源是唯一的可调度资源。当其他资源,如数据结构、文件、缓冲区、端口等也必须被调度时,则需要更复杂的技术,而这种调度不利于数学分析。参见 [24,18][24,18] ,了解在调度实时任务时考虑一般资源需求的启发式方法及其分析。
系统性能的主要指标是 1)任务丢失的百分比,我们将其表示为 RR ,以及 2)
cpu 利用率,我们将其表示为 UU 。在设计此类实时系统的关键问题之一是选择一个合适的调度算法,以便在正常操作条件和临时过载情况下都能最小化任务丢失。许多实际的实时系统会经历突发到达,重要的是调度算法在这些所有条件下都能尽可能好地工作,而不仅仅是在正常负载下。因此,在本文中,我们研究了从欠载到严重过载的广泛负载范围。此外,由于调度算法是用于在线的,它必须是计算高效且可预测的。也就是说,强烈倾向于使用一个执行速度快但在最坏情况下时间恒定的调度算法,而不是一个执行时间取决于队列长度的算法。
为了描述我们分析所涉及的系统配置,我们使用以下扩展形式的 Kendall 符号 A//B//m+L+SA / B / m+L+S 。A 描述到达过程, BB 描述服务时间需求, mm 是服务器的数量。这些与原始 Kendall 符号的含义相同。L 代表任务松弛度的分布函数, SS 代表系统使用的调度算法。
莫克和德图佐斯[13]表明,最小松弛度优先(MLF)调度算法在某种意义上是最佳的,即如果任何其他算法可以调度一组任务,它也可以做到 ^(3){ }^{3} 。潘瓦尔、托斯利和沃尔夫 [15,16][15,16] 表明,最小松弛度算法最小化了任务丢失。然而,MLF 的缺点是它有 O(lg(n))O(\lg (n)) 的开销,其中 nn 是队列长度 ^(4){ }^{4} 。也就是说,该算法的在线计算成本取决于系统中当前的队列长度。另一方面,一个常用的调度算法——先来先服务(FCFS)——虽然没有最佳性能,但只有 O(1)O(1) 的开销,这与当前队列长度无关。我们的目的是展示一个稍加修改的 FCFSF C F S 算法性能接近最佳,但成本为 O(1)O(1) 。
在运筹学和排队论文献中,我们在这项研究中关注的问题被称为具有不耐烦顾客的排队问题。该领域已经有很多研究,但在这里我们仅限于涉及实时计算的那部分工作。Palm 解决了 M//M//1+M+FCFSM / M / 1+M+F C F S 系统[14],而 Haugen 和 Skogan 推导了 M//M//m+M+FCFSM / M / m+M+F C F S 系统的等待时间分布[7]。Barrer 研究了 M//M//1+D+M / M / 1+D+ 随机[3]和 M//M//1+D+FCFS[4]M / M / 1+D+F C F S[4] 系统。 GI//G//1+G+FCFSG I / G / 1+G+F C F S 模型的理论处理在 [21,1,2][21,1,2] 中进行。文献[21]中的结果包括与 Little 公式 L=lambda WL=\lambda W 类似的关系。在[1,2]中讨论了稳定性条件以及实际等待时间与虚拟等待时间分布之间的关系。在[6]中,Gnedeko 和 Kovalenko 为 M//M//m+D+FCFSM / M / m+D+F C F S 和 M//M//m+M+FCFSM / M / m+M+F C F S 获得了类似的结果。Gavish 等人[5]研究了一个不同的 M//M//1+FCFSM / M / 1+F C F S 模型,其中顾客的时间约束被特征化为(常数)截止时间而不是松弛度。最近,Hong、Tan 和 Towsley 研究了 M//M//1+M+MLFM / M / 1+M+M L F 和 M//M//1+M+EDF[8]M / M / 1+M+E D F[8] 的性能界限。Kurose 等人解决了 M//G//1+D+FCFSM / G / 1+D+F C F S 和 M//G//1+D+LCFSM / G / 1+D+L C F S 模型。
在其中,每个客户具有恒定的松弛度 [10,11][10,11] ,或者可能具有两种恒定松弛度之一[12]。这些结果也适用于多路访问网络和负载平衡算法的性能分析。Kurose 的工作与之前的工作在另一方面有所不同:它是针对保证调度模型的,而所有其他之前的工作都不是。也就是说,在 Kurose 的工作中,当一个任务到达时,它会立即检查是否能够满足其截止时间。如果可以,它将被添加到队列中。如果不可以,它将被丢弃。这意味着队列中所有任务的执行时间都是已知的。这在实时系统中是合理的。请注意,除了[8]之外的所有这些先前工作都是针对使用 FCFS、LCFS 或 Random 调度算法的系统,这些算法在做出调度决策时不使用时间约束信息。
在进行我们的分析时,我们遵循了[ 10,11,1210,11,12 ]中的方法。然而,我们将他们的结果扩展到了任务松弛度可能具有任意分布的情况,并考虑了使用改进的 FCFS 调度算法的情况。因此,我们得到了 M//M//1+G+FCFSM / M / 1+G+F C F S 和 M//M//1+G+FCFSIM / M / 1+G+F C F S I 系统的通用解决方案。特别是,推导出了 M//M//1+M+FCFSM / M / 1+M+F C F S 和 M//M//1+M+FCFSIM / M / 1+M+F C F S I 系统的任务丢失和 CPU 利用率的显式表达式。从这一分析中得出的一个有趣观察是,稳态性能不仅取决于提供的负载 rho\rho (如在非实时领域),还取决于归一化平均松弛度,即平均松弛度除以平均服务时间。我们展示了使用 FCFSI 可能会比使用 FCFS 带来显著的性能提升。并且,
本文的其余部分组织如下:第 2 节定义了本研究中使用的模型和符号。第 3 节讨论了硬实时系统的两种极端情况(最坏和最好)。这些结果用于界定预期性能的水平,并在全文中绘制在包含数值结果的图表上。在第 4 节中,分析了 M//M//1+G+FCFSM / M / 1+G+F C F S 系统模型,而在第 5 节中,获得了 M//M//1+M+FCFSM / M / 1+M+F C F S 的显式解并进行讨论。在第 6 节中,我们使用一种近似方法来分析 M//M//1+G+FCFSIM / M / 1+G+F C F S I 系统。特别是,从近似模型中开发出 M//M//1+M+FCFSIM / M / 1+M+F C F S I 的数值解,并与仿真结果进行比较。通过对 FCFSIF C F S I 系统分析的近似进行了仿真验证。通过仿真,我们还比较了 FCFS、FCFSI 和 MLF 算法的性能。最后,第 7 节总结了本文的结论。
常数 F(0^(+))F\left(0^{+}\right) 和 A 可以通过以下边界条件确定:第一个是归一化条件 F(oo)=1F(\infty)=1 ,即
{:[1=F(oo)],[=int_(0)^(oo)f(w)dw],[=int_(0)^(oo)u_(0)(w)F(0^(+))dw+int_(0)^(oo)delta(w)Ae^(-mu w+lambda)int(1-L(w))dw],[=F(0^(+))+Aint_(0)^(oo)e^(-mu w+lambda)int(1-L(w))dw],[dw]:}\begin{aligned}
1 & =F(\infty) \\
& =\int_{0}^{\infty} f(w) d w \\
& =\int_{0}^{\infty} u_{0}(w) F\left(0^{+}\right) d w+\int_{0}^{\infty} \delta(w) A e^{-\mu w+\lambda} \int(1-L(w)) d w \\
& =F\left(0^{+}\right)+A \int_{0}^{\infty} e^{-\mu w+\lambda} \int(1-L(w)) d w \\
& d w
\end{aligned}
因此,
A=(1-F(0^(+)))/(int_(0)^(oo)e^(-mu w+lambda int(1-L(w))dw)dw)A=\frac{1-F\left(0^{+}\right)}{\int_{0}^{\infty} e^{-\mu w+\lambda \int(1-L(w)) d w} d w}
{:[R^(+)=(int_(0+)^(oo)L(x)f(x)dx)/(int_(0+)^(oo)f(x)dx)],[=1-(int_(0)^(oo)(1-L(x))e^(-mu x+lambda int(1-L(x))dx)dx)/(int_(0)^(oo)e^(-mu x+lambda int(1-L(x))dx)dx)]:}\begin{aligned}
R^{+} & =\frac{\int_{0+}^{\infty} L(x) f(x) d x}{\int_{0+}^{\infty} f(x) d x} \\
& =1-\frac{\int_{0}^{\infty}(1-L(x)) e^{-\mu x+\lambda \int(1-L(x)) d x} d x}{\int_{0}^{\infty} e^{-\mu x+\lambda \int(1-L(x)) d x} d x}
\end{aligned}
将(27)和(26)代入(4)和(5),我们得到了 M//M//1+G+FCFSM / M / 1+G+F C F S 系统 CPU 利用率和任务丢失率的解。
5M//M//1+M+FCFS5 M / M / 1+M+F C F S 系统
在本节中,我们使用上一节中推导出的 M//M//1+G+FCFSM / M / 1+G+F C F S 情况的结果,来获得 f(w),R^(+),F(0^(+)),Uf(w), R^{+}, F\left(0^{+}\right), U 和 RR 对于 M//M//1+M+FCFSM / M / 1+M+F C F S 的更简单模型的显式解。
5.1 分析与解决方案
为了计算 f(w)f(w) ,将方程(23)和 L(w)=L(w)=1-e^(-lw)1-e^{-l w} 代入方程(21)。结果,我们得到了 M//M//1+M+M / M / 1+M+FCFSF C F S 系统中未完成工作分布的密度函数。
然后,将 R^(+)R^{+} (32)和 F(0^(+))F\left(0^{+}\right) (33)代入(4)和(5),可以计算出 M//M//1+M / M / 1+M+FCFSM+F C F S 的 CPU 利用率和任务丢失率。
5.2 观察与讨论
从上述 F(0^(+))F\left(0^{+}\right) 和 R^(+)R^{+} 的公式中,我们看到 M//M//1+M+FCFSM / M / 1+M+F C F S 系统的稳态性能取决于 b=mu//lb=\mu / l 和 rho=lambda//mu\rho=\lambda / \mu 。也就是说,三个输入参数 (lambda,mu,l)(\lambda, \mu, l) 并不独立影响性能。它们的贡献是通过 (b=mu//l,rho=lambda//mu)(b=\mu / l, \rho=\lambda / \mu) 的组合值对来实现的。因此,我们可以看到 M//M//1+M+FCFSM / M / 1+M+F C F S 比经典的(即非实时的) M//M//1+FCFSM / M / 1+F C F S 要复杂得多。在 M//M//1+FCFSM / M / 1+F C F S 系统中,系统的稳态性能取决于单一值 rho=lambda//mu\rho=\lambda / \mu ,但在我们的 M//M//1+M+FCFSM / M / 1+M+F C F S 系统中,稳态性能不仅取决于 rho\rho ,还取决于归一化平均松弛度 bb 。事实上, (b=mu//l,rho=lambda//mu)(b=\mu / l, \rho=\lambda / \mu) 已被用作许多实时系统仿真和分析研究的输入指标,而无需特定的理由 [10,11,12,15,23][10,11,12,15,23] 。我们的结果在这里证实了这样的输入指标是有效且充分的。
同样地,在处理(14)时,重新排列项并令 Delta t rarr0\Delta t \rightarrow 0 ,(34)变为
f(w)=lambdaint_(0)^(w)(1-L^(2)(x))(1-B(w-x))f(x)dxf(w)=\lambda \int_{0}^{w}\left(1-L^{2}(x)\right)(1-B(w-x)) f(x) d x
请注意,(35)和(16)之间的唯一区别是(16)中的 L(x)L(x) 项在(35)中被 L^(2)(x)L^{2}(x) 替换。按照解决(16)的类似方法,我们能够获得以下 M//M//1+G+FCFSIM / M / 1+G+F C F S I 系统的解:对于 w >= 0w \geq 0 ,
f(w)=u_(0)(w)F(0^(+))+delta(w)Ae^(-mu w+lambda int(1-L^(2)(w))dw)f(w)=u_{0}(w) F\left(0^{+}\right)+\delta(w) A e^{-\mu w+\lambda \int\left(1-L^{2}(w)\right) d w}
在哪里
{:[F(0^(+))=(1-rho(1-R^(+)))/(1+rhoR^(+))],[A=(1-F(0^(+)))/(int_(0)^(oo)e^(-mu x+lambda int(1-L^(2)(x))dx)dx)]:}\begin{gathered}
F\left(0^{+}\right)=\frac{1-\rho\left(1-R^{+}\right)}{1+\rho R^{+}} \\
A=\frac{1-F\left(0^{+}\right)}{\int_{0}^{\infty} e^{-\mu x+\lambda \int\left(1-L^{2}(x)\right) d x} d x}
\end{gathered}
和
{:[R^(+)=(int_(0+)^(oo)L^(2)(x)f(x)dx)/(int_(0+)^(oo)f(x)dx)],[=1-(int_(0+)^(oo)(1-L^(2)(x))f(x)dx)/(int_(0+)^(oo)f(x)dx)],[=1-(int_(0)^(oo)(1-L^(2)(x))e^(-mu x+lambda)int(1-L^(2)(x))dx)/(int_(0)^(oo)e^(-mu x+lambda)int(1-L^(2)(x))dx)dx]:}\begin{aligned}
R^{+} & =\frac{\int_{0+}^{\infty} L^{2}(x) f(x) d x}{\int_{0+}^{\infty} f(x) d x} \\
& =1-\frac{\int_{0+}^{\infty}\left(1-L^{2}(x)\right) f(x) d x}{\int_{0+}^{\infty} f(x) d x} \\
& =1-\frac{\int_{0}^{\infty}\left(1-L^{2}(x)\right) e^{-\mu x+\lambda} \int\left(1-L^{2}(x)\right) d x}{\int_{0}^{\infty} e^{-\mu x+\lambda} \int\left(1-L^{2}(x)\right) d x} d x
\end{aligned}
现在,让我们考虑 M//M//1+M+FCFSIM / M / 1+M+F C F S I 的情况。将 L(x)=1-e^(-lx)L(x)=1-e^{-l x} 代入(39)并使用变量替换 y=lxy=l x ,我们得到
{:[R^(+)=1-(int_(0)^(oo)(2-e^(-lx))e^(-(mu+l)x-(1)/(4))e^(-lx)(2-0.5e^(-lx)))/(int_(0)^(oo)e^(-mu x-(t)/(4)e^(-lx)(2-0.5e^(-lx)))dx)],[=1-(int_(0)^(oo)(2-e^(-y))e^(-(b+1)y-rho be-y)(2-0.5e^(-y))dy)/(int_(0)^(oo)e^(-by-rho be^(-y)(2-0.5e^(-y))dy))]:}\begin{aligned}
& R^{+}=1-\frac{\int_{0}^{\infty}\left(2-e^{-l x}\right) e^{-(\mu+l) x-\frac{1}{4}} \mathrm{e}^{-l x}\left(2-0.5 e^{-l x}\right)}{\int_{0}^{\infty} e^{-\mu x-\frac{t}{4} e^{-l x}\left(2-0.5 e^{-l x}\right)} d x} \\
& =1-\frac{\int_{0}^{\infty}\left(2-e^{-y}\right) e^{-(b+1) y-\rho b e-y}\left(2-0.5 e^{-y}\right) d y}{\int_{0}^{\infty} e^{-b y-\rho b e^{-y}\left(2-0.5 e^{-y}\right) d y}}
\end{aligned}
将(40)代入(37),我们可以计算 F(0^(+))F\left(0^{+}\right) 。然后通过使用(4)和(5),可以推导出 M//M//1+M+FCFSIM / M / 1+M+F C F S I 系统的 CPU 利用率和任务丢失率。
6.3 观察与讨论
从 R^(+)(40)R^{+}(40) 的表达式中可以清楚地看出,与 M//M//1+M+FCFSM / M / 1+M+F C F S 系统一样, M//M//1+M+FCFSIM / M / 1+M+F C F S I 系统的性能也完全取决于所提供的负载 rho\rho 以及归一化平均松弛度 bb 。
让我们现在考虑这样一个简单变化从 FCFSF C F S 到 FCFSIF C F S I 导致近乎最优性能背后的直觉。在轻负载下,队列中任务的顺序无关紧要(并且队列中通常很少有任务)。例如,如果负载是 0.5,那么一个正常的 M//M//1\mathrm{M} / \mathrm{M} / 1 系统平均队列长度将小于 2。在这种情况下,两种策略都很好且近乎最优,算法执行时间之间的成本差异可以忽略不计。随着负载的增加,队列长度增加,FCFSI 策略能够在任何时刻使最后两个任务交换。
因此,对于给定的队列长度 nn ,随着队列增长到大小 nn ,最后两个任务可能会进行多次交换。这一系列交换使队列类似于最小松弛度顺序——特别是当后来的到达任务平均而言倾向于有更晚的截止时间时,正如我们的工作所假设的那样。此外,随着平均队列长度的增加(例如,当到达负载为 1.5 时,平均队列长度约为 10),FCFSI 算法的可预测和快速执行时间的优势变得显著。
对 M//M//1+G+FCFS(M//M//1+G+FCFSI)M / M / 1+G+F C F S(M / M / 1+G+F C F S I) 系统进行了精确(近似)分析。结果,得到了未完成的一般解。
已建立的工作分配、任务丢失率和 CPU 利用率是针对这些系统得出的。
特别是,推导出了 M//M//1+M+FCFS(M//M//1+M+FCFSI)M / M / 1+M+F C F S(M / M / 1+M+F C F S I) 系统任务损失和 CPU 利用率的显式精确(近似)表达式。仿真结果显示,在 M//M//1+M+FCFSIM / M / 1+M+F C F S I 分析中由近似引入的误差在大多数情况下非常小。
从 M//M//1+M+FCFSM / M / 1+M+F C F S 和 M//M//1+M+FCFSIM / M / 1+M+F C F S I 系统的解决方案中,我们观察到系统的稳态性能(以任务丢失率和 CPU 利用率衡量)取决于系统提供的负载 rho=lambda//mu\rho=\lambda / \mu 和归一化平均松弛度 b=mu//lb=\mu / l 。这证实了 rho\rho 和 bb 是合适的输入指标,因为它们已在许多其他实时系统的仿真和分析研究中使用。
[l] F. Baccelli
and G. Hebuterne, “On ueues
with Impa-tientCustomers”, Performance‘81,?ed.F. J. Kylstra), North-Holland
Publishing Company, 1981.
[2]F.
Baccelli, P. Boyer, and G. Hebuterne,“SingleServerQueuewithImpatientCustomers”,AdvanceAppl.Prob-ability, Vol.16,1984.
[3]D. Y. Barrer, “Queueing with Impatient Customers andIndifferentClerks”,OperationsResearch,Vol.5, 1957.
with
Impatient Customers and Ordered Service”, hpera-tionsResearch,Vol.5,1957.[4]D.Y.Barrer,“Queuein
[5]B.GavishandP.J.Schweitzer,“TheMarkovianQueue withBoundedWaitingTime”, Management Science, Vol.23,
No.12, August 1977.
[6]B.Gnedeko,andL.Kovalenko,ElementsofQueuemg Theory, Israel Program for
Scientific Research, Jerusalem,1968.
[7]R.L.HaugenandE.Skogan,“QueueingSystemswith Stochastic Time Out”, IEEE Transactions on Commu-nications, Vol.COM-28, No.12, December 1980.
[8]J.Hong,X.Tan,andD.Towsley,“APerfor-manceAnalysisofMinimumLaxityandEarliestDead-line Scheduling in a Real-Time System,”to apear in IEEE TransactionsonSoftwareEngineering.
[9]L.
Kleinrock, Queueing Systems - Volume 1: The-ory, John Wiley and Sons,1975.
[lo] J. Kurose, Time-Constrained
Communication in MultipleAccessNetworks,Ph.D.Dissertation,ColumbiaUniversity, 1984.
[ll] J. Kurose, et al.“A Study of Quasi-Dynamic Load SharinginSoftReal-TimeDistributedComputerSystems”
, Proc.of
IEEE Real-Time Systems Symposium, De-cember 1986.
[12]J. Kurose, et
al.“Load Sharing in Soft Real-Time DistributedComputerSystems”,IEEE Transaction on Computers, Vol.C-36, No.8, August 1987.
[13]A.
K. Mok and M. L. Dertouzos, “MultiprocessorSchedulinginaHardReal-TimeEnvironment”,Proc. ofthe7thTesasConferenceonComputingSystems, November 1978.
[14]C. Palm, “Etude des delais d’attente”, Ericsson Technics, Vol.5,
1937.
[15]S.S.Panwar,TimeConstrainedandMulti-Access
Communications, Ph.D. Dissertation, University of Mas-sachusetts at
Amherst, February 1986.