一种遥感信息模型自动化并行处理平台

2016-09-08 10:41李国庆于文洋
计算机应用与软件 2016年8期
关键词:分片集群节点

张 静 李国庆 于文洋

1(中国科学院遥感与数字地球研究所数字地球重点实验室 北京 100094)2(中国科学院大学 北京 100049)



一种遥感信息模型自动化并行处理平台

张静1,2李国庆1于文洋1

1(中国科学院遥感与数字地球研究所数字地球重点实验室北京 100094)2(中国科学院大学北京 100049)

当前尚无主流的遥感信息模型(RSIM)高性能处理平台,RSIM的研究与应用以项目驱动为主,处理低效。分析当前遥感领域数据与处理的特点,提出一种集数据存储、模型计算、信息发布于一体的RSIM处理平台。通过对存储系统、并行处理环境和调度系统的设计实现平台的海量存储、灵活管理和模型自动快速计算功能。实验表明,该系统能完成RSIM的快速高效处理,具有良好的可控性和适用性。

遥感信息模型自动化处理平台LustreIO优化数据划分TorqueKajaran

0 引 言

遥感信息模型(RSIM)泛指利用遥感数据对地学规律进行研究所构成的方法、模型[1]。遥感影像提供了地球表层的多维动态观测数据,通过遥感影像建立遥感信息模型,研究地球系统的各个要素及其相互关系[1],在科学研究和国民经济中具有重要意义。

保证遥感数据的时效性,是应用遥感信息模型必须解决的问题。近年来遥感数据高速增长[2],如何实现海量、多源、多尺度遥感数据的快速计算,是遥感信息模型处理平台面临的又一挑战。传统的遥感信息处理平台以桌面端软件为主,如ENVI、ERDAS IMAGINE、PCI Geomatica等,处理低效,不支持各个功能模块的自动流程化处理。通用并行计算平台则缺乏专业的遥感存储计算支持,且有许多冗余功能,研制遥感专用并行计算平台具有重要意义。近年来研究人员围绕遥感处理算法的并行化展开了大量工作[3-6],涵盖遥感数据预处理、特征参数反演、图像目标识别等方面,为遥感信息模型平台的功能集成打下良好基础。但是国内目前尚无主流遥感集群环境。中国测绘科学研究院研发的PixelGrid具有集群分布式计算模块,主要提供星测/航测影像的摄影测量处理[7],没有专门的遥感处理功能,且缺乏对于遥感算法的二次开发支持。中科院遥感与数字地球研究所研发的遥感信息计算平台(SINCE)内部集成了集群MPI计算环境,但该平台基于.net框架开发[8],通用性较差。东方泰坦公司的泰坦超算平台(Titan SCP)具有跨平台部署能力[9],但缺乏海量存储支持。

为适应遥感领域对于海量存储和高效计算的需求,提高RSIM的生产效率,本文在遥感高性能计算平台工作的基础上[10-12],提出一种高性能自动化RSIM处理平台,该平台具有以下特点:(1) 基于Lustre实现海量文件存储功能;(2) 提供MPI并行编程支持;(3) 通过任务级(Torque)和业务级(Karajan)的调度使系统具有良好的负载均衡能力和复杂的跨平台功能组合功能。

1 平台设计

当前遥感数据和遥感处理算法具有如下特点:

1) 遥感信息模型一般呈密集而不规则的数据访问模式[13],由于对数据的依赖度不同,各模型表现出的访问特点不同。其中大量非连续小块数据的访问造成严重的IO瓶颈,在此种条件下,模型IO通常只能取得峰值期1/10的性能[14]。如何结合遥感数据与模型的特点优化存储,这是实现平台高性能的重点。

2) 遥感处理可分为3个层次:像素级、特征级和目标级[15]。随着处理层次的增高,处理数据量越来越小,算法越来越复杂,人工干预的成分增大[4]。MODIS传感器的数据集约占ECHO[16]总数据集(共包含595个传感器的3200个数据集[17])的1/10[17],是一个十分有代表性的传感器。以Terra MODIS产品为例,产品覆盖领域包括大气、陆地、海洋和冰冻圈,共38个大类[18,19]。这些大类的处理等级为1~4级,如表1所示,随着处理级别的升高,数据量减少,处理时效性降低。这一方面说明复杂算法的并行化比较困难,另一方面则揭示了提高低等级数据处理效率能够解决遥感数据处理的大部分性能要求。

表1 部分MODIS产品的文件大小和日生产量

注:Res 指影像空间分辨率

3) 遥感信息的提取方式由相对单一的处理如波段运算、影像变换等向多元处理链的方向转化,并有计算机处理、人工单源干预和多方协同处理多种模式。处理流程的复杂化和处理模式的多元化对于处理平台的资源配置能力提出了更高要求。

本文沿袭经典的Linux机群+MPI搭建基础并行环境,并用Ethernet和InfiniBand子网两个重叠的网络组成集群网络拓扑,采用Lustre集群文件系统构建平台存储模块。目前世界排名前10的超级计算机系统中有7个使用Lustre[20],其高可扩展性能够适应潜在数据的存储需求。在此基础上,为了解决上述问题,构建一个遥感专用高性能计算平台,本文依次作了如下设计:

1) 从存储组织和文件访问两方面进行控制,针对不同的遥感影像设计不同的OST池进行存储,减少访问目标块与存储分片之间的位置差异。

2) 平台把重点放在提高低等级遥感数据处理的效率上。低等级遥感处理包括几何校正、辐射校正等影像预处理算法,影像重采样、影像镶嵌、图像增强、波段运算等通用处理方法[3]。

3) 设计两级调度策略使系统具有良好的负载均衡能力和完备的任务编排功能。Torque+Maui实现并行计算资源的细粒度按需分配,Karajan工作流则从业务层面提供了复杂处理组合和跨组织协作功能。

系统的基本架构如图1所示。

图1 系统层次结构

2 Lustre IO优化

当多个客户高并发访问时,锁竞争和文件系统资源竞争会使Lustre文件系统效率大幅下降。根据应用特点对Lustre进行IO优化,从两个方面展开:(1) 减少对单个文件的并发访问;(2) 提高单次传输的文件分片利用率。这种调整可从Lustre文件系统和应用程序两方面进行。

1) 对文件存储方式进行优化

文件的分片大小和分片个数对系统性能有显著影响[21]。不同大小的文件由于应用场景不同通常有不同的分片方式。例如Lustre单次网络传输缓冲区大小为1 MB,1 MB及以下的文件(如工程代码、tar文件等)不宜切片,而超大文件如1 TB以上的大文件则需要减少切片数量,避免频繁请求。OST池(OST Pools)是一种OST组织方式,同一个池中的OST遵循相同的文件分片规则。OST和OST池之间的从属关系可随时间改变[20],利用OST池可以更好地管理OST。遥感影像的数据大小从几十MB到几百GB不等,本文设计了3种不同默认分片大小的OST池,分别针对小型、中型和大型文件(用户仍可修改各个文件的分片设置),把不同应用模式的数据分离管理。

2) 控制读写数据块进行优化

当程序发起与存储分片不对齐的IO请求时,可能会访问多个OST,而多个文件的分片不对齐访问则会加剧系统资源的竞争,如图2(b)所示;而读写块与文件分片一致时,则访问次数相对较少,如图2(a)所示。多个进程和多个文件之间的交互可分为四种方式:(1)多个进程中有一个代理进程直接与文件进行IO,再为其他进程提供数据中转服务;(2)每个进程都单独处理自己的文件;(3)若干进程并发处理同一文件;(4)以上三种情况的混合,前3种情况如图3所示。第(1)种方式避免了并发竞争,但单个进程限制了整体的IO速度和容量;第(2)种方式同样不需要并发控制,瓶颈出现在文件系统的支持上(如磁盘同时打开的最大文件数);第(3)种方式能实现较高的聚合吞吐量,但控制复杂,且资源竞争情况下系统的性能会降低。编写应用程序时,应根据应用特性选择合适的分片和读写方式。

图2 文件分片对进程读写的影响

图3 进程与文件交互的3种基本方式

3 平台并行编程支持

遥感信息模型并行化可通过数据并行和任务并行两种途径实现。低等级的遥感处理算法处理的数据量大,但局部数据之间的相关性比较小[4],因此数据并行是模型并行化的重要途径。本平台抽象出遥感处理中的各种数据划分模式,给出编程抽象类以辅助模型并行编程。

遥感传感器一般面向特定的电磁波谱段[1],生产的遥感影像包含若干波段的地物辐射信息(激光雷达点云数据不在讨论之列)。首先针对遥感信息模型处理数据覆盖的范围,作如下定义:

定义1处理域,输入影像各个波段参与模型运算的平面区域的总和,记为Mask。

定义2元处理域,模型运算过程中不可再分割的处理域,记为unitMask。

定义3域函数,描述处理域的函数,记为maskFunc。

模型处理涉及的波段数和模型最小处理范围依次如表2所示,从而遥感数据的元处理(不可再细分的)模式共有6种组合。

表2 RSIM处理数据分类

元处理域通常包含于某个处理域中。一个矩形处理域的元处理域可能是单个像素,也可能是若干个更小的矩形面域。一个非矩形区域的元处理域可能是更小的非矩形,这种划分可以基于图像行/列进行,或者由一个新的面域函数划分。遥感数据的并行粒度有单影像单个元处理域、单影像若干元处理域、多影像单个元处理域和多影像多个元处理域这四种。图4列举了一些典型的数据划分方式。

图4 并行遥感数据处理划分方式

为了分离数据划分和数据处理,本文将任意处理函数抽象为以处理域、输入数据和辅助数据作为参数的函数。为用户提供2个面域描述抽象类和3个遥感数据处理任务抽象类,分别是MaskType、Mask、UnitTask、TaskSet和TaskQueue。MaskType是枚举类,罗列上述3种面域函数;Mask描述处理域,包括处理域类型,划分的方式(均匀、非均匀)和划分手法(行、列、自定义函数);UnitTask代表元处理域任务;TaskSet则是更为常用的若干元处理域任务;TaskQueue表示多个不同处理任务构成的任务队列,由用户根据使用场景实现调度函数。Mask和TaskSet的类定义如下:

Mask类定义:

class Mask{

public:

MaskType type;

//处理域的类型

//1. 单个像素

int i; int j;

//2. 矩形面域

int start; int offset; int xsize; int ysize;

//3. 非矩形面域

virtual int* polygon(void *inputData);

//再划分子区的方式

int nsubMask;

//把处理域再划分为几部分

bool isUniform;

//是否均匀划分

bool byRow;

//是否按行划分

bool byCol;

//是否按列划分

int * thresholds;

//对处理域再划分的分割阈值

int npolygon;

//自定义划分区域的个数

virtual int **AOI(/*user defined*/); /*自定义划分非矩形域的函数组*/};

TaskSet类定义:

//包含若干最小处理域的任务集

class TaskSet{

void* inputData;

//输入数据

void *outputBuffer;

//输出缓冲

Mask mask;

//处理域

virtual void* process( Mask *mask,

auxiliaryData auxData

//辅助数据

)

};

4 平台调度管理

4.1Torque任务管理器

Torque是一个开源的集群作业管理调度系统,支持批处理、并行和交互式作业,为集群提供任务级的管理和调度,为各个节点分配合理的任务,能有效利用系统计算能力。Torque由4部分构成:任务服务器、任务调度器、执行守护进程和客户端,如图5所示。守护进程MOM运行在各个计算节点上,向任务服务器发送各个节点的状态信息,任务的执行情况以及服务器/调度器分配的其他资源监视任务。

图5 Torque模块结构

Maui是一个用于集群/超级计算机任务调度的开源软件。Torque只提供了较基本的任务调度策略,而Maui则提供了丰富的选择。Maui设计了6个优先指标[22]来对一个任务进行优先级排序,可指定任务需要的处理器、内存、节点、用户级别和队列级别等来合理分配任务,平衡各个节点的CPU负载和IO开销。

4.2Karajan工作流

Karajan提供了定义、组织、映射和执行工作流的环境。该工作流采用XML描述各个工作环节(执行动作和相应数据);提供“sequential”、“parallel”等标签供用户组织串行、并行流程;提供条件执行、迭代、循环等多种工作流控制结构和用户自定义函数;可构造基于DAG(有向无环图)的层次化工作流,具有高度的灵活性和适应性。图6展示了几种Karajan支持的流程。Karajan提供检查点(出错后,从检查点开始重新执行流程)、日志等多级容错机制,通过XML中的“onError”元素用户可自定义错误响应行为。

图6 几种Karajan支持的流程模式[23]

5 实验与分析

5.1实验环境

采用12台相同的计算机搭建平台环境,机器参数见表3所示。实验集群结构如图7所示,采用Cisco Catalyst 3560G以太网交换机和Cisco SFS 7000 InfiniBand交换机配置集群网络。12台机器中3台搭建Lustre集群文件系统,1台作为Portal服务器,剩余8台作为计算节点。3台Lustre存储节点扩展2 TB的硬盘容量,创建10个OST,构建3个OST池,默认的分片数依次为2、4、8。MPI计算节点为主—从结构,1个主节点7个从节点;Torque的Server节点与MPI主节点安装在不同的机器上;Karajan工作流与Portal服务器安装在同一台机器上。

表3 节点硬件环境

图7 实验集群结构

5.2正确性验证

本文采用沙尘模型(适用于中国北部地区)对系统功能进行正确性检验。模型的处理流程如图8所示,实验输入数据和计算模式如表4所示。平台界面如图9所示,实验过程中模型按照预期过程依次执行,动态流程监控图正确显示模型各个阶段的计算状态,如图10所示。处理结果如图11(a)所示,浅色区域代表有沙尘的地区,浅色部分越深,沙尘等级越高。该结果与单节点串行处理结果图11(b)相同,充分证明了本平台的正确性。

图8 沙尘模型处理流程表4 沙尘模型

模型名称中国北部地区沙尘监测模型模型简介根据MODIS影像提取沙尘范围并进行沙尘强度分级实验输入数据2008-5-26MODISL1B数据12景,2.83GB主要的计算模式多步复杂计算计算复杂度O(n2)

图9 平台界面

图10 沙尘模型动态工作流监控

图11 中国西北部2008-5-26沙尘强度反演结果

5.3性能分析

平台性能通过增大数据量和扩展计算节点两方面进行验证。采用植被干旱指数AWI模型运算验证。AWI模型的计算方式如式(1)所示。完整的计算流程包括AWI指数计算、多幅影像镶嵌、格式转换和结果可视化渲染4个部分。

(1)

首先选取2009年MOD09A1不同覆盖时空范围的影像集依次在8个计算节点上进行计算。如表5所示,这些影像集总的数据量从0.69 GB到1521.55 GB不等,随着数据量的增大,系统的吞吐率总体呈上升趋势,如图12(a),峰值大概为122 MB/s。

表5 实验数据及处理效率

图12 增加数据量和计算节点后的模型的运行情况

然后以2009年中国全年数据(约55.2 GB)验证平台性能随计算节点数的变化情况。每个节点运行一个计算进程,当计算节点从单节点逐个增加到8个时,模型计算加速比速率持续上升,在8节点时取得最大加速比13.2,如图12(b)所示,证明该平台具有良好的遥感信息性能高性能计算能力。

6 结 语

当前遥感信息模型缺乏高效的一体化处理平台。本文提出了一种适用于遥感信息模型的高性能计算平台。该平台配备Lustre集群文件系统以支撑海量遥感数据的存储需求。从存储和应用程序两个角度分析了文件分片对IO性能的影响,根据文件大小设计了不同的OST池集中存储。对遥感数据的划分模式进行了分类和抽象,为MPI并行编程环境提供了数据划分抽象类。上层通过Torque和Karajan工作流实现两级调度,使系统具备自动装配任务,动态管理执行的能力。Torque中加入Maui调度器,提供了灵活的任务调度功能,使系统的资源配置更好地满足用户需求。实验部分该平台运行了三种模型,证明了该平台高效完成计算任务的能力,相对于单节点串行程序,该平台能完成海量数据任务的快速计算。目前实验集群规模较小,数据覆盖较窄,后续在运行中将进一步扩大节点数量,对系统的性能作进一步验证和调整。

[1] 徐冠华,田国良,王超,等.遥感信息科学的进展和展望[J].地理学报,1996,51(5):385-397.

[2] Lee C A,Gasster S D,Plaza A,et al.Recent developments in high performance computing for remote sensing:A review[J].Selected Topics in Applied Earth Observations and Remote Sensing,IEEE Journal of,2011,4(3):508-527.

[3] 杨海平,沈占锋,骆剑承,等.海量遥感数据的高性能地学计算应用与发展分析[J].地球信息科学学报,2013,15(1):128-136.

[4] 周海芳.遥感图像并行处理算法的研究与应用[D].长沙:国防科学技术大学,2003.

[5] 朱志文,沈占锋,骆剑承.改进SIFT点特征的并行遥感影像配准[J].遥感学报,2011,15(5):1024-1039.

[6] 赵颖辉,蒋从锋.遥感影像的高性能并行处理技术研究[J].计算机技术与发展,2014(7):201-205.

[7] PixelGrid V5.0产品[EB/OL].(2013-08-29).[2015-01-06].http://www.bjsiwei.net.cn/ news/2013829/n3278201382916182.html.

[8] 遥感信息计算平台SINCE简介[EB/OL].[2015-01-06].http://www.irsa.cas.cn/jgsz/kyxt/kjxxxtyjs/yjfx/.

[9] 泰坦超算平台Titan SCP[EB/OL].(2014-05-30).[2015-01-06].http://www.otitan.com/independent_content_sub_page.php?pid=34.

[10] 王辉,刘定生,李国庆,等.一种空间信息网格平台的设计与实现[J].遥感信息,2007(3):79-84.

[11] 向彪,李国庆,刘定生,等.高性能遥感卫星地面预处理系统中的任务管理与调度技术研究[J].宇航学报,2008,29(4):1443-1446.

[12] Ma Y,Wang L,Liu D,et al.Generic Parallel Programming for Massive Remote Sensing Data Processing[C]//Cluster Computing (CLUSTER),2012 IEEE International Conference on.IEEE,2012:420-428.

[13] Wang L,Ma Y,Zomaya A,et al.A parallel file system with application-aware data layout policies in digital earth[J].Parallel and Distributed Systems,IEEE Transactions on,2015,26(6):1497-1508.

[14] Wu J,Wyckoff P,Panda D.Supporting efficient noncontiguous access in PVFS over InfiniBand[C]//Cluster Computing,2003.Proceedings.2003 IEEE International Conference on.IEEE,2003:344-351.

[15] 卢丽君,廖明生,张路.分布式并行计算技术在遥感数据处理中的应用[J].测绘信息与工程,2005,30(3):1-3.

[16] ECHO简介[EB/OL].[2015-01-06].https://earthdata.nasa.gov/data.

[17] ECHO Reverb[EB/OL].[2015-01-06].http://reverb.echo.nasa.gov/reverb/.

[18] MODIS产品列表[EB/OL].[2015-01-06].http://modis.gsfc.nasa.gov /data/dataprod/.

[19] MODIS产品详细说明文档[EB/OL].[2015-01-06].http://modis.gsfc.nasa.gov/data/dataprod/ataproducts.php?MOD_NUMBER=01.

[20] Sun,Oracle.Operations Manual for Lustre Version 2.0.[EB/OL].(2011-01).[2015-01-26].http://wiki.lustre.org/manual/LustreManual20_HTML/index.html.

[21] 张钰森,吴庆波,谭郁松.基于Lustre的大规模文件系统拥塞控制算法的研究[J].计算机研究与发展,2011(S1):189-193.

[22] Jackson D,Snell Q,Clement M.Core algorithms of the Maui scheduler[C]//Job Scheduling Strategies for Parallel Processing.Springer Berlin Heidelberg,2001:87-102.

[23] Laszewski G V,Hategan M.Workflow concepts of the java cog kit[J].Journal of Grid Computing,2005,3(3):239-258.

AN AUTOMATED PARALLEL PROCESSING PLATFORM FOR REMOTE SENSING INFORMATION MODELS

Zhang Jing1,2Li Guoqing1Yu Wenyang1

1(KeyLaboratoryofDigitalEarth,InstituteofRemoteSensingandDigitalEarth,ChineseAcademyofSciences,Beijing100094,China)2(UniversityofChineseAcademyofSciences,Beijing100049,China)

There is no mainstream high performance processing platform for remote sensing information models (RSIM) by now. The researches and applications of RSIM still remain to be driven by individual projects with low processing efficiency. By analysing the characteristics of data and processing of current remote sensing field, we proposed an RSIM processing platform which integrates the data storage, model computation and information release in one step. The platform is realised the massive storage capacity, flexible management, automatic and quick computing function of RSIM through designing the storage system, the parallel processing environment and the scheduling system. Experiments show that the platform can achieve fast and efficient processing of RSIM, and has good controllability and applicability.

Remote sensing information modelAutomatic processing platformLustreIO optimisationData partitionTorqueKarajan

2015-02-12。国家高技术研究发展计划基金项目(2013AA12A301);中科院遥感与数字地球研究所“一三五”规划项目(Y3SG0300CX)。张静,硕士生,主研领域:遥感数据服务平台。李国庆,正研级高工。于文洋,高工。

TP302.1

A

10.3969/j.issn.1000-386x.2016.08.024

猜你喜欢
分片集群节点
上下分片與詞的時空佈局
CM节点控制在船舶上的应用
Analysis of the characteristics of electronic equipment usage distance for common users
基于AutoCAD的门窗节点图快速构建
分片光滑边值问题的再生核方法
CDN存量MP4视频播放优化方法
海上小型无人机集群的反制装备需求与应对之策研究
基于模糊二分查找的帧分片算法设计与实现
一种无人机集群发射回收装置的控制系统设计
Python与Spark集群在收费数据分析中的应用