11第十一章 分布建模与仿真.docx

上传人:b****5 文档编号:8385036 上传时间:2023-01-30 格式:DOCX 页数:10 大小:68.68KB
下载 相关 举报
11第十一章 分布建模与仿真.docx_第1页
第1页 / 共10页
11第十一章 分布建模与仿真.docx_第2页
第2页 / 共10页
11第十一章 分布建模与仿真.docx_第3页
第3页 / 共10页
11第十一章 分布建模与仿真.docx_第4页
第4页 / 共10页
11第十一章 分布建模与仿真.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

11第十一章 分布建模与仿真.docx

《11第十一章 分布建模与仿真.docx》由会员分享,可在线阅读,更多相关《11第十一章 分布建模与仿真.docx(10页珍藏版)》请在冰豆网上搜索。

11第十一章 分布建模与仿真.docx

11第十一章分布建模与仿真

第十一章分布建模与仿真

§11.1分布式系统

11.1.1分布式系统的基本概念

1、分布式系统的定义

分布式系统通过远程处理把地理、功能或任务等分布的属性组织在一起。

分布式系统被定义为处理工作分布在地理位置不同的、独立的计算机所组成的系统。

可以定义为:

它可把不同的合作实体管理成一个单一的实体,是通过网络和用户界面利用服务器将服务传送到最终用户的应用。

2、分布式系统的特点

1)分布性

2)蠕动性

就分布系统本身而言,有其不确定性,即系统并非固定不变。

在此,系统存在某种程度的流动性、模糊性、异步性,各要素之间通过相互作用、相互通信达到协调工作。

3)自组织

分布系统能适应环境的变化进行自组织,按一种规律或秩序来达到某一目的。

4)集中与分布共享

对于一般的分布系统而言,它往往表现在"集中"与"完全"分布系统之间,即在分布系统中某些要素接受不同的、独立的信息,进行不同的动作,而另外一些要素可能在一个或多个不同的统一的命令体系控制下进行动作。

11.1.2分布式应用系统

1、分布式应用系统的技术层次

企业系统

应用

分布式计算平台

--操作系统支持

--数据库支持

--远程呼叫

--网络服务

--硬件

图11.1分布式计算层次

2、分布式系统的实现

一个运行良好的分布式系统需要人机交互、软件工程、网络、算法设计等方面的工作,同时还要对支持的任务和组织有很好的理解。

命名系统是分布式应用系统的一个重要基础

负载平衡是获得高效率执行的关键。

负载平衡中第一个要解决的问题是转移处理的经常性成本是否低于将工作量分布化所获得的利益。

§11.2分布式仿真技术

11.2.1仿真系统分解

对一个仿真系统进行有效的分解是分布式离散时间仿真系统实现的关键,仿真系统的分解有五种基本的方法,对于系统的并发性、并行性以及同步性,每一种方法有它自己的优点和缺点。

1、并行编译

这种方法是利用并行编译器在连续仿真中找出代码的执行次序,这连续仿真可在多处理器中进行处理。

2、分布试验

在初级的连续仿真中,只是将强大的多处理器作简单的应用,仅将仿真独立地复制到N个处理器中,将得到的结果取平均值。

各个处理器间不需要进行协调,除非是为了让它们之间达到均衡。

3、分布式语言

在单独的处理器上执行的基本对象是相互之间依赖很微小的任务。

这种方罚要把各种各样仿真任务(例如,随机变量的产生、事件的处理、统计量的收集和图形的处理等等)分配到单独的处理器上执行。

4、分布事件

从全局的事件列表中进行的事件调度可能是分布的,而当前正在处理的事件列表上的事件可能会影响下一个事件,要求协议能保持一致。

全局事件列表由所有的按时间顺序分类的事件组成。

“安全“事件是指已经被标识和排序的事件,并且它们的执行并不依赖于那些当前还没有执行的事件。

主处理器应当维护和管理全局事件列表,每一个处理器从主处理器的全局事件列表中获取下一个事件并执行。

5、分布模型构件

将仿真模型分解成联系不是很紧密的几个部分,使得将构件加载到处理器上成为可能,这样几个处理可以在同一个处理器上执行。

这种方法可以对模型固有的并行性开发,但是要求精确同步。

处理器的同步性通常由信息传递,简单的同步需要如下的基于仿真的信息:

·创建和终止进程;

·发消息给进程;

·等待消息与/或仿真时间流逝。

11.2.2时刻、时钟和同步性

有两种方法可以控制仿真:

时间驱动仿真和事件驱动仿真。

从仿真的设计,实现和有效性来看,事件驱动是可取的;但是,相对来说,时间驱动的仿真容易实现一些。

对于时间驱动的仿真,随着逻辑时间的增加,要求系统完成对所有可能发生的事件的检查。

这种实现方式需要大量的、紧密联系的程序,这些程序也很难进行验证。

更糟的是,需要连续运行的装置进行大量的信息交换来保证全局时钟的一致。

由于每个要执行的事件处于安全状态,回滚是不可能的。

事件驱动仿真允许更接近现实世界的建模或抽象提取,现实世界的每个事件表示为仿真中的一个单独事件。

但是很难实现对这些事件的调度和处理,其实现的唯一方式是用一个中断程序执行的讯号来驱动,这样会导致系统的整体造价非常昂贵。

1、时间和时钟

把远程工作站的时钟设置成相同的时间,但是由于更新不时同时的,时钟并不会同步。

仿真时间的定义通常采用以下两种方法之一:

1)计时器响应

2)事件执行时的逻辑时间

分布式系统的时钟问题是怎样将同一时间传送到所有的工作站。

在一个本地网络中,一个时钟程序(例如UNIX中的时钟程序)可能经常用来监测其它的时钟和将本地必要的工作站同步。

但是,当有很多的相距很远的工作站时,这种方法就会失效,因为无法预测消息到达所需要的时间。

3、同步算法

构筑分布式系统的主要目的是能把远程场所的工作集成起来,将一些重要的应用集成起来就需要同步。

实现同步有三种基本策略:

基于时间的事件排序、令牌传递和基于优先权的事件排序。

基于时间的事件排序:

这种方法用附带时间对在分布式系统上执行的事件进行排序。

因为消息有可能丢失、延迟或者是顺序有误,通过消息传递使物理时钟同步是行不通的。

附带时间主要应用在基于逻辑时钟的事件,根据最小相关的附带时间,可调度事件的执行。

令牌传递:

这个概念与IEEE802.5令牌环和FDDI协议很相似,它可使特殊格式的消息在逻辑环中循环运行,这种设想可用环结构或者是创建一个虚拟环来实现。

无环结构的系统可能通过控制算法来实现令牌传递,以保证每一个请求进程可以在某一时间接受令牌,它的关键是要保证所有的工作站有机会得到令牌的授权并执行相关操作。

基于优先权的事件排序:

进程控制是基于进程的优先权,而不是基于进程的初始化时间,这可消除由基于附带时间的事件排序所带来的问题。

这种方法规定在实时环境中运行的进程具有依附的优先权,并要求进程按优先权的次序执行。

这种方法特别适用于实时系统,而采用的基于时间的事件排序的分布式同步算法并不完全适用于实时的分布式系统。

11.2.3逻辑进程仿真

这种方法是在事件层次上进行分布仿真,可将分布式仿真分解为多个逻辑进程。

逻辑进程仿真的主要目的是将整个仿真分解成多个相互通讯的逻辑进程,以便利用模型本身固有的并行性。

图11.3逻辑进程仿真体系结构

图11.3是一个逻辑进程仿真体系结构,它包括逻辑进程LPi及在仿真机SEi上指定的子系统SSi,逻辑进程按事件驱动的方式运行,并执行本地所出现的事件和产生远程事件,每一个由仿真机执行的事件推进本地时钟来。

逻辑进程LPs可以同步、异步或并行方式执行事件。

每个进程LPi只能静态地存取已划分的状态变量子集,这个子集同分配给其它逻辑进程的状态变量无关。

通讯接口为系统对远程逻辑进程的影响提供传播通道,主要是发送和接收附带本地时间的事件消息。

1、同步逻辑进程与异步逻辑进程的对比

同步逻辑进程的仿真是时间驱动的仿真,它既可采用集中时钟,又可采用分布时钟。

如不考虑实现的问题,由于所有的本地时钟均从全局时钟拷贝过来,仿真的推进是根据全局时钟。

每个逻辑进程必须在[i△,(i+1)△]这段时间处理完所有的事件,在此之前,不允许进程执行(i+1)△时刻或者以后的事件。

一个时间同步的仿真可基本保证状系统状态是安全的和一致的,所以在时间同步的仿真中没有必要采用回滚技术。

异步逻辑进程仿真是一种基于事件的仿真,它依赖于没有相互影响的事件存在来推进仿真。

而对于相互依赖的事件,如按照任意方式执行,就不能保证其正确性。

如果每个逻辑进程在处理事件时都附带时间,那么就不会有因果关系的错误发生,。

2、逻辑进程的保守机制与乐观机制对比

保守的机制是在处理事件之前必须要确定事件是否安全。

当收到一个附带时间的事件后,进程首先要判断是否还有附带时间更小的事件存在,否则,就会有可能发生违背本地因果关系约束的情况。

如果所有的进程都在等待检验是否有附带时间更小的事件,那么就很容易发生死锁,

乐观的机制并没有防止死锁,假定本地虚拟时间能保持一致,乐观机制中允许逻辑进程尽可能快地推进本地时钟。

这样,一个事件被执行之后有可能发现(通过消息交换)这个事件是不安全的。

乐观机制的一个很显著的优点是单个处理器可以自己往前推进,这样在仿真中可体现并行性的所有潜在的优点。

与之相对应的缺点是,在恢复不安全的事件中会出现回滚。

§11.3分布对象计算技术

11.3.1分布对象技术的基本概念

1、发展历程

2、分布对象技术的概念

分布对象技术采用面向对象的多层客户/服务器计算模型,该模型将分布在网络上的全部资源(无论是系统层还是应用层)都按照对象的概念来组织,每个对象都有定义明晰的访问接口。

创建和维护分布对象实体的应用称为服务器,按照接口访问该对象的应用称为客户。

分布对象计算中,通常参与计算的计算体(分布对象)是对称的。

分布对象往往又被称为组件(Component),组件是一些独立的代码的封装体,在分布计算的环境下可以是一个简单的对象,但大多数情况下是一组相关的对象复合体,提供一定的服务。

11.3.2分布式对象技术的主流技术

目前分布对象技术已经成为建立应用框架(ApplicationFramework)和软构件(SoftwareComponent)的核心技术,在开发大型分布式应用系统中表现出强大的生命力,并形成了三项具有代表性的主流技术,即OMG的CORBA(CommonObjectRequestBrokerArchitecture)、Microsoft的ActiveX/DCOM(DistributedCompoundObjectModel)和SUN公司的Java/RMI。

CORBA技术是最早出现的,1991年OMG颁布了CORBA1.0标准,在当时来说做得非常漂亮;再有就是Microsoft的COM系列,从最初的COM发展成现在的DCOM,形成了Microsoft一套分布式对象的计算平台;而Sun公司的Java平台,在其最早推出的时候,只提供了远程的方法调用,在当时并不能被称为分布式对象计算,只是属于网络计算里的一种,接着推出的JavaBean,除了语言外还有组件的标准以及组件之间协同工作通讯的框架。

1、COBRA技术

OMG组织定义了“对象管理体系结构(OMA)”作为分布在异构环境中的对象之间的交互的参考模型,如图11.5所示。

OMA由5个部分组成:

对象请求代理(ORB)、对象服务、通用设施、领域接口和应用接口。

图11.5OMA参考模型

CORBA规范之所以能够取得巨大的发展,是由于它在技术上有着突出的优势和特点,包括:

1)在CORBA规范中引入了代理(broker)的概念。

2)增加了代理机制后,实现了客户方程序与服务器方程序的完全分离,这是与面向过程调用机制为基础的客户/服务器模式是根本不同的。

3)CORBA规范定义的基础是面向对象的设计思想和实现方法。

把分布计算同面向对象的概念相互结合后,有很多好处,如能够将冗余度控制在最低的程度。

一个对象既能被客户方程序也能被服务器方程序使用,对象实现的修改不会影响双方实现程序,提高软件重用率等。

4)提供了软件总线的机制。

使得任何应用程序、软件系统或工具只要具有与该接口规范相符合的接口定义,就能方便地集成到CORBA系统中,而这个接口规范独立于任何实现语言和环境。

2、COM/DCOM技术

COM除了提供对象的创建和管理等功能之外,还包括三个基本组件:

永久存储、智能名字和统一的数据传输。

1)永久存储:

COM定义了标准的永久存储接口,实现这些接口的对象可以将对象的永久状态存放到永久存储设备上(例如文件),从而可以在一段时间以后恢复对象状态。

2)智能名字:

客户可以将一个支持IMonikers接口的对象进行特殊的实例化,从而允许客户在将来重新连接到这个对象(同样的名字以及同样的状态,而不是同一个类中的新的对象)。

3)统一数据传输:

定义了客户和服务器之间交换数据的标准接口。

3、JavaRMI(Java远程方法调用)

§11.4分布式交互仿真技术(DIS)

11.4.1分布式交互仿真的基本概念

1、分布式交互仿真的发展历史

2、分布式交互仿真的定义

DIS的主要功能是定义一种连接不同地理位置的、不同类型仿真对象的基本框架,为高度交互的仿真活动提供一个逼真,复杂的虚拟世界。

该框架把基于不同目的系统、不同年代的技术、不同厂商的产品和不同的平台组织起来,并允许它们互操作。

DIS支持三种实体的混合仿真,即虚拟实体(如人在回路的仿真器)、实际实体(如操作平台和仪表,测试和评估系统等)和构造实体(如军事演习等)。

3、DIS的组成

从DIS系统的物理构成来看:

它由仿真节点和计算机网络组成。

仿真节点除了负责解算本节点上的仿真实体模型、图像生成、网络信息接收与发送、人机交互等功能外,还要负责维护网络上其它节点的状态信息。

计算机网络包括局域网、广域网、网桥、路由器、网关。

从DIS的仿真成员看:

其构造的虚拟世界由一系列实体构成。

实体之间通过它们引发的事件进行交互作用。

这些事件可能对其它实体产生影响,从而又可能引发新的事件,影响其它的实体。

从DIS系统中实体所扮演的角色来分:

DIS系统由红、兰、白三方组成。

红方和兰方为对抗的双方。

白方是系统的管理方。

4、DIS的技术特点

分布式交互仿真发展至今,必然有正确的设计思想和正确的结构方案。

其主要的技术特点为:

1)采用对象/事件的体系结构,把所研究的事物用许多对象模型的集合来描述,有的对象是人和设备的组合体。

这些对象之间通过一系列的事件产生交互作用,一个事件可以对几个对象产生影响;

2)每一个仿真器都是一个自治的仿真结点,它负责对所描述实体的仿真和提供实体状态更新和交互信息;

3)所有仿真结点的地位是平等的,没有中央计算机对仿真过程进行管理和控制;

4)DIS使用自己的协议和标准(IEEE1278-2.x标准)实现信息的交互;

5)只有在实体状态发生改变时才以协议数据单元(ProtocolDataUnit,简称PDU)的形式向其它仿真结点发送信息;

6)主要采用广播方式传输PDU到网络上的所有结点,对于某些PDU采用点对点传输方式,对于局部广播方式,目前依靠一对多的路由器来实现静态局部广播;

7)DIS是一个开放的体系结构,允许仿真结点在任何时候加入和退出DIS环境而不会干扰其他仿真结点的正常运行;

8)DIS目前对人在回路(Man-in-the-loop)的虚拟实时仿真有较好的解决案例。

11.4.2分布式交互仿真的关键技术

1、时钟同步技术

1)软件同步算法完全利用软件完成分布式系统中各时钟的同步,但这种纯软件发生同步的工作量很大,且结点间的同步偏差容易积累,更重要的是,同步信息在广域网上传输时延迟大,且有很大的不确定性,这会使软件同步的效果不理想。

2)硬件同步硬件同步往往是借助于全球定位系统(GlobalPositioningSystem,简称GPS)实现的。

但由于GPS硬件的价格昂贵,完全依靠GPS进行同步的成本很高,不现实。

3)分层式混合同步采用硬件和软件同步一起工作来实现结点间的时钟同步。

具体描述如下:

对于DIS中的每一个局域网(LocalAreaNetwork,简称LAN),选择某一个结点作为TimeMaster(简称TM),并在TM中引入一个GPS接收机及相应的时钟接口设备,这样,在不同的LAN中的TM就可以通过GPS的时间信号实现同步;在每一个LAN内部,各结点通过软件同步发生与该LAN的TM同步。

2、时戳机制与网络传输延迟的补偿技术

对系统进行时钟同步后,我们认为各仿真结点间的时钟是以要求的同步精度同步的,所有的仿真结点以同一时间标准进行。

但是由于信息的网络传输延迟而造成的各结点间对时间与空间理解的不一致是不可避免的,这是由网络传输的客观存在性决定的。

为了对网络传输延迟进行有效地补偿,DIS中采用了时戳机制,即在所有实体状态信息中都加入了此状态信息产生的时间,从而便于接收方在接收时刻准确地了解状态信息所对应的时间,并对接收时刻发送方的状态进行估算,入采用一阶补偿算法。

3、DR技术

DR(DeadReckoning)是DIS中普遍采用的一项技术,它可以在仿真精度和通讯带宽之间进行很好的折中,即可以在一定的仿真精度要求的前提下,大大减小仿真结点之间的状态信息传递次数。

图11.6DR机制

4、信息交换标准

为了生成时空一致的仿真环境,并支持仿真实体间的交互作用,必须制定相应的信息交换标准。

主要包括信息交换的内容、格式的约定以及通讯结构和通讯协议的选取。

目前DIS1.0和DIS2.0标准已经制定并得到IEEE的批准,这两个标准中包括了DIS的信息交换标准,即DIS中协议数据单元(PDU)的标准。

PDU标准中规定了多种PDU的具体格式和内容,如实体状态PDU描述实体的位置、姿态、速度、角速度等位置与运动特性;武器发射PDU描述了武器的类型、发射姿态、速度等相关参量;碰撞PDU描述实体间的相互碰撞;爆炸PDU描述了爆炸发生的地点、规模和破坏程度等。

1)标准规范

DIS主要是提供一个统一的数据接口规范,分为6个协议系列,共27个PDU:

实体信息/实体交互协议系列:

实体状态PDU和碰撞PDU

作战协议系列:

开火PDU和爆炸PDU

后勤协议系列:

服务请求PDU,补给提供PDU,补给接收PDU,补给取消PDU,维修完成PDU,维修响应PDU。

无线电通讯协议系列:

发报机PDU,信号PDU,接收机PDU。

仿真管理协议系列:

包括十二个PDU

分布式发射再生协议系列:

电磁发射PDU,目标导引PDU。

5、坐标变换

由于各仿真结点采用了不同的空间位置和姿态描述方法,因此必须依靠相应的坐标变换方法对这些不同的空间描述进行转换,从而实现对其一致的理解。

6、接口处理技术

7、计算机生成兵力

11.4.3HLA(HighLevelArchitecture)体系结构

但随着DIS需求的发展,人们在研究过程中逐步发现,DIS技术正面临着诸多问题,前面所描述的DIS结构存在一定的局限性:

1)体系结构方面的缺陷:

由于DIS把数据定义于结构之中,使得DIS协议不够灵活和高效,例如如果某实体要通知其它网络实体它打开了前灯,这一状态改变只占一位,但它必须发送整个实体状态PDU(至小1152位)来表示这一改变;

2)对于聚合级仿真不太适合:

DIS是定位于实时、平台级的分布式仿真,对于聚合级仿真等要求不同时间推进机制的仿真应用则不太适合;

3)网络负荷及处理负担:

DIS使用广播方式来发送数据,这一方面加重了网络负荷,另一方面加重了各节点的处理负担;

美国国防部规定把HLA作为美国国防部所有仿真的标准技术结构,并规定从1999年开始不再投资非HLA相容的项目,从2001年开始淘汰所有非HLA相容的项目。

根据已正式公布了HLA的定义、组成和接口规范说明来看,HLA主要由三个部分组成:

1)规则(Rules)

2)对象模型模板(OMT:

ObjectModelTemplate)

3)接口规范说明(InterfaceSpecification)

在HLA中,为了实现某种特定的仿真目的而组织到一起,并且能够彼此进行交互作用的仿真应用、支撑软件系统和其他相关的部件就构成了一个联邦;所有参与到一个联邦中的应用系统被称为联邦成员。

联邦成员还包括联邦成员管理器、数据收集器、真实的实体代理仿真或消极观察器等。

RTI(RunTimeInfrastructure,运行时间支撑系统)

图11.8HLA的联邦组成逻辑结构

RTI作为联邦执行的核心,其功能类似于某种特殊目的的分布式操作系统,为联邦成员提供运行时所需的服务,主要包括一下5中类型的服务:

联邦管理:

提供创建、动态控制、修改和删除联邦的执行等;

声明管理:

提供服务使得联邦成员声明它们所希望创建和接收的对象状态和交互信息;

对象管理:

提供创建、删除对象以及传输对象数据和交互数据等;

所有权管理:

提供联邦成员间转换对象属性的所有权服务;

时间管理:

为各联邦成员对数据的不同传输要求提供服务,提供协调联邦成员各自不同的局部时钟管理的服务。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1