1队列理论

1.1队列在生活中随处可见,例如排队买票,排队打饭,排队做地铁等等。那将诸如此类的队列抽象一下,可归纳为一下5要术:

  • 到达过程arrival process
  • 服务时间的分布 service time distrubution
  • 服务器数量 number of server
  • 等待的位置 waiting positions
  • 总排队人数 population size

1.2根据kendall notation标记法,可根据队列的几要素将其分类

  • A:Arrival process 到达率的分布
  • S:Service time disribution 服务时间的分布
  • m:Number of server 服务器的数量
  • B:Number of buffers (system capacity)系统容量
  • K:Population size 排队的总人数
  • SD:Service discipline 服务规则

第一部分Arrival process分类依据有以下几点:

Arrival times:t1,t2,...tj

Interarrival times:Tj=tj-t(j-1)

时间间隔Interarrival times形成了Independed and Identically Distribution (IID)随机变量序列

Notaion 包含以下几种:(以下数学分布有兴趣可自进一步深入了解)

  • M=memoryless ~ Exponential 指数分布
  • E=Erlang
  • H=Hyper-exponential 超指数分布
  • D=Deterministic ~constant 定量的常量分布
  • G=General~ Results valid for all distributions 一般的分布,可以是M E H 外的任何分布

第二部分Service Time Distribution (Service Time Distribution跟Arrival Process 类似)

  • Service time are IID(到达的时间间隔正好是服务时间)
  • Distribution: M E H D or G
  • Device=Service center=Queue(?)
  • Buffer=Waitting postions(前面解释B(number of buffer)表示系统容量,两者有何关系)

第三部分service discipline服务规则

  • First-Come-First-Served(FCFS)
  • Last-Come-First-Served(LCFS)

以下图形是队列中的基本概念,在后续的queueing network model中需要的输入参数基本都在其中。

1.3队列满足的规则rules for all queues

  • 队列稳定的条件一般而言,到达率必须小于服务率
  • 系统中的数量n=nq+ns

(自己的理解:

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

然后根据文档了解每个公式的适应情景进行计算

6容量规划

队列理论和队列网络模型 queueing theory and queueing network model的更多相关文章

  1. C ~ 链式队列与循环队列

          此处的链式与循环队列可以应用于BFS和树的层序遍历.下面是对其结构和基本操作的程序描述. 1.循环队列 解决循环队列的队空和队满的方法: [1].增加一个参数count,用来记录数组中当前 ...

  2. C语言 复杂队列(链表队列)

    //复杂的队列二 --链表队列 #include<stdio.h> #include<stdlib.h> #define datatype int struct queueli ...

  3. 队列(Queue)--环形队列、优先队列和双向队列

    1. 队列概述 队列和堆栈都是有序列表,属于抽象型数据类型(ADT),所有加入和删除的动作都发生在不同的两端,并符合First In, First Out(先进先出)的特性. 特性: ·FIFO ·拥 ...

  4. javascript实现数据结构与算法系列:队列 -- 链队列和循环队列实现及示例

    1 队列的基本概念 队列(Queue):也是运算受限的线性表.是一种先进先出(First In First Out ,简称FIFO)的线性表.只允许在表的一端进行插入,而在另一端进行删除. 队首(fr ...

  5. 05顺序队列_Queue--(栈与队列)

    #include "stdio.h" #include "stdlib.h" #include "io.h" #include " ...

  6. 两个栈实现队列+两个队列实现栈----java

                                               两个栈实现队列+两个队列实现栈----java 一.两个栈实现一个队列 思路:所有元素进stack1,然后所有出s ...

  7. ios多线程操作(五)—— GCD串行队列与并发队列

          GCD的队列能够分为2大类型,分别为串行队列和并发队列      串行队列(Serial Dispatch Queue):      一次仅仅调度一个任务,队列中的任务一个接着一个地运行( ...

  8. Java多线程:队列与阻塞队列

    1. 什么是阻塞队列 阻塞队列(BlockingQueue)是 Java 5 并发新特性中的内容,阻塞队列的接口是 java.util.concurrent.BlockingQueue,它提供了两个附 ...

  9. rabbitmq实现延时队列(死信队列)

    基于队列和基于消息的TTL TTL是time to live 的简称,顾名思义指的是消息的存活时间.rabbitMq可以从两种维度设置消息过期时间,分别是队列和消息本身. 队列消息过期时间-Per-Q ...

随机推荐

  1. HackerRank "Chocolate in Box" !

    XOR -> 0 is the key (make it even pair): http://www.cnblogs.com/lautsie/p/3908006.html Something ...

  2. .net下MD5算法和加盐

    MD5方法: public static string GetMD5(string sDataIn)        {            MD5CryptoServiceProvider md5 ...

  3. 部署与管理ZooKeeper(转)

    本文以ZooKeeper3.4.3版本的官方指南为基础:http://zookeeper.apache.org/doc/r3.4.3/zookeeperAdmin.html,补充一些作者运维实践中的要 ...

  4. 一. JVM发展史,运行时数据区域,四大引用

    一.JVM的出现 JVM将字节码解释成不同os下的机器指令,有了jvm,java语言在不同平台上运行时不需要重新编译 虚拟机发展史 (1)Sun Classic classic jvm要么采用纯解释器 ...

  5. Spark读写Hbase中的数据

    def main(args: Array[String]) { val sparkConf = new SparkConf().setMaster("local").setAppN ...

  6. OAF_EO系列2 - Validation数据校验验证机制(概念)

    2014-06-12 Created By BaoXinjian

  7. CF 500 B. New Year Permutation 并查集

    User ainta has a permutation p1, p2, ..., pn. As the New Year is coming, he wants to make his permut ...

  8. python中urllib, urllib2,urllib3, httplib,httplib2, request的区别

    permike原文python中urllib, urllib2,urllib3, httplib,httplib2, request的区别 若只使用python3.X, 下面可以不看了, 记住有个ur ...

  9. 通过Application传递数据代码

    使用Application传递数据步骤如下:创建新class,取名MyApp,继承android.app.Application父类,并在MyApp中定义需要保存的属性     在整个Android程 ...

  10. wpf mvvm使用问题集锦

    问题一.usercontrol1控件使用了mvvm数据绑定,usercontrol2也使用了mvvm数据绑定,则 以下是伪代码 <usercontrol2 datacontent="{ ...