摘 要 为了实现集群中调度服务器对资源的管理以及对整个集群状态的监控,以高效地生产遥感数据产品,对现有的一些集群资源管理技术进行了分析,并通过研究基于五层十五级的数据组织结构、集群任务组织和调度策略、集群节点资源可视化技术等,提出了一种支持多机多任务高效的集群资源管理方法,并在遥感产品生产系统中进行应用,实验表明该方法能够在保证任务完成的情况下使调度服务器对资源的管理和调配能力以及生产效率提高40%。
关键词 集群;调度服务器;数据组织和检索;任务分配;资源管理
引言
现代空间遥感技术的发展已使传感器的空间分辨率、光谱分辨率和时间分辨率大幅度提高,使得遥感图像的数据量急剧增加,有的影像文件大小甚至达到GB级[1],这使得计算机在处理这些遥感图像时计算量及资源耗费成倍增加。为了提高遥感影像的处理效率并最大限度地利用已有资源,越来越多的研究者开始将集群技术应用到遥感产品生产领域,随之而来的就是集群资源管理问题,如何才能高效的发挥集群作用,提高集群系统中调度服务器对资源的调配、管理及对整个集群状态的监控已成为集群技术应用者值得考虑的问题。目前集群技术在遥感产品生产应用中主要存在的问题有以下几方面:①CPU占用率、内存使用率以及磁盘使用率高;②网络的数据发送和接收速度低;③多机任务分配负载不均衡[2];④数据组织及检索速度慢。因此,有必要深入研究集群资源管理技术,使之在保证任务顺利完成的情况下能够有效地对集群中的资源进行管理、调配。
1集群和集群资源管理技术
1.1 集群
集群(Cluster)是一种造价低廉、方便构建并且具有很好的可扩展性的计算机体系结构[3],由一组通过高速网络互联并相互独立的计算机组成,集群的一大特点是高可用性和灵活的伸缩扩展性[4]。典型的集群体系结构及各层关键技术主要分为网络层:网络互联结构、通信协议、信号技术;节点机和客户机:分层级操作系统;管理层:资源管理、调度、负载均衡、并行、安全;应用层:开发环境、串并行应用。
每一层解决的问题不同,其中本文所讨论的集群资源管理主要集中在集群系统管理层,该层是集群所特有功能和关键技术的体现。在现如今按需计算的时代,各种应用集群技术的系统,大部分依赖于集群的系统管理层,因此,合理的集群管理会大大发挥集群在实际应用中的作用。
1.2 集群资源管理技术
在遥感产品生产这个复杂的背景下,集群资源的管理技术显的更加复杂,不仅要对集群状态、集群中节点资源使用情况和节点状态进行动态监控,还要实时监控系统的I/O状态,如数据发送速度、网络的数据接收速度等,另外在遥感产品生产中集群资源管理还涉及对提交的任务进行资源分析,根据任务预期执行周期,组织任务需要的一切资源,然后执行匹配,同时资源管理还要考虑到遥感数据的存储和计算的方便快捷性,进而保证任务能够高效快速完成。针对这种现象,本文研究的集群资源管理方法从遥感数据组织和检索、任务组织和调度策略及节点资源可视化管理等方面对系统管理层进行优化。
2参数反演集群计算平台
参数反演集群计算平台是中国科学院遥感与数字地球研究所信息产品生产系统下的一个子系统,主要是通过一台任务管理服务器来管理数量众多的并行计算节点。这种模式可以很好地利用现有的计算资源,同时可以通过任务管理来控制任务执行模式。这样的模式具有很强的扩展性,新的产品算法可以以插件的方式加入集群,进行遥感产品生产;已有的算法也可以升级或者更换版本。
参数反演集群计算平台既可以接收来自其他系统发过来的任务然后组织数据进行产品生产,又可以通過自身来检索数据下达任务进行生产,主要流程是:检索卫星影像切分数据、选择产品、提交任务、生成订单、将订单发送到调度服务器、调度服务器向数据库请求生产所需数据、调度服务器接收并解析订单然后成子订单、将子订单分发给节点服务器、节点服务器进行产品生产并将生产进度反馈给调度服务器。
3参数反演集群计算平台中资源管理技术的应用
3.1 数据组织和检索
参数反演集群计算平台要处理的数据是海量的遥感数据,因此合理的数据存储和传输技术直接决定了系统的性能,为了高效的生产遥感产品,本系统采用基于新型的五层十五级的影像分级标准[5],是因为根据该分级特性能够直接寻址检索,从而实现数据的快速查找。新型的五层十五级的影像分级标准是按照全球双经纬度地理空间对影像进行切分组织,先以10–4、10–3、10–2、10–1、1、101度为基准,建立十进制空间分辨率标准化层级,每层按照二分之一、四分之一形成三级标准瓦片,每个瓦片大小设定为1000,根据每一层瓦片分割的间隔度数能够计算影像的层级和行列号范围,再根据四个角的经纬度就可以计算出瓦片的行列号,再加上影像所属的卫星、传感器类型还有拍摄日期就可以唯一标识一个瓦片。经纬度转化成行列号计算公式如下:
(1)
(2)
其中L表示行号,C表示列号,lat表示纬度,lon表示经度,Z表示层级瓦片之间分割度数。
本系统中瓦片在存储时的命名格式如“GF1_WFV1_20140329_L1A0000192449_8_497_1173-1.tif”,其中GFI表示原始影像数据的卫星,WFV1为传感器类型,20140329表示影像数据的拍摄时间,L1A0000192449为原数据产品号,8为所属层级,497为行号,1173为列号,1为波段。
3.2 任务组织和调度策略
任务调度的核心是任务调度服务器,负责解析订单、生成任务队列、将任务发给计算节点,然后驱动算法生产。文献[6]提出了基于任务“代价”的任务分配模型,将任务分配问题转化为对混合整数线性规划的求解问题,但是在解决负载均衡时效果并不好。文献[7]提出了一种基于尺度的影像数据不平均分配策略,但是不适用多节点的集群环境。
基于此,在遥感产品生产中进行任务调度的时候,我们主要考虑三方面问题,一是当前可用的计算机资源,二是任务执行时间,三是是集群间负载问题,在参数反演集群计算平台中采用的结合调度节点优先级和任务优先级相结合的新的调度策略,调度节点优先级算法是根据系统可用内存(E)、CPU主频(C)、正在运行任务数(N)、等待生产任务数(W)及他们各自的比重(W1、W2、W3、W4)计算出某个调度节点优先级,然后对这些节点的优先级进行降序排序,得到新的调度节点队列,然后将任务分发给这些节点,这种方法只考虑了调度节点的优先级而未考虑任务的执行时间(Th)、任务量(L)。基于任务优先级算法是取集群之前处理同类产品时的平均时间作为参考,然后结合每个任务的历史执行时间、任务量及它们各自加权值(Q1,Q2)计算出任务的执行优先级,得到任务队列,此方法忽略了集群当前可用的调度节点资源使用情况。
基于对上述两种方法的研究,参数反演集群计算平台采用二者结合的方式,一方面,对调度节点进行优先级降序排列,一方面对任务进行优先级降序排列,然后将经过优先级排序的任务队列中的任务分给经过优先级排序的计算节点队列。其中计算节点优先级P计算公式和任务优先级T计算公式如下所示:
(3)
(4)
由此可以获得2个队列,一个是基于任务的队列,一个是基于计算节点的队列,然后将任务队列中的任务根据计算节点的情况,动态分配到计算队列中的节点上进行产品生产。同一产品生产,三种算法的执行结果如图1所示。
图1 三种算法的执行结果
由次看出,二者结合的调度算法在参数反演集群计算平台中的应用缩短了产品生产时间,提高了遥感产品生产效率。
3.3 节点资源管理可视化管理
为了辅助集群管理,参数反演集群计算平台中对集群计算节点资源进行可视化展示。该方案根据Stuart K.Card等人提出的CARD[8]信息可视化模型提出的节点信息可视化过程如下:首先获取节点信息,然后进行节点信息建立节点连接信息表[9],再构建可视化区域结构信息表,最后根据这两张表进行节点的绘制[10]。其中网络拓扑结构采用单中心节点连接,同时将生产节点状态以树型结构进行展示。实验表明,该方案能够相比其他可视化方案能够最小的消耗内存资源。其中节点网络拓扑如图2所示。
图2 网络拓扑图
网络拓扑图绘制过程如下所示:
计算中心点坐标(Px,Py),Px=W/2,Py=H/2;W为显示区域的宽度,H为显示区域的高度;
计算中心点图片的左下角(P1x,P1y)和右上角(Prx,Pry)坐标,P1x=Px-Pw/2,P1y=Py-Ph/2,Prx=Px+,Pry=Py+Ph/2;Pw为图片宽度,Ph为图片高度
计算各节点坐标(,),=Rcos(2πi/n),=Rsin(2πi/n);R为节点到中心节点的连线长度,取值范围为+MAX(Pw/2,Ph/2)= 计算各节点图像左下角()和右上角()坐标; 当集群的并行节点分别为0,2,4,6,8,12个时资源占用情况如表1所示。 表1 不同节点展示时资源占用情况 节点个数 CPU利用率(%) 内存占用(K) 0 10 195323 2 12.5 195523 4 13 195723 6 14.3 195923 8 15.2 196323 12 16 198323 上述中心节点的CPU是八核的内存是5824MB,由表可以看出随着计算节点的增加,CPU和内存的占用都会增加,但是增加的不是很多,但是通常情况下,负载超过85%机器性能就会降低,进而影像任务的执行,这方面研究有待提高。 4结束语 本文通过研究集群资源管理技术,在参数反演集群计算平台的数据组织和检索时采用基于新型的五层十五级分级标准和直接寻址检索方式,实现了遥感数据的快速检索,在任务组织和分配时采用基于节点优先级和基于任务优先级相结合的任务调度策略,从而实现任务的快速有效分配,进而保证任务的高效执行,在节点资源管理方面,采用基于Stuart K.Card等人提出的CARD信息可视化模型,设计出了节点可视化方案,从不同层次对节点资源进行管理。然而,论文研究的方法还存在一定的局限性,在面对节点过多的时候,任务实行效率方面、参数反演集群计算平台稳定性方面能力表现不足,接下来将从资源释放、内存管理方面等进行研究。 参考文献 [1] Alain Merigo,Alfredo Petrosino.Parrllel Process-Inge for Image and Video Processing: issues and challenges[J].Parallel Computing,2008,34(12):694-699. [2] 刘爱珍,王嘉祯.改进的多任务分配与调度遗传算法[J].微电子学与计算机,2007,24(9):162-165. [3] Flynn M J.Very high-seed computing systems [J].Proc of the IEEE,1996,54(12):1901-1909. [4] 李敬.集群系統集中管理平台的研究与实现[D].西安:西北工业大学,2004. [5] 王栋,郑逢斌,赖积保,等.基于五层十五级遥感数据结构的并行算法研究.微计算机信息,2012,(1):166-167. [6] 曾志,刘仁义.一种基于分块的遥感影像并行处理机制[J].浙江大学学报,2012,39(2):135-141. [7] 沈占锋,骆剑承,陈秋晓.高分辨率遥感影像并行处理数据分配策略研究[J].哈尔滨工业大学学报,2006,38(11):1968-1971. [8] CARD SK,MACKINLAY J D,SHNEIDERMAN B.Readings in Information Visualization; Using Vision to Think[M].San Francisco:Morgan Kaufmann,1999:109. [9] 杨彦波,刘滨,祁明月.信息可视化研究综述[J].河北科技大学学报,2014,35(1):91-102. [10] 任磊,王威信,周明骏,等.一种模型驱动的交互式信息可视化开发方法[J].软件学报,2008,19(8):1947-1967. 作者简介 王一民(1992-),男,本科,助理工程师,主要研究领域为人工智能、集群、遥感、数据挖掘、无线电、卫星通信。