离散系统仿真


在离散系统中,系统状态的变化是不连续的,系统状态的每次变化称为事件。离散系统仿真中使用的模型有一组数字来表示系统的状态,称为状态描述符。在本章中,我们还将学习排队仿真,这与分时系统仿真一样,是离散事件仿真中非常重要的一个方面。

以下是离散系统仿真Behave的图形表示。

离散系统仿真。

离散事件模拟 ─ 主要特点

离散事件模拟通常由用高级编程语言(例如Pascal、C++或任何专用模拟语言)设计的软件来执行。以下是五个主要特征 -

  • 实体- 这些是真实元素的表示,例如机器的零件。

  • 关系- 意味着将实体链接在一起。

  • 模拟执行器- 负责控制提前时间并执行离散事件。

  • 随机数生成器- 它有助于模拟进入模拟模型的不同数据。

  • 结果和统计- 它验证模型并提供其性能指标。

时间图表示

每个系统都取决于一个时间参数。在图形表示中,它被称为时钟时间或计时器,最初它被设置为零。时间根据以下两个因素更新 -

  • 时间切片- 模型为每个事件定义的时间,直到没有任何事件为止。

  • 下一个事件- 它是由模型定义的事件,用于执行下一个事件而不是时间间隔。它比时间切片更有效率。

排队系统的模拟

队列是系统中正在服务的所有实体和等待轮到的实体的组合。

参数

以下是排队系统中使用的参数列表。

象征 描述
λ 表示到达率,即每秒到达的数量
TS 表示每次到达的平均服务时间,不包括排队等待时间
σTs 表示服务时间的标准差
ρ 表示服务器时间利用率,包括空闲和繁忙时
表示交通强度
r 表示系统中项目的平均值
表示系统中的项目总数
Tr 表示系统中某个项目的平均时间
TR 表示某项在系统中的总时间
σr 表示 r 的标准差
σTr 表示 Tr 的标准差
w 表示队列中等待的平均项目数
σw 表示 w 的标准差
特瓦 表示所有商品的平均等待时间
TD 表示队列中等待的项目的平均等待时间
表示系统中服务器的数量
MX(Y) 表示第 y个百分位数,表示 y 的值,低于该值 x 出现的时间百分比为 y

单服务器队列

这是最简单的排队系统,如下图所示。系统的核心元件是服务器,它为连接的设备或项目提供服务。如果服务器空闲,则向系统请求提供服务的项目。然后,立即提供服务,否则它会加入等待队列。服务器完成任务后,物品离开。

单服务器队列

多服务器队列

顾名思义,该系统由多个服务器和所有项目的公共队列组成。当任何项目请求服务器时,如果至少有一个服务器可用,则会分配该项目。否则队列开始启动,直到服务器空闲为止。在这个系统中,我们假设所有服务器都是相同的,即为哪个项目选择哪个服务器没有区别。

使用上有一个例外。令N为相同的服务器,则ρ为每台服务器的利用率。考虑为整个系统的利用率;则最大利用率为N*100%,最大输入率为 -

$λmax = \frac{\text{N}}{\text{T}s}$

多服务器队列

排队关系

下表显示了一些基本的排队关系。

一般条款 单服务器 多服务器
r = λTr 利特尔公式 ρ = λTs ρ = λTs/N
w = λTw 利特尔公式 r = w + ρ u = λTs = ρN
Tr = Tw + Ts r = w + Nρ

分时系统仿真

分时系统的设计方式是每个用户使用系统上共享的一小部分时间,从而导致多个用户同时共享系统。每个用户的切换如此之快,以至于每个用户都感觉像是在使用自己的系统。它基于 CPU 调度和多道编程的概念,通过在系统上同时执行多个作业,可以有效地利用多个资源。

示例- SimOS 仿真系统。

它由斯坦福大学设计,用于研究复杂的计算机硬件设计、分析应用程序性能以及研究操作系统。SimOS 包含现代计算机系统所有硬件组件的软件模拟,即处理器、内存管理单元 (MMU)、缓存等。