DFC:控制 到达率 最小化等待时间
计算节点的等待成本:公式(2)
(\frac{\lambda_i}{\lambda}(W_q^i + C_i\overline{\mu_c^i}))
在这个到达率下的等待时间(到达越多等待时间越长)和服务器成本(到达越多等待能耗越高)
排队论平均等待时间计算:任务负载比例进行加权
- 基于排队系统的等待时间计算:
在公式(1)中,
(W_q^i=\frac{\lambda_i}{\overline{\mu_c^i}(\overline{\mu_c^i}-\lambda_i)})(
(i\in\{1,2,\cdots,n\})且
(\lambda_i<\overline{\mu_c^i}))是基于
(M/M/1)排队系统的平均等待时间计算公式。其中,
(\lambda_i)是分配到服务器
(i)的任务到达率,
(\overline{\mu_c^i})是服务器
(i)的当前平均服务率。该公式的原理基于排队论,它考虑了任务到达率和服务率之间的关系对等待时间的影响。当任务到达率增加或服务率降低时,任务在队列中等待的时间会增加;反之,等待时间会减少。分母中的
(\overline{\mu_c^i}(\overline{\mu_c^i}-\lambda_i))表示服务器的空闲服务能力,分子
(\lambda_i)表示任务的到达强度,两者的比值反映了任务在队列中的平均等待时间。
- 计算每个计算节点的等待成本:公式(2)
(\frac{\lambda_i}{\lambda}(W_q^i + C_i\overline{\mu_c^i}))用于计算每个计算节点(服务器)的等待成本。其中,
(\frac{\lambda_i}{\lambda})表示服务器
(i)的任务负载比例,
(W_q^i)是服务器
(i)的平均等待时间,
(C_i)是服务器
(i)的成本系数,
(\overline{\mu_c^i})是服务器
(i)的当前平均服务率。该公式的原理是将任务在服务器上的等待时间成本(
(W_q^i))与服务器的运行成本(
(C_i\overline{\mu_c^i}))相结合,**并根据任务负载比例进行加权,以得到每个计算节点的综合等待成本。**这样可以在考虑任务等待时间的同时,也考虑到不同服务器的成本差异,从而更全面地评估系统中每个节点的成本效益。
计算示例
假设有一个包含3个服务器(
(n = 3))的数据中心,任务到达率
(\lambda = 10)(每秒到达10个任务),服务器的参数设置如下表所示:
其中服务器3为0.99,成本系数最高等待时间最短
(i)成本系数
(C_i)当前平均服务率
(\overline{\mu_c^i})分配的任务到达率
(\lambda_i)10.43320.54430.653
- 对于服务器1: (W_q^1)
: (W_q^1=\frac{\lambda_1}{\overline{\mu_c^1}(\overline{\mu_c^1}-\lambda_1)}=\frac{3}{3\times(3 - 3)}=\frac{3}{3\times0})
(这里分母为0,说明在当前假设的参数下,服务器1处于饱和状态,按照排队论公式计算等待时间会出现问题,通常在实际情况中会有更复杂的处理方式,比如设置一个上限值或者采用近似计算方法,但为了完整演示公式计算过程,我们先继续按照理论公式计算)。假设我们采用一种近似处理方法,当分母趋近于0时,我们认为等待时间会趋近于无穷大,这里为了方便计算,我们假设
(W_q^1 = 10)(这个值只是为了演示计算,实际情况中应根据更合理的方法确定)。
- 然后,计算服务器1的等待成本: (\frac{\lambda_1}{\lambda}(W_q^1 + C_1\overline{\mu_c^1})=\frac{3}{10}(10 + 0.4\times3)=\frac{3}{10}(10 + 1.2)=3\times1.12 = 3.36)
。
- 对于服务器2: (W_q^2)
:
(W_q^2=\frac{\lambda_2}{\overline{\mu_c^2}(\overline{\mu_c^2}-\lambda_2)}=\frac{4}{4\times(4 - 4)}=\frac{4}{4\times0})(同样遇到分母为0的情况,假设采用近似处理方法,设
(W_q^2 = 8))。
- 计算服务器2的等待成本: (\frac{\lambda_2}{\lambda}(W_q^2 + C_2\overline{\mu_c^2})=\frac{4}{10}(8 + 0.5\times4)=\frac{4}{10}(8 + 2)=4\times1 = 4)
。
- 对于服务器3: (W_q^3)
:
(W_q^3=\frac{\lambda_3}{\overline{\mu_c^3}(\overline{\mu_c^3}-\lambda_3)}=\frac{3}{5\times(5 - 3)}=\frac{3}{5\times2}=0.3)。
- 计算服务器3的等待成本: (\frac{\lambda_3}{\lambda}(W_q^3 + C_3\overline{\mu_c^3})=\frac{3}{10}(0.3 + 0.6\times5)=\frac{3}{10}(0.3 + 3)=3\times0.33 = 0.99)
。
通过以上计算,我们得到了在给定参数下每个服务器的等待成本。在实际应用中,这些计算结果可以用于评估不同服务器在任务分配和成本效益方面的表现,以便进行进一步的优化,如调整任务分配策略或服务器配置,以降低整体的等待成本并提高系统性能。同时,对于计算中出现分母为0等特殊情况,在实际的云计算系统中会有更严谨和合理的处理方式,这里的计算只是为了说明公式的基本原理和计算流程。
为什么这里不使用MMN排队系统公式