admin 管理员组

文章数量: 1086019


2024年12月29日发(作者:c语言贪吃蛇声音)

22

卷第

6

2012

6

计算机技术与发展

COMPUTERTECHNOLOGYANDDEVELOPMENT

Vol.22No.6

June2012

基于

HLA

和移动代理的负载平衡控制技术探讨

马善达

万晓冬

李云芳

李辉

南京航空航天大学自动化学院

江苏南京

210016)

摘要

随着仿真技术的发展

仿真系统规模的不断扩大

基于

HLA

的仿真系统的负载平衡面临严峻的考验

如何保证仿

真试验高效平稳的运行成为当前急需解决的一个问题

移动代理

(Agent)

已经被证明在平衡负载方面卓有成效

文中将

移动

Agent

引入基于

HLA

的仿真系统中

主要从动态迁移方面

探讨较合理的仿真控制技术

控制负载平衡的实现过程

最终达到保证仿真运行速率的目的

根据每个仿真试验的不同情况

设置合理的迁移策略

才能提高负载平衡的效果

关键词

高层体系结构

负载平衡

移动代理

仿真控制技术

运行速率

中图分类号

:TP391.9

文献标识码

:A

文章编号

:1673

629X(2012)06

0163

04

LoadBalancingControlTechnologyBasedon

MobileAgentandHLA

MAShan

da,WANXiao

dong,LIYun

fang,LIHui

(CollegeofAutomationEngineering,NUAA,Nanjing210016,China)

Abstract:Withthedevelopmentofsimulationtechnology,simulationsystemshavebeenexpanding,loadbalancingofHLA

basedsimu-

lationsystemisfacingaseveretest,ithasbecomeaurgentsolutionproblemthathowtoensuresmoothandefficientoperationofsimula-

tion.MobileAgent(Agent)hasbeenshowneffectiveinloadbalancing.Inthispaper,combinemobileAgentwithHLAbasedsimulation

system,mainlyfromdynamicaspectsofmigration,investigateareasonablesimulationcontroltechnologytocontroltheloadbalancing,

andultimatelyensurethatthesimulationrunningrateisundercontrol.Accordingtothedifferentcircumstancesofeachsimulation,setrea-

sonablemigrationrulesinordertoimproveloadbalancingeffect.

Keywords:highlevelarchitecture;loadbalancing;mobileAgent;simulationcontroltechnology;runningrate

0

引言

是在仿真运行过程中非常不希望看到的

为了解决这个问题

引入移动

Agent

技术实现系

统动态负载平衡

移动

Agent

能迁移

并能和其他移

是代理技术和分布式计算技术的结动

Agent

交互

[1]

高层体系结构

(HLA)

是美国国防部

1995

年提出

的新一代仿真技术框架

它是分布式仿真

DIS

和聚合

级仿真

ALSP

发展的高级阶段

。HLA

在解决异构

协同的仿真模型和仿真系统的互操作及可重用性

方面取得了重大进展

基于

HLA

的仿真系统由于缺乏对仿真资源的组

调度使得系统缺乏弹性和鲁棒性

大规模的分布织

式仿真中

通常将联邦成员分布在多个节点运行

以保

证每个联邦成员获得更多的运算资源

提高仿真运行

速率

缩短运行时间

这称为静态负载平衡

但是由于

联邦成员运行的不可预料性

运行一段时间后

一些节

点可能有很重的工作量

导致整个仿真联邦负载的不

平衡

从而减慢联邦运行速率

增加仿真运行时间

收稿日期

:2011

09

28;

修回日期

:2011

12

31

基金项目

武器装备预研基金

编号略

作者简介

马善达

(1988

),

江苏连云港人

硕士研究生

研究方

向为计算机仿真

万晓冬

硕士生导师

研究方向为计算机仿真

入式系统

。HLA

联邦的动态负载平衡利用移动

Agent

在联邦范围内重新分配运算资源

将重负载节点上

的联邦成员调度到轻负载的节点上执行

降低重负载

达到平衡仿真系统负载

保证仿真运节点上的工作量

行速率的目的

2~5]

从各种角度探讨了联邦成员迁移的文献

实现方法

有很重要的借鉴意义

但是仅仅实现联邦

成员迁移是不够的

同样重要的是还要控制整个联邦

成员迁移过程

以最佳的方式保证仿真运行过程

文中主要探讨

HLA

环境下

应采用何种控制技术

控制联邦负载平衡

才能保证仿真运行的稳定

高效

1

动态负载平衡的关键技术探讨

将联邦成员从重负载节点调度到轻负载节点的过

程称为联邦成员迁移

可以迁移的联邦成员称为移动

·164·

计算机技术与发展第

22

Agent

联邦成员

下面就探讨在执行上述过程时

要用到的关键技术

1.1

迁移决策的主要技术

在仿真运行过程中

存在三个仿真运行比率

一个

这个值是运行时设定的期望是设定的仿真运行比率

一个是当前仿真运行比率

当前仿真运行比率

=

间步长

/

当前时间步长的联邦运行时间

它体现当前时

间步长的运行比率

具有实时性

能反映仿真运行当前

总仿真运行比率

=

总状态

另一个是总仿真运行比率

推进时间

/

总联邦运行时间

它反映联邦运行过程的整

体运行状态

在设定的仿真运行比率较高时

当前仿真运行比

率可能无法达到设定值

但是能够维持在一个阈值之

如果在仿真运行过程之中

当前仿真运行比率变

变得低于阈值

并且维持一定时间

说明存在重负

载节点导致仿真运行变慢

需要重新分配系统资源

衡系统负载

提高仿真运行速率

作出进行联邦成员迁移决策时

需要获得一些信

(1)

联邦范围内所有其他运行节点的资源信息

通过比较各个运行节点的资源信息

可以得到较

合适的目标节点

(2)

待迁移联邦成员运行实例的信息

根据联邦成员实例信息和目标节点的资源信息

估测迁移之后目标节点的负载状况

最终作出是否迁

移的决定

1.2

联邦成员迁移过程实现技术

当前

联邦成员迁移有两种方式

(1)

一种方式是联邦范围的保存和恢复

[2]

所有的联邦成员都受到迁移的影响

系统需要保

存和恢复全部的

RTI

状态以及待迁移的联邦成员的状

优点是避免了消息的丢失和重复运

行的问题

缺点是随着联邦成员数量的

增加

联邦成员迁移的开销会加大

(2)

另一种是冻结自由的方式

[4]

联邦成员的迁移不影响其他成员

只保存待联邦成员状态以及与其相关

RTI

的状态

无需保存所有的

RTI

状态

减小了开销

但是这种方式最大缺点就

是会产生消息丢失

文中探讨的控制技术在

DMSO

RTI

上实现

在联邦运行过程中

联邦成员包

括一个用户设计的仿真模块和一个本地

RTI

组建

(LRC)。DMSO

RTI

提供了支持联邦状态保存和恢复

的机制和相关服务

若将此种机制应用到联邦成员迁

移过程中

能够实现部分状态的自动保存和恢复

可以

减少联邦成员开发人员的工作量

在联邦状态保存和恢复过程中

根据状态管理者

不同

联邦的状态分为两个部分

(1)

一部分由

RTI

管理

包括相应的

FedExec

进程的状态

联邦成员的内

部状态

指联邦执行中联邦成员实例的状态

(2)

另一部分由各联邦成员自己管理

这部分称为联邦成员外部状态

指联邦成员应用

程序执行过程中其内部对象以及相关进程的状态

部分状态的保存过程

是开发人员在联邦成员开发阶

段需要进行的工作

它的实现方式由开发人员决定

予较大自由度

Windows

平台下的

MFC

开发环境

可以采用

MFC

的序列化机制

[7]

[6]

进行状态的保存

RTI

将由其管理部分的状态联邦状态保存阶段

保存在指定目录下的指定文件中

文件命名规则与联

fed

文件名和联邦成员名称相关

程序设计者将其邦

负责保存的联邦成员外部状态保存至指定目录下

以选择上述目录

已有的代码传送机制主要采用两种传送方式

[8]

全传送和按需传送

代码源的选择方面有两种

移动

代码源和固定代码源

在移动

Agent

代码传送机制

代码源和传送方式一般是相关的

采用全代码传

送方式的系统多选择移动代码源

这种方式保证在任

何情况下移动

Agent

都能正常运行

稳定性高

相反

按需传送的系统多采用固定代码源

这种方式的优点

是每次仅传送移动

Agent

运行所需的代码

减小了网

络传输量

2

仿真负载平衡控制的设计

为实现负载平衡

采用的联邦成员迁移框架如图

1

所示

1

联邦成员迁移框架

如图

1

所示

主要由以下两个组件配合联邦成员

RTI

完成联邦成员迁移过程

(1)

仿真控制管理单元

6

期马善达等

基于

HLA

和移动代理的负载平衡控制技术探讨

·165·

(2)

移动

Agent

服务设施

[9]

整个联邦成员迁移框架采用总

分结构

仿真控

制管理单元运行在某一节点上

控制整个仿真运行过

对联邦成员迁移过程作出指挥和调控

是决策产生

部分

移动

Agent

服务设施驻留在联邦范

围内的各个运行节点上

负责本地节点资

联邦成员实例程序的启源的采集和上传

相关代码和状态保存文件的发送

在仿真配置管理阶段

仿真控制管理

单元与各个运行节点上的移动

Agent

服务

设施建立

Socket

连接

检测联邦内各个运

行节点的资源信息

结合仿真中联邦成员

实例信息

将联邦成员合理分配在各个运

行节点之上

我们称这个过程为静态负载

平衡

[10]

此外

由于一些联邦成员与邻近的资源通信非常多

程人员要考虑到这些联邦可能不适合移动

在联邦成

员实例信息中需要标明

这个过程是仿真配置过程的重要步

传统仿真运行中

主要依靠这一步骤来

保证仿真运行速率

同时

对于我们的设

静态负载平衡能减少仿真运行过程中

的联邦成员移动次数

提高联邦运行效率

根据联邦成员配置情况和各个运行节点上存在的

成员实例

自动将联邦成员运行实例发送到需要的节

点上

无需手动拷贝

减少工作量

适应分布式仿真的

特点

下面主要介绍有关联邦成员迁移的实现

2.1

联邦成员迁移决策模块设计

联邦成员迁移的决策模块在仿真控制管理单元中

是集中式的管理方式

这种方式与联邦成员自实现

主决策方式相比

灵活性降低

但是管理清晰

有序

会产生冲突和混乱

联邦成员迁移的决策过程需要的两个信息

(1)

联邦成员实例信息是固定不变的

存储在数

据库中

在决策过程中从数据库表中

读取

(2)

运行节点的资源信息是实时

索取

变化的

采用方式获取

仿真控

制管理单元实时监测仿真运行比率

当仿真运行比率低于阈值时

发送命

令获取各个运行节点上的资源信息

联邦成员迁移决策流程如图

2

2

目标节点的选择模块和作

出迁移决策模块根据仿真运行需要

自主实现其具体内容

例如

迁移决

策的作出也受制于当前的联邦执行状

如果联邦执行很快结束的话

可能就不会移动

);

3

联邦成员迁移控制过程

2.2

2

联邦成员迁移决策流程

联邦成员迁移过程设计

考虑到文中所探讨的仿真控制技术的应用背景

冻结自由方式会产生消息丢失

这样会带来不可预料

的结果

影响仿真运行的准确性

所以选择联邦范围的

保存和恢复方式

采用移动代码源的全代码传送方式具有高稳定的

特点

能保证仿真运行不会出现意外

是一个较理想的

方式

故采取此种方式进行联邦成员实例代码的传递

根据迁移决策

完成联邦状态保存过程

将源节点

上的联邦成员实例代码和保存的联邦成员状态文件发

送到目标节点

并保存在指定目录下

在仿真恢复阶段

就可以根据保存的文件重现早前的联邦

采用的联邦成员迁移的控制过程

[11]

如图

3

所示

·166·

计算机技术与发展第

22

各步骤解释如下

(1)

仿真控制管理单元在作出迁移决策之后

先向待迁移的联邦成员发送

迁移

交互

接收到此

交互的联邦成员将布尔型的联邦成员外部状态保存标

志设置为

true,

这样就保证在第三步中

只有待迁移的

联邦成员保存外部状态

减小状态保存的工作量

(2)

迁移交互发送完毕

仿真控制管理单元请求

联邦状态保存

开始联邦状态保存过程

(3)

联邦成员在收到

RTI

initiateFederateSave()

回调函数时

根据联邦成员外部状态保存标志决定是

否保存其外部状态

RTI1.3

版本中

不需要调用

federateSaveBegin()

服务

但是考虑到兼容性

联邦成

员调用此服务通知

RTI,

其开始进行联邦成员外部状

态保存

(4)

待迁移联邦成员保存其联邦成员外部状态之

后向

RTI

发送

federateSaveComplete()

服务

其余联邦

成员直接向

RTI

发送此服务

。RTI

在收到所有联邦成

员的

federateSaveComplete()

服务之后

通过回调函数

federationSaved()

通知各个联邦成员状态保存完毕

此时

要暂停整个联邦执行

待迁移联邦成员退出联邦

执行

(5)

仿真控制管理单元向源节点移动

Agent

服务

设施发送传送文件命令

并告知待迁移的联邦成员实

例程序名称

目标节点

IP

地址等信息

(6)

源节点移动

Agent

服务设施收到上述命令之

建立与目标节点移动

Agent

服务设施的

Socket

将运行实例

状态保存文件等相关内容发送到目标

节点上

(7)

目标节点移动

Agent

服务设施启动接收到的

联邦成员运行实例

(8)

新联邦成员完成加入联邦在内的前期准备工

(9)

仿真控制管理单元在发现新的联邦成员加入

联邦之后

请求联邦状态恢复

(10)

联邦成员根据目录下是否存在外部状态文

选择恢复或者不恢复联邦成员外部状态

新的联

邦成员外部状态恢复完毕或者无恢复要求的联邦成

调用

federateRestoreComplete()

服务通知

RTI。

(11)RTI

收到所有成员的

federateRestoreComplete

()

服务

通过

federationRestored()

回调函数通知各个

联邦成员

联邦成员状态恢复完毕

可以继续仿真运

联邦成员内部状态和相应

FedExec

进程的状态保

存和恢复在上述过程中已经由

RTI

执行

无需程序开

发人员实现

3

结束语

论文探讨了在

HLA

框架内

结合移动

Agent

实现系统负载平衡的控制技术

采用集中式管理

方式

结合静态负载平衡和动态负载平衡

保证仿真运

行速率

在其中

联邦的设计者要对存储和恢复执行

状态编码负责

这可能是一项艰巨的任务

在一个大型分布式仿真系统中

进行负载平衡

是联邦成员移动的一个基本的范例

联邦成员迁移过

程的原因不止是需要进行负载平衡

还有诸如出现联

邦成员需要调用较大的异地数据资源等情况

都需要

进行联邦成员迁移

出现这些情况只需要将文中探讨

的控制技术的迁移条件进行重新编码

就可以实现

以后工作中

会考虑扩大此控制技术的应用范围

参考文献

[1]

王卫青

华祖耀

基于

Agent

体系结构的

HLA

联邦成员设

计与实现

[J].

计算机仿真

,2006,23(7):142

145.

[2]ZajacK,BubaM,MalawskiM,etal.TowardsaGridManage-

mentSystemforHLA

basedInteractiveSimulations[C]//

ProceedingsoftheSeventhIEEEInternationalSymposiumon

DistributedSimulationandRealTimeApplications.[s.l.]:

[s.n.],2003.

[3]EklfM,SparfM,MoradiF,etal.Peer

to

peer

basedRe-

sourceManagementinSupportofHLA

basedDistributed

Simulations[J].Simulation,2004,80(4

5):181

190.

[4]YuanZijing,CaiWentong,LowMYH.FederateMigrationin

HLA

basedDistributedSimulation[C]//InternationalConfer-

enceonComputationalScience(ICCS2004).Poland:[s.n.],

2004.

[5]CaiWentong,TurnerSJ,ZhaoHanfeng.ALoadManagement

SystemforRunningHLA

basedSimulationovertheGrid

[C]//ProceedingsoftheSixthIEEEInternationalSymposium

onDistributedSimulationandRealTimeApplications.[s.

l.]:[s.n.],2002.

[6]

周彦

戴剑伟

.HLA

仿真应用程序设计

[M].

北京

电子

工业出版社

,2002.

[7]

张柯

张新宇

基于

HLA

的分布仿真系统数据采集解决

方案

[J].

系统仿真学报

,2004(12):2725

2728.

[8]

王红

移动

Agent

关键技术研究

[D].

北京

中科院

2002.

[9]

张云勇

刘锦德

移动

Agent

技术

[M].

北京

清华大学出

版社

,2003.

[10]

王庆俊

李晋惠

梁向阳

基于

HLA/RTI

的客户

/

服务员模

型的实现

[J].

微机发展

现更名

计算机技术与发展

),

2004,14(4):40

42.

[11]

王琼

艾丽蓉

龚爱珍

基于

HLA

的分布式仿真中负载

平衡的研究

[J].

计算机技术与发展

,2011,21(6):119

122.


本文标签: 联邦 成员 迁移 运行 状态