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)=λkk!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个人的概率为:Probablity(q=i)=πi=(1−ρ)ρiProbablity(q=i) = \pi_i = (1-\rho)\rho^iProbablity(q=i)=πi=(1−ρ)ρi - 系统的平均人数为:N‾=ρ1−ρ\overline{N} = \frac{\rho}{1-\rho}N=1−ρρ,方差为:σN2=ρ(1−ρ)2\sigma_N^2 = \frac{\rho}{(1-\rho)^2}σN2=(1−ρ)2ρ
- 单位时间内系统完成服务的人数:NS=ρμ=λN_S = \rho \mu = \lambdaNS=ρμ=λ
- 在队列中等候服务的人数(等待下车的人):N‾Q=ρ21−ρ\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=T−x=T−μ1=1−λρ
Little’s Law李特尔法则
利特尔法则可用于一个稳定的、非占先式的系统中。也就是FIFO或者FILO,不存在特权人物。
L=λW
L = \lambda W
L=λW
LLL是平均顾客人数,λ\lambdaλ是有效抵达率,WWW是等待时间。
公式简单但是难懂,用一个计算机科学中的例子:
在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=λπn−1+μπ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=π01−ρ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=π01−ρ\pi_0\Sigma_{i=0}^\infty\rho^i = \frac{\pi_0}{1-\rho}π0Σi=0∞ρi=1−ρπ0,等于证明Σi=0∞ρi=11−ρ\Sigma_{i=0}^\infty\rho^i = \frac{1}{1-\rho}Σi=0∞ρi=1−ρ1 ,等于证明:ρ0+ρ1+...+ρn=11−ρ\rho^0+\rho^1+...+\rho^n = \frac{1}{1-\rho}ρ0+ρ1+...+ρn=1−ρ1.等比数列求和,首项为1,比为ρ\rhoρ,ρn\rho^nρn接近无穷。
本文介绍了排队模型中的关键概念,如Kendall’s Notation、M/M/1队列模型和Little’s Law。Kendall’s Notation用于描述队列系统的特性,包括到达时间、服务时间和服务器数量等。M/M/1模型是一个单一服务器模型,其中到达和服务时间遵循泊松和指数分布。Little’s Law则阐述了稳定系统的平均顾客数量与等待时间的关系。此外,文章还提及马尔科夫链在随机过程中的应用。
9275

被折叠的 条评论
为什么被折叠?



