师雪霖,赵 英,李 娜
(北京化工大学信息科学与技术学院 北京100029)
公共安全近年来越来越受到世界各国政府的重视,我国的应急管理工作也取得了长足进展,以“一案三制”(一案指制订修订应急预案;三制指建立健全应急的体制、机制和法制)为核心的应急管理体系基本形成,应急管理综合能力得到提高[1]。但是与较为完善的应急管理办法相比,公共安全的基础技术支撑环节薄弱,总体公共安全形势仍然趋于严峻,这同时也是各国面临的问题。以日本2011年3月11日地震引发的核泄漏事件为例,其暴露出全局或重点区域部署智能化识别和定位核、生、化危险物质的无线传感监控网络的重要性。在我国,《国家中长期科学和技术发展规划纲要(2006—2020年)》已将“公共安全”列为重点领域,其优先主题明确包括了“危险化学品泄漏”、“核生化恐怖源的远程探测”。因此,基于物联网(Internet of Things)技术的危险核、生、化监测和遥感研究,受到业界和政府相关部门的高度重视,同时不可忽视的是,这也对与其配套的监测数据处理分析计算平台提出了更高的要求。面对实时收集的海量数据,如何提供高效、经济、便捷又有QoS(quality of service,服务质量)保证的计算服务和存储服务,成为公共安全支撑技术领域的难点和热点。面对这种需求,云计算无疑是一种可行的解决方案。
Buyya定义了云的概念:“云是由很多彼此互联、虚拟化的计算机组成的并行、分布式系统,服务提供者和用户之间通过协商达成一致服务协议,动态提供统一计算资源”[2]。通过这个定义,可以看出云计算要解决的问题是如何有效安全地管理和共享接入云的各种资源,并提供相应的服务,它强调的是全面的共享资源、全面的应用服务。云计算提出了全互联网范围内共享资源的最高目标,最大限度地充分利用计算/存储资源,是整合全社会高性能计算资源的有效方法[3,4]。
由此可见,云的特点和优势十分适合为公共安全监控预警提供计算、存储服务。本文提出了一种用于公共安全监控预警的混合云体系统架构,借鉴传统IaaS(infrastructureas a service)云架构,集成了高性能计算和虚拟私有云两种计算资源的管理模式,实现统一的服务部署、调用管理,为用户提供了SaaS(software as a service)方式的云计算和存储服务,还设计了此平台的资源调度模型、算法、QoS策略及其实现方式。
公共安全监控预警最核心的两个问题就是数据感知和数据处理,其对计算资源的要求与目前商用云有所不同。云商业应用,如亚马逊公司的Amazon EC2平台、谷歌公司的Google App Engin(GAE)平台等,往往以虚拟化技术为基础满足不同用户的不同计算需求。但是公共安全监控预警中主要是对所采集数据的分析,所需计算服务类型相对固定(即使用特定的几种软件),但对并发计算性能要求更高。基于此,公共安全监控预警计算平台要支持对HPC(high performance computing,高性能计算)资源的管理和调度。此外,平台也需要为监控领域专家、工作人员提供计算服务、软件服务,所以同样需要支持虚拟化计算资源的管理和调度。因此,本文提出了一种混合云平台架构——HCPSMF,支持对HPC资源和虚拟化资源(指VPN)进行混合管理。
公共安全监控预警是一个系统工程,包括数据的采集、接入、传输、分析、监控以及用户服务。因此可以用图1所示的5层结构描述。
公共安全监控预警体系框架可分为5层:感知层、接入层、网络层、云计算层和用户层。
感知层是用来识别核、生、化物质和采集数据的,是整个体系框架的基础,由各种类型的采集终端和控制模块组成,如无线传感器网络(wireless sensors network,WSN)和其他移动监控终端。WSN是由许多在空间上广泛分布的自动装置组成的网络,这些装置使用传感器协作监控不同的环境状况。WSN集分布式信息采集、传输、处理技术于一体,能够通过各类传感器协作实时监测、感知和采集核、生、化危险物质含量,并通过随机自组织无线通信网络以多跳中继方式将感知信息传送到接入点或网关。此外,还可使用其他移动监控终端,如为巡逻警车安置GPS、摄像头、危险物质检测设备等,即可成为一个数据感知节点,通过基站传送数据。移动监控终端增加了数据采集监控的灵活性,可根据反馈情况快速调整监控目标。因此,感知层的功能是完成不同环境中危险物质含量的数据采集和设备控制。
接入层由接入网关和基站节点组成,负责感知层设备的组网控制、信息汇集、协议转换等功能。保证上行数据符合承载网络的传输需要,并将承载网络下达的控制指令转换成感知层可接收的下行数据。
网络层提供所有数据传输的承载网络,可以根据应用环境和具体需求设定,可以是互联网、局域网、移动通信网络等,完成接入层和元计算层之间的信息传送功能。
云计算层是整个体系框架的核心,由各种HPC服务器、虚拟机、数据存储设备组成,主要功能是对采集数据进行多源信息融合、转换、分析,同时在需要对终端设备进行实时控制时,生成控制指令并下发。此外,还要响应用户层用户提交的各种服务请求。
用户层为用户提供了公共安全监控预警的各种应用接口。可通过监控界面实时调取不同区域的监控数据和分析结果、下达控制指令。由于云计算层提供一些领域的软件服务,如流体力学分析软件、扩散模拟软件等,用户可通过用户界面提交一些服务请求。
HCPSMF是公共安全监控预警体系中的云计算层,它是一种混合云平台架构,支持对HPC资源和VPC的混合管理。HCPSMF和其他常见的商用云平台不同,它不仅仅是虚拟机的集合,还包含很多集群服务器和海量数据存储设备。因为在公共监控预警体系中,大量的数据需要高性能的并行计算处理,以普通计算机网络相连的虚拟机无法满足计算要求,往往需要由高速连接(如Infiniband)的多个计算节点、专业I/O存储组成的集群服务器,仅靠虚拟机是无法满足的[5]。此外,HCPSMF也需要考虑专业人员的计算需要,此类计算可能对高速连接、存储没有要求,但是往往需要多种不同的虚拟机,因此也提供基于虚拟技术的多种软件服务。
针对上述需要,HCPSMF提供了两种资源管理方式:管理调度HPC的任务管理系统 (load management system,LMS)和管理VPC的虚拟架构管理系统(virtual infrastructure management system,VIMS)。图2给出了HCPSMF的架构。
HCPSMF管理的计算节点可以分成两类:一类是HPC的计算节点,即一台传统的硬件计算机上只运行一种操作系统,称之为物理机(physical machine,PM);另一类是VPC节点,可根据需要在一台硬件计算机上运行多个操作系统,称之为虚拟机(virtual machine,VM)。
需要HCPSMF处理的任务首先提交给作业调度器,作业调度器将任务组成提交队列,分配给LMS或VIMS管理,最终提交到PM节点或VM节点上执行。
PM节点上配有相对固定的软件,主要用于对监控数据的分析和处理,由LMS统一管理。无线传感器、移动监控设备收集的数据通过承载网络传递给HCPSMF云计算平台,由作业调度器形成的计算任务,再由LMS分配给不同的PM节点进行执行。任务可分成不同的优先级,但发生突发事件时,可对重点监控区域反馈的数据优先进行分析处理。实时监控数据量非常大,历史数据的记录也十分必要,往往需要和历史数据比对,形成核、生、化物质变化趋势,以供决策分析。
此外,专业人员也需要进行一些模拟计算、科学研究计算,此时需要的软件可能是不固定、多变的,而且每种软件所要求的操作系统也各不相同,VM节点主要用于执行此类任务。通过用户接口(即云portal)提交的计算任务,由作业调度器分配给VIMS,VIMS根据任务需求,选择空闲硬件节点动态创建虚拟资源,安排任务执行。
这种设计架构易于集成现有HPC调度软件和虚拟软件。在HCPSMF中,LMS选用商业软件Platform公司的 LSF(load sharing facility)[6]实现,VIMS采用开源软件OpenNebula[7]实现对虚拟资源的管理。作业调度器只需要管理LMS和VIMS即可,即开发与二者的集成接口,不用关心具体的底层资源调配,这样既能保证HCPSMF的运行效率,又使之具有可扩展性,通过更新作业调度器与LMS或VIMS的接口,即可支持新的HPC调度软件或虚拟软件。
现有的云调度研究往往假定排序问题中的约束参数都是确定性的,属于排序理论中的确定性排序。而实际云环境下,资源调度要受到很多不确定、随机因素的影响,而且云资源是动态变化的,这就需要利用随机模型解决排序问题,即随机排序。从效率角度考虑,基于经济度量的调度模型更具意义。在HCPSMF框架中,集成的LMS和VIMS固有的调度策略往往是基于确定性排序的简单模型,因此建立了一个包含成本、惩罚代价等经济参数的、基于随机变量的经济模型,并设计了相应的进化调度算法,在作业调度器上实现。
建立调度模型即分析云环境下不确定资源因素的随机分布特征,建立它的随机模型,并增加经济衡量参数,将资源调度问题转换为寻找目标函数数字特征最小化排序问题。设C为HCPSMF中所有节点的集合(包含PM节点和VM节点),C中节点数量为m,C={C1,C2,…,Cm},设J为作业集合,J中包含n个作业,J={J1,J2,…,Jn}。参考现有网格调度方法[8],本模型定义了如下调度参数。
tij:第i个作业使用第j个节点所需处理时间;
pj:第j个节点的使用代价;
aj:第j个节点可用的时间;
uj:第j个节点不可用的时间;
bi:第i个作业的预算;
di:第i个作业执行的最后期限;
ri:第i个作业的到达时间;
li:第i个作业调度失败的惩罚代价。
作业在节点上的执行时间(tij)可以预先估计[6],假设tij满足指数分布:
将tij作为指数分布的随机变量可以简化调度问题。如果在此假设下调度算法的性能较好,那么在实际云平台随机环境下,调度算法的性能也依旧会很好。
为了简化模型,假设作业预算bi足够大,因此可忽略该参数。作业失败的惩罚代价li是指作业在最后期限前仍未执行完毕的损失。因此,调度算法不仅要保证使用节点的总花费∑tijpj小,还要尽量减少损失,即要考虑作业最后期限di和惩罚代价li。因此,就得到了调度模型的数学表达:
其中,si表示第i个作业开始执行的时间,max(0,li(si+tij-di))是第i个作业失败的惩罚代价,如果该作业在最后期限之前执行完毕,则惩罚代价是0,否则是 li(si+tij-di)。惩罚代价可以标记出不同作业的优先级。调度模型的目标函数是E(∑(tijpj+max(0,li(si+tij-di))))。使用上述随机调度模型,HCPSMF平台的调度目标就抽象为寻找总花费∑ (tijpj+max(0,li(si+tij-di)))的最小数学期望。
针对随机期望调度模型,利用EA设计云调度算法。EA的关键是设计合适的优化编码,即选择染色体,确定目标函数,通过迭代获取最优解。在本调度算法中,染色体就是(作业,节点)序偶的组合,最优解是使∑(tijpj+max(0,li(si+tij-di)))期望值最小的组合方式。令βi表示第i个作业,γj表示第 j个节点,二者组成的序偶(βi,γj)为基因,基因的不同组合构成不同染色体。通过遗传进化,迭代选取不同基因,获得最后解。调度算法工作原理如图3所示。
最终调度排序结果实质就是哪个作业(记作βi)分配到哪个节点(记作γj)执行,也就是序偶(βi,γj)的集合。因此,调度算法的目标就是选择最优的集合,保证所有作业执行后的经济效益最优,这就靠选择初始种群P、优选精英基因比例进行进化迭代,从而获得调度模型的最优解。为了在进化过程中优选后代,定义了如下优选函数:
通常EA算法随机选择初始种群,如果初始种群性能优于平均水平会提高算法效率。但是在本调度算法中,为了防止早熟,仍然随机选择初始种群P。将P中的所有基因 (βi,γj)按照 tijpj+max(0,li(si+tij-di))升序排列,选出模板种群TP。算法每次迭代都按照如下方式生成新的种群Pnew:
其中,x为预先定义的参数,以保证迭代过程中父种群的精英基因能够保留下来,可以根据算法需要调整x的值,在HCPSMF中将x设置为50%。
算法流程如图4所示。
重组变异是EA算法的核心,在本调度算法中,采用最基本的交叉操作实现基因重组。预先设定了迭代终止条件,当找到满足此条件的组合时,算法停止。
HCPSMF平台采用的调度模型和进化调度算法虽然以经济参数方式可以区分任务优先级,但是从服务效率上考虑,仅仅使用调度优先级是不够的,还必须有其他策略保证“重要”作业优先使用资源,并且减少资源浪费,如在“重要”作业到达前,节点已经分配了普通作业进行计算,此时中断普通作业计算可能会造成资源浪费,但是如果通过挖掘资源使用规律,预测“重要”作业到达情况,设计资源协商预留策略就可以避免此种情况。因此,HCPSMF中设计了QoS策略以实现有差别的服务,即QoS保证,从而在整体上提高了云调度效率。
制定QoS策略前,首先要定义基本约束概念。在ISO 13236标准中定义了分布式计算技术涉及的QoS基本概念集合[9]。参照此集合,本文定义了基于使用模式分析(use pattern analysis,UPA)的资源预测调度机制。
资源预测调度是提高调度效率的一种方式,其关键是学习资源使用模式,多采用聚类分析、状态空间模型等实现。在HCPSMF平台上通过采用机器学习方法挖掘云资源使用模式(use pattern,UP),通过分析各节点资源的历史数据,找出支持调度决策的规律,这就将问题的本质转换为云资源使用日志的聚类分析问题。将日志中的每条数据按照其资源使用情况,量化为权重wjk(表示第j个作业使用第k种资源的情况),对作业使用资源情况进行分类,计算作业i与j两两之间UP的相似度:
通过计算相似度,确定合理阈值,即可将UP分类,调度时,可以据此规则预先保留资源,从而提高整体调度效率。
本文的创新之处在于:根据公共安全监控预警数据采集、分析的需要,设计了一种公共安全监控预警混合云平台HCPSMF;提出的基于经济度量的调度模型以可量化的经济效益参数方式将调度效率考虑在内,同时设计了针对此种模型的进化调度算法;设计了QoS策略及在HCPSMF上的实现方法。与所有服务一样,为了实现效益最大化,“非公平可控”的QoS策略也是必不可少的。有差别的服务策略,优先“重要”应用将极大提高整体资源利用效率。
1 马鑫,黄全义,疏学明等.物联网在公共安全领域中的应用研究.中国安全科学学报,2010,20(7):170~176
2 Rajkumar Buyya,Chee Shin Yeo,Srikumar V,et al.Cloud computing and emerging IT platforms:vision,hype,and reality for delivering computing as the 5th utility.Future Generation Computer Systems,2009(25):599~616
3 Hong-Linh Truong, Schahram Dustdar. Composable cost estimation and monitoring for computational applications in cloud computing environments.Procedia Computer Science,2010(1):2 169~2 178
4 Arnon Rosenthal,Peter Mork,Maya Hao Li,et al.Cloud computing:a new business paradigm for biomedical information sharing.Journal of Biomedical Informatics,2010(43):342~353
5 Gabriel Mateescu,Wolfgang Gentzsch,Calvin J Ribbens.Hybrid commputing-where HPC meets grid and cloud computing.Future Generation Computer Systems,2011(27):440~453
6 Sotomayor B,Montero R,Llorente I,et al.Virtual infrastructure manaagementin pirvate and hybird clouds.IEEE Internet Computing,2009,13(5):14~22
7 Subodha Kumar,Kaushik Dutta.Maximizing business value by optimal assignment of jobs to resources in grid computing.European Journal of Operational Research,2009(194):856~872
8 Richard Onchaga.Quality of service management framework for dynamic chaining of geographic information services.International Journal of Applied Earth Observation and Geoinformation,2006(8):137~148