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. jQuery点击图片弹出放大可拖动图片查看

    CSS代码: .popup-bigic { position: absolute; ; ; background: #eee; overflow: hidden; ; } .popup-bigic . ...

  2. android学习笔记一——简介

    android 是由Andy Rubin创立的一个手机操作系统,后被google收购. google希望同各方共同建立一个标准化.开放式的移动电话软件平台,从而在移动产业内形成了一个开放式的操作平台. ...

  3. [系统开发] Squid 认证系统

    一.用途 用过 Squid 的用户认证模块的同事一定知道,它有个很麻烦的问题:每过一段时间就会跳出一个重新输入密码的窗口,用户不胜其烦,我查了网上的各种配置资料,始终没有找到一个圆满的解决方法,所以编 ...

  4. c++ 迭代器库

    来自http://zh.cppreference.com/w/cpp/iterator 迭代器库提供了5种迭代器的定义,同时还提供了迭代器特征.适配器及其相关的工具函数. 迭代器共有5种:InputI ...

  5. 黄聪:Discuz X2.5、3.0、3.1、3.2 如何不用插件实现用户名只允许中文注册

    1.在后台--注册与访问--注册链接文字,把“注册”改为“中文注册”或“注册(请使用中文注册)”等   2.后台UCenter管理中心---注册设置---禁止的用户名:   *q* *w* *e* * ...

  6. 深入分析Volatile的实现原理(转)

    引言 在多线程并发编程中synchronized和Volatile都扮演着重要的角色,Volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”.可见性的意思是当 ...

  7. DISPOSE_ON_CLOSE 和 EXIT_ON_CLOSE 的区别

    If you have several JFrames open and you close one that has EXIT_ON_CLOSE it will close all the JFra ...

  8. PDF内容不允许复制的解决方法!

    PDF文档的内容不允许复制解决方法! PDF的加密有两个级别: 一个是Owner级别,就是打开文档时需要输入密码PDF Password Remover可以用来破解Owner级别的口令,但是不能用于破 ...

  9. ylbtech-dbs:ylbtech-PurpleBill(票据管理系统)

    ylbtech-dbs:ylbtech-PurpleBill(票据管理系统) -- =============================================-- DatabaseNa ...

  10. Timer与ScheduledThreadPoolExecutor的比较

    推荐还是用第二种方法,即用ScheduledThreadPoolExecutor,因为它不需要像timer那样需要在里面再用一个线程池来保证计时的准确.(前提是线程池必须要大于1个线程) 1.time ...