引言
随着网络技术和分布式仿真技术发展和应用的普及,仿真平台的构建和服务模式发生了巨大变革,并向以用户为中心的方向倾斜。传统的仿真平台以计算机或网络为中心,使得仿真系统的相关部署耗费了仿真人员很多精力,也不能按照仿真需求服务。基于“云计算”理念构建的云仿真平台以用户为中心,从用户的仿真需求出发,关注如何满足仿真任务所需的仿真服务,快捷地聚合网络环境中已有的各类仿真资源,实现个性化需求驱动的仿真应用系统快速开发。
云仿真运行环境动态构建技术是实现云仿真平台的关键技术之一,它能够使仿真人员从繁杂的系统搭建工作中解脱出来,把更多精力放在与仿真业务本身相关的工作中,不仅能够提高仿真系统搭建效率,减少仿真人员工作,还由于以仿真任务需求为依据而能够保证仿真任务的高效稳定运行。
虚拟化技术的快速发展以及其对计算资源的细粒度划分和动态分配特性,为研究云仿真运行环境动态构建技术提供了新的思路。目前,虚拟化技术在仿真系统的构建中得到初步应用,文献中CERN的ATLAS实验中基于VMware ESX构建的粒子探测器仿真系统便是利用虚拟化技术解决仿真实验环境的构建问题;文献介绍了基于虚拟化技术搭建用于僵尸网络研究的综合试验台仿真系统。但在这些应用中还是采用手动的方式构建出需要的虚拟计算环境,与仿真平台的集成不够紧密,没有实现以计算需求为依据的自动化、动态的仿真环境构建过程。
1 云仿真运行环境的构建内容
如图1所示,在云仿真平台中,虚拟化技术解除了仿真模型、软件和计算节点的祸合关系,虚拟机作为虚拟的计算资源取代原来的物理计算节点,仿真系统部署在虚拟计算环境中。虚拟计算节点上的仿真元素服务通过简单对象访问协议协议(simple object access protocol, SOAP)从逻辑上被组织成为一个仿真成员,与仿真相关数据通过运行时支撑环境(run time infrastructure, RTI)传输。可见,这些包含仿真软件,仿真元素服务(调用RTI的仿真服务)和仿真模型的虚拟机就是云仿真平台中仿真系统的运行环境。
图1云仿真平台中仿真系统的运行环境
可见,云仿真运行环境动态构建是仿真环境下不同类型仿真资源根据相互的依赖关系进行动态组合的过程.具体来说,就是将计算资源、软件资源、平台资源和模型资源根据仿真任务需求进行动态组合,提供给仿真系统一个具备可直接调用状态的仿真模型的过程。
2 云仿真运行环境的动态构建模型
云仿真运行环境动态构建技术是以云仿真资源的统一描述规范和仿真资源的虚拟化封装为基础的,笔者基于文献的研究成果将仿真资源部署到云仿真平台中。并通过云仿真平台统一管理和调度,在此基础上给出云仿真运行环境的动态构建模型,如图2所示。
图2云仿真运行环境的动态构建模型
云仿真运行环境的动态构建模型,以虚拟化技术为基础,核心组件为仿真资源注册库,仿真知识库,仿真服务中心和虚拟机管理中心。其中,仿真资源注册库提供云仿真平台中各类仿真资源的统一注册中心,通过提供一个规范的注册机制,支持云仿真资源基于语义的互操作,在元数据层次屏蔽资源之间信息交互的二义性;仿真知识库存储了以往仿真任务执行的动态构建配置信息和仿真模型的评价信息;仿真服务中心从仿真任务解析出仿真任务对相关仿真的需求,并根据需求信息在仿真资源注册库中查询和匹配合适的仿真模型,形成构建方案;虚拟机管理中心依据仿真服务中心的调度请求构建虚拟计算环境(如基于Xen的计算节点),并尽可能保证多用户请求的仿真运行环境的高效和稳定运行。
3 云仿真运行环境的动态构建方法
图3说明了基于虚拟化技术实现的云仿真运行环境动态构建方法,所有的仿真资源(包括计算资源、软件资源、平台资源、模型资源)都被预先部署好并注册到仿真资源注册库中,以往的仿真任务案例和各类资源使用的评价信息被存储在仿真知识库中。仿真服务中心在仿真资源注册库和仿真知识库的支持下,自动解析用户通过访问设备提交的仿真任务.并将仿真任务分解为对计算资源、软件资源、平台资源和模型资源的需求。根据这些资源的需求信息,仿真服务中心能够在仿真资源注册库中查找匹配到相应的仿真资源。其中计算资源、软件资源和平台资源由虚拟机管理中心根据具体需求进行动态配置和组合,形成符合需求的虚拟计算环境(其中包含了软件资源和平台资源);模型资源直接由仿真服务中心将模型实体动态部署到虚拟计算环境中。最后,仿真服务中心根据仿真任务中仿真模型的静态和动态关系组合仿真模型并建立仿真模型与相关服务的连接。仿真运行过程中,系统评测采集计算节点状态信息,并将评测信息人库,提供对仿真模型需求的评价依据,同时在该虚拟节点的仿真解算结果实时返回到门户中。可见,云仿真运行环境的动态构建是从仿真任务的实际需求出发,通过构建一个完整的虚拟的仿真运行环境,实现仿真任务的高效稳定运行。
4 云仿真运行环境的构建算法
物理计算节点的性能直接影响运行其上的虚拟机性能和模型运行性能,因此,如何确定物理计算节点、虚拟机和模型间的部署关系,成为研究云仿真运行环境动态构建技术的关键问题之一。基于虚拟化技术的云仿真运行环境动态构建方法如图3所示。
仿真运行环境的构建类似于以往仿真网格中的静态任务调度,但又是有本质区别的。在云仿真平台中,仿真运行环境的构建实际上是一个三层映射的过程,较仿真网格的资源调度问题更加复杂,如图4所示。
图3 基于虚拟化技术的云仿真运行环境动态构建方法
图4 仿真运行环境构建的三层映射
另外,云仿真平台是面向多用户服务的,在仿真运行环境构建过程中必须考虑多用户的问题,即当前用户仿真运行环境的构建不能影响前面仿真用户提交的仿真任务的执行,也不能将性能好的物理节点全部占用,要为其他仿真用户提交的仿真任务预留计算资源。
在仿真运行环境构建的三层映射中,仿真模型部署到虚拟机中后,虚拟机本身具有了本身的静态特性和仿真模型的动态特性,这样在虚拟机部署到物理机的过程就可以看为一个更完整的仿真模型运行在物理机上,从而下一层的映射不需考虑上一层的映射。因此,可以分两步来研究仿真运行环境的构建算法:仿真模型与虚拟机间的映射算法和虚拟机与物理机间的映射算法。
本文在算法实现中考虑多用户的因素,为保证仿真任务执行环境的隔离性和数据安全性,假设仿真任务之间的虚拟机不重叠。
4. 1仿真模型与虚拟机间的映射算法
由于仿真模型间的同步性和协同性,必须保证提供的运行环境能够满足仿真模型的解算和通讯需求。仿真模型与虚拟机间的映射算法就是研究如何将仿真任务相关的仿真模型部署到不等数量的虚拟机中,并使得仿真任务的执行效率是最优的。
仿真模型在仿真运行中每推进一步,就进行一次完整的仿真解算和数据交互,这样可以将研究范围限定在一个仿真周期内。仿真模型在一个仿真周期内,影响仿真解算时间的因素主要为所在计算节点的GPU能力和内存大小,影响接收数据时间的因素主要为与交互仿真模型间的网络带宽和延迟时间。本文采用CPU、内存、网络带宽和延迟4个因素考虑仿真模型与虚拟机的映射关系和算法实现。
资源效用约束图是研究资源映射关系的常用方法,本文基于资源效用约束图来建立仿真模型与虚拟机的映射算法模型,进而实现映射算法。
为研究方便,分别将仿真模型的性能需求和虚拟机提供的性能配置折算为计算性能和通信性能,表示如下
文献给出了采用遗传算法来计算最优映射的方法,由于仿真模型对CPU性能、内存大小、网络带宽和网络延迟时间的需求已经由仿真知识库给出,那么采用遗传算法可以快速地解算得到最优映射为d',从而得到虚拟机需要构建的数量,每个虚拟机的配置,以及仿真模型在虚拟机中的部署关系。采用遗传算法计算最优映射解不是本文研究重点,此处不展开说明。
4. 2虚拟机与物理机间的映射算法
通过上节算法获取的若干虚拟机镜像可以看作“完整”的仿真资源,由于虚拟机仅仅是对物理计算资源的动态划分,仿真模型使用的计算资源实质上是由物理机来提供的,所以这些资源的运行依赖于真实的物理计算机。虚拟机与物理机间的映射算法就是实现如何选取若干物理节点和如何来部署这此仿真资源,使得虚拟机能够“兑现满足其内部仿真模型性能需求的承诺”,保证其内部的仿真模型稳定运行。
虚拟机与物理机间的映射过程和仿真模型与虚拟机映射过程基本一致(将虚拟机看作上节的仿真模型,将物理机看作上节的虚拟机镜像),只是上节待选虚拟机镜像数目等于仿真模型数目,而待选物理机的数目要大于虚拟机的数目,但最后选择的结果都是前者数目小于等于后者。研究中采用与上节类似的影响因素和建立映射方法。
但是获取虚拟机与物理机的最优映射的约束条件与上节不同。在考虑多用户的因素下,为了保证其他仿真用户或仿真任务能够获得充分的物理计算资源,在虚拟机与物理机的映射算法中就必须考虑不能将过量的计算性能作为最终的选择结果,即尽可能的与性能需求相符。那么,令δ为映射过程x的性能指标,x'为最优映射,则有在δ(x)∈ (0,1]的范围里,值越大则为最优解,即
δ(x‘)=max (δ(x)),δ(x)∈ (0,1]
在实际应用中,云仿真平台的计算资源是有限的,当遇到用户使用高峰时,所有的计算资源将满负荷运行。此时,为了保证新提交的仿真任务能够顺利执行,允许在δ(x)∈(0,∞)的范围里取最小值,即
δ(x‘)=max (δ(x)),δ(x)∈ (1,∞)
5 应用示例
某型号航天器系统涉及机械、电子、软件、控制与动力学等多学科领域。该系统主要包括6个子系统,分别是控制子系统、发动机子系统、燃气子系统、多体动力学子系统、气动子系统和可视化显示子系统。基于云仿真平台的某型号航天器协同仿真系统运行结构如图5所示。
图5 基于云仿真平台的某型号航天器协同仿真系统运行结构
其中,采用10台PC机(CPU:Core i7 8fi0 2.8 GHz,内存:4 GB,网卡:千兆/s)作为计算节点,并提供存储服务器来存储虚拟机模板和模型文件等实体文件,采用数据库服务器存储数据信息和知识信息,并提供资源注册中心功能。文中所述的构建算法在云仿真平台服务中心中实现。
平台管理员预先部署虚拟机模板和相关应用软件,知识库中也存储了以往的仿真案例。总体仿真设计人员首先基于仿真平台建立航天器系统顶层模型,各个分系统仿真设计人员根据顶层模型信息和模型标准规范建立相应分系统的仿真模型,并通过云仿真平台部署和发布。所有模型能够在航天器系统顶层模型定义的逻辑下,由云仿真平台自动部署到相应位置,并根据模型运行需求动态快速构建相应的运行环境(如控制、燃气、发动机分系统模型需要Matlab软件,多体动力学分系统需要Adams软件,气动分系统需要CFX软件,三维可视化分系统需要Catia软件)。
这些软件配置和性能需求信息一部分由分系统模型开发人员定义,一部分由仿真知识库给出。环境构建完成后,云仿真平台后反馈仿真用户,并由仿真用户根据仿真需求控制仿真运行。仿真运行结束后,云仿真平台回收仿真资源:系统建模和运行界面如图6所示。
通过上述实例,验证了本文阐述的云仿真构建技术的可行性,并进一步说明了本技术与传统仿真平台的技术优势,包括:
(1)仿真人员只需定义基本的模型运行需求,而无需关心与仿真业务无关的系统部署间题;
(2)仿真平台能够根据仿真任务动态调整模型对运行环境需求,保证仿真系统运行的高效稳定;
(3)在同一套硬件设施上可以快速切换不同的仿真应用,节省设备,提高仿真效率。
图6 云仿真平台建模、构建和运行的界面
6 结论
本文以实现仿真用户通过云仿真平台快速、高效、灵活地获得符合其个性化需求的仿真服务为应用背景,结合云仿真平台的仿真系统部署方式,基于虚拟化技术研究了云仿真运行环境动态构建技术和其中的关键算法。尽管该技术尽可能地按照仿真任务的需求来构建虚拟仿真环境,但这只是完成了仿真任务运行前得静态配置。而仿真任务在运行过程中的计算需求和通信需求都是实时变化的,是难以在云仿真运行环境构建前能够预测到的,这就要求云仿真平台具有自主、动态、自适应的能力,因此云仿真的容错迁移技术是下一步需要开展的研究工作。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/