一种高效的遥感数据处理集群调度算法研究

2016-05-21 09:25方鑫周珂严运广陈前程
计算机时代 2016年5期
关键词:任务调度集群

方鑫+++周珂+++严运广+++陈前程+++黄祥志+++王栋

摘 要: 遥感技术的进步使遥感数据质量得以提高,体量急剧增长,因此有必要研制高效的遥感数据处理集群系统用于提高遥感数据处理的效能。对遥感数据处理的时效性评估可以从处理效率和计算资源利用率两个角度进行评估。提出一种结合遥感数据处理先验值的动态双向实时匹配调度算法,即同步考虑先验值、任务情况和计算节点状态的双向调度的方法。实验结果表明,该算法有效的提高了集群系统的遥感数据处理效能。

关键词: 任务调度; 动态双向匹配; 遥感数据处理; 集群

中图分类号:TP391 文献标志码:A 文章编号:1006-8228(2016)05-04-04

Abstract: The progress of remote sensing technology makes the quality of remote sensing data improved, and the volume of the remote sensing data increased rapidly. Therefore, it is necessary to develop an efficient remote sensing data processing cluster system to improve the efficiency of remote sensing data processing. The timeliness of remote sensing data processing can be evaluated from two perspectives: the processing efficiency and the computing resource utilization. In this paper, a dynamic bidirectional real-time matching scheduling algorithm combined with the prior value of remote sensing data processing is proposed; it's a bi-directional scheduling method of simultaneous consideration of the priori values, task conditions and the computing node state. Experimental results show that the proposed algorithm can effectively improve the efficiency of remote sensing data processing in cluster system.

Key words: task scheduling; dynamic bidirectional matching; remote sensing data processing; cluster

0 引言

随着遥感技术的快速发展,遥感数据量呈现几何级增长,实际应用中对遥感数据处理的时间和精度要求越来越高。集群处理系统的出现大大提高了遥感数据处理的速度。高效的遥感数据处理集群调度方法,是充分发挥集群平台优势的关键所在。

中国科学院遥感与数字地球研究所研制的面向遥感数据高性能处理集群系统[1,11]具有成本可控、可靠性高、扩展性强等特点,该集群系统的作业调度模块包括调度节点和计算节点两个部分。调度节点是集群系统中某一台计算机,负责整个集群系统资源分配和任务的调度,保存有面向任务队列和面向计算节点队列。此外,调度节点上存储有各个计算节点的负载信息表,表中保存有计算节点的一些实时信息如计算节点MAC地址,CPU利用率等,还存有生产各种遥感产品所需要的平均时间等。计算节点是集群系统中所有计算机,调度节点也可作为计算节点使用。每个(台)计算节点都连接到调度节点,负责接收调度发来的产品生产任务,和调度节点协同完成工作,计算节点还带有各种产品生产所需要的动态库、参数等信息;数据的组织管理采用五层十五级标准[2]。

目前,常用的任务调度算法有:先来先服务算法、双匹配动态模型算法、截止期最早优先等。这些算法都各有特点。先来先服务算法[10]就是根据到达的先后顺序调度执行,结构简单容易实现,但该算法短作业在系统中的驻留平均时间与长作业的驻留平均时间相同,这对短作业是不利的;双匹配动态算法[6]能够较好地实现负载与系统吞吐率的平衡,但当系统中任务量逐渐增多时,性能快速下降;截止期最早最优先算法[12]根据任务截止期来决定任务执行顺序,让截止期最早的任务优先执行,但是截止期最早的任务并不一定是最重要的任务。然而上述任务调度算法,均未考虑到遥感影像数据量大、产品算法耗时长的特点。

1 集群调度算法模型

本文设计的集群调度算法模型是一种结合遥感数据处理先验值的动态双向实时匹配调度算法模型,由面向任务队列模型和面向计算节点队列模型两个部分组成。其主要思路是:在结合先验值的情况下,一方面,面向任务时考虑任务等待时间和任务量大小等因素来确定任务队列;另一方面,面向计算资源时,在动态获取计算资源负载率的情况下,形成一个计算资源队列;将最优计算资源匹配给优先级最高的任务,从而完成任务和计算资源的动态双向匹配。

1.1 先验值获取

本文使用的先验值定义为集群处理某类产品时,根据各个并行节点反馈到调度节点上的该类产品的处理时间,取平均值。

先验值是动态更新的,这种动态更新使先验值的存在更具参考性,当节点上反馈新的该类产品生产时间信息时,和该先验值再取平均值作为新的先验值。得到的先验值在调度中的数据结构,用Map型数据结构方式记录下来,Key代表是计算节点处理的任务类型,Value是代表节点处理此类型任务所用的时间。

猜你喜欢
任务调度集群
基于PEPA的云计算任务调度性能分析
海上小型无人机集群的反制装备需求与应对之策研究
基于改进NSGA-Ⅱ算法的协同制造任务调度研究
基于时间负载均衡蚁群算法的云任务调度优化
一种无人机集群发射回收装置的控制系统设计
Python与Spark集群在收费数据分析中的应用
对构建智慧产业集群的几点思考
基于小生境遗传算法的相控阵雷达任务调度
中华医学会医学期刊集群化发展的模式分析
云计算环境中任务调度策略