(学了大半个月,赶紧把脑袋里装的东西倒一点点出来,不然就忘记了。看别人的PPT都是顺理成章、一气呵成,看我能讲出多少东西)
1队列理论
队列在生活中随处可见,例如排队买票,排队打饭,排队做地铁等等。那将诸如此类的队列抽象一下,可归纳为一下3要术:排队能容纳的总人数(例如食堂空间只有那么大,最长的队伍只能容纳20人)、服务率(例如食堂阿姨打菜的速度)、等待时间。 我们通过数学公式以及生活常识可得到如下关系:排队总人数=服务率乘以等待时间。
将队列理论应用于服务器处理的排队,那么排队的要素增加一项即为服务器的数量
根据kenol()的理论,可根据队列的几要素将其分类
到达率的分布情况/服务率的分布情况/服务器的数量/服务器的容量(最大能处理的request的数量)/等待的总人数的容量
分布通常包括下面几种:
Momeryless 也称为Markov分布,是研究最多最成熟的一种。其特点是到达的人数呈指数分布exponential distribution,而到达人数的间隔呈泊松分布possion distribution
dterminal 指定数量的到达率,不一定成分布
general 呈普通类型的分布,例如20%的人每隔10分钟来一个,其余的每隔30分钟来一个,局部呈现某种规律
另外需要补充的一点是服务规则,例如常规的先来先服务,或者其他的后来先服务,或者是像银行一样的有一定的VIP等级,特定的人群可以优先。
2操作定律 optional law
操作定律主要是根据已有的参数已经参数之间的关系根据数学公式推导出其他的,用于间接计算或者是推理
force float law
equation law 到达率=吞吐量
3队列网络模型(当存在分发Despatch的时候就从队列变成了队列网络)
首先区分下几个关键概念
station跟 server center的概念,station表示服务器之间不存在路由的概念,当有人来时,假设有多个服务器,那么这个人将会被安排带闲的那台服务器。
service demand 完成整个任务需要的占用的服务器的时间
3.1 single class station
open
close
3.2 muti class station
多类request的时候存在路由的概念。
4马尔科夫链Markov chain
Markov两个重要的特点是:1当前状态 2状态转移 当然建立在一个假设和一个前提下。假设:下一个状态只依赖于当前状态跟前面的状态没有关系。前提是分为离散型Markov和连续型
4.1离散型Markov
分为 absorb类型(从任意状态出发最终会归属到某一方而停止)和birth and death 类型(从任何一个状态经过N次转移后都可以转移到任何另外一个地方)
5用Octave实现相应的数学计算
首先引入包:pkg load queueing
然后根据文档了解每个公式的适应情景进行计算