关于排队模型的一些名词解释(随笔)

本文介绍了排队模型中的关键概念,如Kendall’s Notation、M/M/1队列模型和Little’s Law。Kendall’s Notation用于描述队列系统的特性,包括到达时间、服务时间和服务器数量等。M/M/1模型是一个单一服务器模型,其中到达和服务时间遵循泊松和指数分布。Little’s Law则阐述了稳定系统的平均顾客数量与等待时间的关系。此外,文章还提及马尔科夫链在随机过程中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Kendall’s notation肯德尔记法

原用三个因子描述排队模型,后扩充为6个:

  • A:到达队列之间的时间。意思是说每两个人,第一个人到达的时间与第二个人到达的时间差。
  • S:服务时间。服务者为每个人服务所需要的时间。
  • c:服务人员的数量。特殊情况就是c=1
  • K:队列容量。比如一家咖啡厅最多能容纳多少顾客。
  • N:顾客数量。就是
  • D:队列优先顺序。比如FIFO,或者LRU,或者特权优先

后面三个如果省略不写,则意味着无穷大和FIFO


M/M/1队列模型

M指的是Markov,马尔科夫,一种随机概率模型。也就是说M/M/1实际上是M/M/1/ ∞ \infty / ∞ \infty /FIFO
M/M/1是一种单一服务器模型,就是只有一个服务器工作,处理请求。
这是一种排队模型,所以要依据“肯德尔记法”,Kendall’s notation,满足如下条件:

  • 到达时间成泊松分布(Poisson Distribution)
  • 服务时间是指数分布(Exponential Distribution)
  • 一台服务器
  • 队列容量无限
  • 顾客数量无限

泊松分布:
P ( X = k ) = λ k k ! e λ , k = 0 , 1 , . . . P(X=k) = \frac{\lambda^k}{k!}e^{\lambda}, k=0,1,... P(X=k)=k!λkeλ,k=0,1,...
λ \lambda λ是单位时间内,事件发生的次数

指数分布:
在这里插入图片描述

需要特殊说明的是,指数分布和泊松分布都属于马尔科夫模型,因此他们都属于M/M。


公交车模型来模拟M/M/1队列:

  • 上公交车的速率(加入队列的速率)为 λ \lambda λ
  • 离开公交车的速率(离开队列的速率)为 μ \mu μ
  • 公交车在服务,且是唯一服务者
  • 公交车可容纳无限制的人数
  • 等待公交车到达的人数无限制

其中:

  • 缓冲效用: ρ = λ μ \rho=\frac{\lambda}{\mu} ρ=μλ代表服务被占用的平均概率。
  • 系统处在一共i个人的概率为: P r o b a b l i t y ( q = i ) = π i = ( 1 − ρ ) ρ i Probablity(q=i) = \pi_i = (1-\rho)\rho^i Probablity(q=i)=πi=(1ρ)ρi
  • 系统的平均人数为: N ‾ = ρ 1 − ρ \overline{N} = \frac{\rho}{1-\rho} N=1ρρ,方差为: σ N 2 = ρ ( 1 − ρ ) 2 \sigma_N^2 = \frac{\rho}{(1-\rho)^2} σN2=(1ρ)2ρ
  • 单位时间内系统完成服务的人数: N S = ρ μ = λ N_S = \rho \mu = \lambda NS=ρμ=λ
  • 在队列中等候服务的人数(等待下车的人): N ‾ Q = ρ 2 1 − ρ \overline{N}_Q = \frac{\rho^2}{1-\rho} NQ=1ρρ2
  • 每个人的平均逗留时间(等待公交车+等待到站的时间): T = 1 μ − λ T=\frac{1}{\mu - \lambda} T=μλ1
  • 每个人的等待服务时间: W = N ‾ Q λ = T − x ‾ = T − 1 μ = ρ 1 − λ W=\frac{\overline{N}_Q}{\lambda} = T-\overline{x} = T - \frac{1}{\mu} = \frac{\rho}{1-\lambda} W=λNQ=Tx=Tμ1=1λρ
Little’s Law李特尔法则

利特尔法则可用于一个稳定的、非占先式的系统中。也就是FIFO或者FILO,不存在特权人物。
L = λ W L = \lambda W L=λW
L L L是平均顾客人数, λ \lambda λ是有效抵达率, W W W是等待时间。
公式简单但是难懂,用一个计算机科学中的例子:

在QQ的文件传输中需要使用线程池操作,假设每个文件需要一个线程,平均每个线程传输文件使用的时间为10s,每秒有1w人传输文件,请问线程池中需要维护的线程有多少?
答案是:L=1w*10s=10w个线程
什么意思呢?就是线程池中只需要保持10w个线程就能解决需求(当然是理想情况下)

马尔科夫链

前面说到,马尔科夫是一种随机概率模型,马尔科夫链就是一系列随机过程的结果的合集,他们是离散的。
那么每一状态点之间都有相互关系,又都没有相互关系。
有相互关系指的是,每一个状态点都可以通过概率关系转换成两一个状态点。二没有关系指的是,每一个状态点的出现都是独立的,不受其他状态点影响的。
假设 π 0 \pi_0 π0是初始状态, π 1 \pi_1 π1是中间状态, π n \pi_n πn是结束状态,有:

  • λ π 0 = μ π 1            λ 是 前 进 概 率 , μ 是 返 回 概 率 \lambda\pi_0 = \mu\pi_1 \ \ \ \ \ \ \ \ \ \ \lambda是前进概率,\mu是返回概率 λπ0=μπ1          λμ
  • ( λ + μ ) π 1 = λ π 0 + μ π 2 (\lambda+\mu)\pi_1 = \lambda\pi_0 + \mu\pi_2 (λ+μ)π1=λπ0+μπ2
  • ( λ + μ ) π n = λ π n − 1 + μ π n + 1 (\lambda+\mu)\pi_{n} = \lambda\pi_{n-1} + \mu\pi_{n+1} (λ+μ)πn=λπn1+μπn+1
  • π n = ( λ μ ) n π 0 \pi_n = (\frac{\lambda}{\mu} )^n\pi_0 πn=(μλ)nπ0
  • 此时让 ρ = λ μ , ρ < 1 \rho=\frac{\lambda}{\mu}, \rho<1 ρ=μλρ<1,有 1 = Σ i = 0 ∞ π i = π 0 Σ i = 0 ∞ ρ i = π 0 1 − ρ 1 = \Sigma_{i=0}^\infty\pi_i = \pi_0\Sigma_{i=0}^\infty\rho^i = \frac{\pi_0}{1-\rho} 1=Σi=0πi=π0Σi=0ρi=1ρπ0。所以有, π 0 = 1 − ρ . \pi_0 = 1-\rho. π0=1ρ.
    • 证明: π 0 Σ i = 0 ∞ ρ i = π 0 1 − ρ \pi_0\Sigma_{i=0}^\infty\rho^i = \frac{\pi_0}{1-\rho} π0Σi=0ρi=1ρπ0,等于证明 Σ i = 0 ∞ ρ i = 1 1 − ρ \Sigma_{i=0}^\infty\rho^i = \frac{1}{1-\rho} Σi=0ρi=1ρ1 ,等于证明: ρ 0 + ρ 1 + . . . + ρ n = 1 1 − ρ \rho^0+\rho^1+...+\rho^n = \frac{1}{1-\rho} ρ0+ρ1+...+ρn=1ρ1.等比数列求和,首项为1,比为 ρ \rho ρ ρ n \rho^n ρn接近无穷。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值