基于 BO INC的仿真网格设计与实现.docx

上传人:b****5 文档编号:12124439 上传时间:2023-04-17 格式:DOCX 页数:11 大小:78.59KB
下载 相关 举报
基于 BO INC的仿真网格设计与实现.docx_第1页
第1页 / 共11页
基于 BO INC的仿真网格设计与实现.docx_第2页
第2页 / 共11页
基于 BO INC的仿真网格设计与实现.docx_第3页
第3页 / 共11页
基于 BO INC的仿真网格设计与实现.docx_第4页
第4页 / 共11页
基于 BO INC的仿真网格设计与实现.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

基于 BO INC的仿真网格设计与实现.docx

《基于 BO INC的仿真网格设计与实现.docx》由会员分享,可在线阅读,更多相关《基于 BO INC的仿真网格设计与实现.docx(11页珍藏版)》请在冰豆网上搜索。

基于 BO INC的仿真网格设计与实现.docx

基于BOINC的仿真网格设计与实现

 

 

基于BOINC的仿真网格设计与实现

 

专业:

软件工程

学号:

姓名:

摘要

现有基于HLA标准的仿真体系缺乏对分布式计算资源的有效管理利用,同时大多采用静态部署邦元的方式,效率低下

并缺乏灵活性。

实现了一种将现有符合HLA标准的Simkit仿真体系与BOINC网格中间件相结合的仿真网格,能够对分布式计算

资源进行有效探知、管理和调度;实现了邦元自动分发、部署以及结果文件自动收集;提供用户友好的管理界面,简化仿真任务创建

配置过程,可对仿真过程进行实时监控。

该系统已应用于实际仿真工程,运行稳定,较好地提高了仿真效率,符合预期要求。

关键词

伯克利开放式网络计算平台仿真网格资源管理调度框架

目录

引言-1-

1.Simkit与BOINC-2-

1.1Simkit一体化分布式仿真平台-2-

1.2BOINC网格中间件-2-

2系统概述-3-

2.1网格门户-4-

2.1.1用户管理-4-

2.1.2节点管理-4-

2.1.3工程管理-4-

2.2虚拟目录-5-

2.3BOINC分发器-5-

2.4Webservice接口-5-

2.5网格客户端-5-

3仿真网格系统调度机制的实现-6-

3.1任务调度框架-6-

3.2资源监控-6-

3.3任务分发-6-

3.4调度算法-7-

4仿真网格与SIMKIT的集成方法-7-

6总结与展望-7-

参考文献-8-

引言

随着计算机仿真技术的不断进步,仿真系统的规模不断扩大,对计算能力的要求也不断提高。

分布式仿真作为一种战略性的技术,将仿真体系依据领域、模型、功能进行分解,实现在分布式环境中进行大规模的科学仿真,满足了不断增大的仿真系统对计算性能的需求。

HLA作为分布式仿真的事实标准,为实现分布式仿真应用之间互操作性和可重用性,提供了一个通用的技术框架[1]。

但是,HLA标准并没有涉及对分布式计算资源的合理规划和利用,也未提供任何基于动态计算资源状况对仿真的执行进行管理的机制。

此外,HLA缺乏对邦元的自动部署及动态迁移支持。

大型仿真往往有数十甚至数百邦元参与,静态部署极其低效且缺乏扩展性灵活性。

网格是应用于先进的科学技术目的分布式计算架构,可以在动态、异构的虚拟组织中实现计算资源、存储资源、信息资源、专家知识等全面共享和任务分布协同[2]。

网格的主要功能包

括任务管理、任务调度、资源发现、资源管理。

在分布式仿真环境中加入对计算资源的动态监控与管理功能,提供动态的任务调度、推送机制,实现系统负载均衡以及对

资源的充分利用,可以从根本上解决现有分布式仿真体系存在的不足。

本文实现了一种将现有Simkit仿真体系[3]与BOINC网格中间件[4]相结合的仿真网格。

提供了统一的仿真任务创建配置界面,定义仿真配置文件,包装仿真模型;对BOINC原有体系进行改进,实现了全新的任务调度框架,应用了基于模糊理论的复杂调度策略,对仿真任务进行动态优化调度;根据仿真应用的实际需求创建了网格客户端,实现了邦元自动分发、部署以及结果文件自动收集;提供了功能丰富详尽的仿真过程监控功能。

 

1.Simkit与BOINC

1.1Simkit一体化分布式仿真平台

Simkit一体化分布式仿真平台是由中国运载火箭技术研究院研发中心开发的一套基于HLA的一体化分布式仿真系统[3]。

它由静态模型包装、动态仿真运行、仿真结果数据分析和虚拟可视化等四个部分组成。

可以将多领域,异构的专业模型自动化包装为符合HLA体系规范的仿真模型,配置部署到分布式节点,在一个统一的平台上进行分布式的联合仿真。

Simkit提供了HLA模型包装器,用于将非HLA兼容的武器专业模型自动包装为可供发布和订购的HLA仿真模型;还开发了FOM自动生成工具,为模型按需生成对象类和交互类产生fed文件。

模型封装为dll形式,并关联相应的fed文件。

Simkit采用主-从引擎结构提供了时间推进、时间处理、模型管理等服务,构成了运行时支撑环境(RTI)。

服务端运行仿真主引擎,负责协调各从引擎仿真时间,控制仿真推进,发送控制指令和应答消息;各计算节点分别运行从引擎,主要负责管理本地模型,同步时间和消息,接受并执行主引擎控制指令等工作。

在一次仿真过程中,首先定义参与仿真的模型种类和数目,每一个模型实例构成一个联邦邦员。

仿真开始前,模型及其关联文件(如初始化配置,输入参数文件)被预先静态部署到计算节点上。

仿真开始后,模型被本地仿真从引擎启动执行。

从引擎与主引擎进行交互,在主引擎的控制下进行仿真推进。

Simkit是典型的基于HLA的分布式仿真应用平台,具有接口规范完备、开发便捷、模型可复用等优点。

但是由于HLA体系的局限性,不能对分布式计算资源进行有效调度管理,造成了计算资源浪费和系统负载的不均衡;不能自动化动态部署仿真任务,缺乏灵活性,难以满足大规模仿真任务的需求。

1.2BOINC网格中间件

伯克利开放式网络计算平台BOINC(BerkeleyOpenInfrastructureforNetworkComputing)。

是一个使用志愿计算机资源进行分布式计算的软件平台。

它集合了志愿计算和桌面网格计算的优势,利用志愿者电脑空闲的计算能力,参与科学研究项目的数据分析和计算。

科研机构和个人可以基于BOINC平台方便地创建网格计算项目,吸引志愿者加入项目协助计算。

BOINC基于LGPL,是开源的自由软件。

采用C/S架构,每个项目仅需维护自己的服务器,客户端支持几乎所有主流桌面操作系统。

BOINC体系中,一次单独的作业由应用程序APP和workunit构成。

APP是科学计算程序,workunit则包含任务输入数据文件和APP运行时依赖文件。

APP和workunit被下载至计算节点,BOINC客户端调用APP对输入数据进行运算处理,将生成结果发送至服务端。

BOINC服务端消耗的资源和带宽很小,可以同时向百万级的志愿计算客户端提供服务,并能保证用户请求被及时响应,任务被准确分发。

由于大量志愿者参与到项目中,BOINC可以有效整合大量计算资源,构成具有海量计算能力和数据存储能力的庞大网格。

如SETI@home项目拥有68万参与者,参与的计算节点超过百万台,拥有12PB的存储空间,400TeraFLOPS计算.能力

BOINC采用志愿计算模式,服务端仅维护任务队列,任务不会被主动分发,而由客户端在空闲时主动请求获取任务。

客户端请求具有不确定性,不能保证任务能够被立即获取,造成时间延迟。

同时,由于FCFS(先到先服务)的调度策略,分发的目的节点具有不确定性。

必须要对BOINC分发机制进行改进,才能使其符合仿真网格实时、定向分发的需求。

2系统概述

本系统的设计目标主要有两个:

(1)实现仿真过程全面自动化;

(2)有效管理调度网格计算资源。

仿真过程自动化包括客户端软件环境自动部署以及仿真任务分解、调度、分发、执行、过程监控,结果收集等步骤自动化。

网格计算资源管理则包括资源发现、节点负载监控、仿真任务优化调度。

为此,我们开发了一种基于BOINC的仿真网格,将现有的Simkit仿真系统与网格相集成,依靠网格提供的资源管理和任务调度分发功能,弥补了HLA仿真体系不足,极大地提高了分布式仿真的效率和易用性。

仿真网格采用C/S分层架构,物理上由一台中心服务器和多个计算结点组成。

计算节点可跨网域分布,并可自由加入、退出网格环境。

网格服务端运行在中心服务器上,包含仿真主引擎、网格门户、虚拟目录、数据库和任务分发器等功能模块,各模块之间通过数据共享、文件共享等方式进行松散耦合;计算节点上则运行仿真从引擎和客户端软件。

系统结构如图1所示。

2.1网格门户

网格门户包含了仿真任务管理的表现层与逻辑层,提供了用户与仿真网格交互的接口界面,实现了各种任务管理逻辑。

采用Struts开发,页面表现层利用AJAX自动更新显示任务数据,增强用户体验。

门户集成了多种管理功能,用户可方便地执行用户管理、节点监控、工程管理、任务调度、信息统计等操作。

2.1.1用户管理

仿真网格用户分为管理员和普通用户两类。

管理员具有系统根权限,可以执行所有操作。

对普通用户则采用工程角色模式,若要参与某工程,必须在该工程中担任相应角色。

角色对应特定管理权限,由管理员赋予。

工程角色分为流程监控、模型上传、结果下载、工程配置和工程管理等。

该模式可限制工

程中参与用户数并按需定制用户权限,提高了系统安全性。

2.1.2节点管理

仿真网格能够对网格中大量计算节点进行有效管理。

可以探查节点加入、脱离网格环境等事件,收集各节点性能数据,获取评估节点负载状态,并可对节点历史运行状况进行对比统计。

服务端提供一组Webservice接口供客户端汇报状态。

网格客户端启动时,调用服务端Webservice接口,通告加入网格环境;客户端在运行期间,定期上报本节点负载信息。

该上报设有超时值,若某节点运行的客户端超时仍未上报,则标记该节点已脱离计算环境。

门户界面采用树状节点动态显示网格节点列表,右侧网页则显示了选中节点的各项数据信息。

2.1.3工程管理

仿真任务采用工程制进行管理。

工程定义了仿真情景和参与的模型种类。

工程内可创建多个仿真任务,各任务间共享本工程仿真模型资源,同时具备私有的配置文件和输入参数。

工程管理是门户核心功能,包括工程创建、模型文件提交、资源文件提交、任务创建、任务配置、任务监控、结果下载等操作,可以完整地执行仿真流程。

门户提供树状视图显示工程及任务详细信息,并采用AJAX技术动态更新,便于用户实时监测仿真执行情况,估计仿真完成时间。

可查看的内容包括工程信息,任务信息,作业信息,仿真执行信息(节点调度信息、运行时间、执行状态、异常消息等)。

单个仿真作业结束,客户端将结果文件上传至虚拟目录,用户可通过门户作业管理页面下载结果文件;若仿真任务整个执行完毕,门户将该任务下属所有作业结果文件提取,集中打包,在任务管理页面提供按键供用户下载。

收集工作的全面自动化,改变了以往人工登录计算节点收集结果文件的低效局面。

2.2虚拟目录

虚拟目录是位于服务端后台的文件目录系统。

根据工程、任务、作业的层次清晰地安排目录结构,存储仿真过程中涉及到的模型文件有fed文件、任务配置文件、输入参数文件。

客户端上传的结果文件经过验证之后也存放于虚拟目录中。

虚拟目录对仿真文件进行了有效的分类和管理,由于完整的保留了仿真相关文件,方便用户分析仿真历史,跟踪仿真异常。

已结束的仿真任务相关文件保留固定时间之后,会被虚拟目录的filedeletor组件自动清理,以节省存储空间。

2.3BOINC分发器

BOINC分发器负责维护作业队列,主动推送作业至客户

端,以及结果文件的验证工作。

在保留BOINC稳定可靠的任务传输功能及良好的安全性的基础上,经过我们的大量改进,将BOINC改造为服务端主动通知客户端的工作模式,作业根据预先的调度结果被推送到指定节点,不再使用FCFS和服务端被动的模式。

通过任务调度器和BOINC分发器协作,实现了仿真作业的动态智能调度和作业的自动分发功能。

2.4Webservice接口

服务端实现了多组Webservice,为跨平台跨开发语言的应用程序提供了一致易用的服务调用接口。

2.5网格客户端

网格客户端工作于计算节点,具有如下功能:

1)探查汇报本节点计算能力和负载状态;2)接收处理仿真作业;3)汇报本地仿真进程;4)收集上报仿真结果数据;5)提供仿真任务监控界面;6)日志记录。

网格客户端采用微软.NET技术开发,运行于Windows平台上。

底层保留扩展了BOINC客户端核心,用于接收处理仿真作业。

利用共享内存同Simkit仿真从引擎进行消息交换。

客户端集成了benchmark程序和计算资源探针,用于获取计算节点的运算能力(CPU数、IOPS、FOPS等信息)和负载信息(当前进程数、CPU利用率、内存利用率)。

增加了Webservice调用模块,用于向服务端汇报/查询信息。

实现了日志模块,记录客户端运行时各种事件消息。

提供了用户友好的软件界面,采用多标签布局组织各功能界面,用户可以在客户端界面监控仿真流程,取消本地仿真任务。

3仿真网格系统调度机制的实现

3.1任务调度框架

由网格门户、BOINC任务分发器、Webservice和网格客户端共同构成了任务调度框架。

调度框架对计算资源进行有效的管理和调度,解决了Simkit体系对计算资源缺乏有效管理的难题。

门户通过解析任务配置文件,将仿真任务按照参与的模型分割为作业。

模型及其关联文件、参数文件被打包创建为workuni,t称为作业。

这样就将仿真任务分割为适于分布执行的作业集合,其中一项作业对应一个仿真邦员。

对于单次仿真任务,只有在所有参与任务的所有仿真邦元部署就绪,方能执行仿真。

因而仿真作业之间具有相关依赖性,调度时要求对仿真任务所属作业进行统一调度。

调度框架工作流程为:

1)门户创建作业集合,维护作业队列。

2)各节点客户端调用Webservice汇报资源信息。

3)门户执行调度算法,综合作业信息和各节点负载信息,对作业集合作出合理的调度决策。

4)作业由BOINC任务分发器分发至目标节点。

调度框架提供了多种调度模式,适用于不同的调度场景,它包括:

动态调度,静态调度,抢占调度

3.2资源监控

网格客户端集成了benchmark程序和计算资源探针,用于获取本节点计算资源信息。

计算资源信息包括两类静态信息,动态信息

3.3任务分发

根据仿真网格的需求,我们对BOINC服务端工作模式进行修改,使其工作在主动模式下,将任务分发至指定节点,成为稳定安全的任务分发器。

BOINC原有的任务分发体系由Feeder守护进程和SchedulerCGI程序构成。

Feeder在共享内存中维护一个任务队列,用于缓存当前待分发的workunit信息。

通过定时查询数据库,Feeder将新创建的workunit信息加载到队列中。

BOINC客户端空闲时访问Scheduler请求任务,Schedule按照先来先服务模式将任务队列中第一个workunit地址返回给客户端,从而客户端可以下载任务进行计算。

3.4调度算法

调度框架中实现了多种经典调度算法,如随机法,RoundRobin,Suffrage;根据仿真任务的实际特点,我们还初步设计了多因素模糊调度算法[5]。

在门户任务部署界面上,用户可以选择具体调度算法,对当前任务所属作业进行调度。

调度算法以作业集合和可用节点负载信息作为输入,通过特定调度策略为作业指定目标节点。

4仿真网格与SIMKIT的集成方法

逻辑上,仿真网格为Simkit体系提供了资源管理,自动化部署任务以及流程监控的能力。

仿真任务由网格创建并最终部署至计算节点,仿真流由Simkit执行,仿真结果文件由网格收集汇总至服务端。

仿真网格与Simkit的集成主要通过以下途径实现:

1)仿真网格将Simkit体系中的仿真模型打包封装为BOINCworkunit,从而通过BOINC任务分发器将仿真作业发送到计算节点。

2)网格客户端接收workunit,解压提取模型文件和相关资源文件,并放置在Simkit从引擎指定的执行目录,完成仿真邦元的部署。

3)网格客户端上报本节点部署完毕消息至服务端,待仿真任务所属各邦元皆部署完毕,服务端通知仿真主引擎开始执行仿真任务。

4)仿真任务执行中,从引擎通过共享内存将本节点仿真邦元运行信息传输至网格客户端,网格客户端再上报至服务端。

从而用户可在门户时间监控仿真执行情况。

5)待某一节点仿真邦元运行完毕,该节点从引擎将该结束消息写入共享内存,通知仿真客户端。

仿真客户端开始执行结果文件收集上载工作。

6总结与展望

本文详细讨论了一种基于BOINC的仿真网格的设计与实现,阐述了总体结构,对各功能实现细节进行了分析。

仿真网格有效地弥补了HLA的分布式仿真体系对于计算资源缺乏管理调度的缺陷,显著提高了仿真效率;实现了仿真任务高程度自动化,极大地减少了时间和人工开销。

该仿真网格已经应用于武器模拟,导弹仿真等实际工程中,性能稳定,显著缩短了仿真任务配置部署时间,并能有效利用计算资源,提高了仿真效率,基本达到设计要求。

在下一步研究中,我们会深入研究基于机器学习的启发式调度算法,进一步提到调度性能;设计网格时间探查诊断机制,提炼网格复杂时间,应用预定义的处理策略;进一步优化仿真网格与Simkit的集成。

 

参考文献

[1]王宜怀.基于32位ColdFire构建嵌入式系统[M].北京:

电子工业出版社,2009.

[2]孙鹏.基于嵌入式以太网的RFID系统应用技术研究[D].苏州:

苏州大学出版社,2008.

[3]FreescaleMCF52233MCF52233RM[Z].2004.http:

//www.freescale.com.

[4]李晓峰,陈平.网格环境下基于HLA的分布式仿真研究[J].现代电子技术,2005,06(39).

[5IanTFoster.TheAnatomyoftheGridEnablingScalableVirtualOrganizations[C]//Proceedingsofthe7thInternationalEuroParConferenceManchesteronParallelProcessing,August28-31,2001:

1-4.

[6]赵雯.SimKit一体化分布仿真平台体系结构设计与实现[J].导弹与航天运载技术,1004-7182(2005)05-0010-05.

[4]AndersonDP.BOINC:

asystemforpublicresourcecomputingandstorage[C]//GridComputing,2004.Proceedings.FifthIEEE/ACMInternationalWorkshop,2004:

4-10.

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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