面向并行数字地形分析海量dem部署与调度方法

文档序号:6376276阅读:593来源:国知局
专利名称:面向并行数字地形分析海量dem部署与调度方法
技术领域
本发明涉及一种海量数字高程模型数据管理与调度的方法,具体说,是一种基于分布式并行数字地形分析技术与数据并行计算模型的动态数据分配部署方法。
背景技术
数字地形分析是在数字高程模型(DEM)上进行地形属性计算和特征提取的数字信息处理技术。自上世纪60年代以来,数字地形分析已在制图、土木、水利、交通、水文、农业、规划等地学领域得到广泛应用。随着研究的深入和应用领域的扩展,各应用领域给数字地形分析提出了新的要求。同时,各种新型传感器,如LiDAR、InSAR, SAR等的出现,使DEM在数据获取上更加灵活和迅速,网络通讯技术使得各类DEMjBSRTM DEM,USGS DEM得以共享,特别是空间数据基础设施的兴起,区域级DEM的建库工作已相继完成,DEM呈现多比例尺、多分辨率的系列化的特征。面对如此浩瀚的、多元化的DEM数据,如何将其转化为能在社会 经济过程中直接应用的地学信息,并将这些地学信息转化为地学知识,从而推动地学研究和应用的发展,已经成为国内外相关领域研究的主题。这也迫切要求解决在面对如此海量DEM数据时,现有分析方法及硬件资源在计算能力上严重不足甚至是无能为力的问题。并行计算技术为解决这一问题提供了新的思路。并行计算在空间信息科学领域中的应用由来已久,并取得了一些重要成果。但是,人们对DEM数字地形分析的并行处理模式还没有形成统一而有效的认识,没有完整的数字地形分析并行软件;如何运用统一的模式和方法移植和并行化既有的串行DEM数字地形分析算法,传统的分析算法是否都能够进行并行化,如何在并行的环境中实现并行与串行算法与处理模式共用与互操作,这都是摆在众多研究者面前迫切需要解决的问题。数字地形分析是地理信息系统(GIS)软件必备的功能之一,地形因子算法的并行化也是所有与地形相关的复杂地理计算必须考虑的基础要素。数字地形分析并行计算的有效实现是与地形相关的地理建模及复杂地理计算的基础与关键技术问题。目前,众多应用领域对DEM数据分辨率及数字地形分析效率的要求越来越高,相应的研究规模也不断增大,计算资源低利用率和海量数据高分析效率要求之间的矛盾日益突出,归纳起来有以下几点局限性(I)数字地形分析并行计算要解决的关键技术问题包括算法的任务分解、数据的有效拆分及高效融合等。现有数字地形分析的并行处理模式多从单一视角出发,未从整体上对数据、任务、计算环境进行综合考量,也未见有全面探讨三者之间相互关系及量化模型的研究成果,这就使得研究者很难把握处理器负载均衡策略并达到并行效率最大化的目的,也在一定程度上制约了数字地形分析并行技术的发展和应用。(2)数字地形分析算法的特点是计算密集和数据密集兼而有之,已有并行计算环境支持下的研究,多集中在某一个方面处理方法,孤立了 I/o密集和计算密集问题,并未对任务依赖关系、DEM数据块和CPU/GPU处理能力匹配做深入研究。现有的串行算法的并行化需要重点考虑算法依赖关系,由于地形数据的非结构化和计算密集特征,使得任务调度、数据并行平台的搭建等处理相对于结构化数据来说困难得多。(3)在目前基于“数据分块一并行计算一结果合并”的并行计算实施策略中,因为其数据调度模式和计算方法,在计算单元内和基于单一数据集的计算方法并没有本质差异,尚未形成高效、成熟、稳健的CPU/GPU任务分配机制,尤其是在计算过程中,还较少有针对动态数据分块的自适应任务、数据调度策略的研究,包括动态地任务加载、任务计算、任务数量预测等。因此,研究适合不同数字地形分析内容的自适应任务分配策略和动态管理机制将是一个新的挑战。

发明内容
本发明针对以上缺陷,设计了一套新的并行数字高程模型部署与调度的工业技术方案。该技术流程涵盖了具有自适应计算节点性能数据分配技术和负载均衡可达的格网DEM数据调度技术两大关键技术环节,该技术方案能够解决现有并行地形分析算法中DEM低效率管理与调度的问题。·本发明的基本思想是在并行程序初始化与并行程序执行的过程中,完成不同性质算法数据的统一部署与调度,实现格网DEM数据在并行程序的整个过程中有效地减少通信次数并能够满足各类地形分析算法的数据约数关系。在保证并行程序高效率执行的同时,通过最优并行粒度量化体系的相关指标,实现并行粒度的动态控制,从而挖掘并行应用的潜在计算效率。为实现上述发明目的,本发明采用的技术方案如下面向并行数字地形分析海量DEM部署与调度方法,其步骤如下步骤1,初始化并行应用系统的信息;步骤2,各计算节点调用执行并行算法模块,根据本地数据块与缓冲区执行串行算法;步骤3,调用并行数字地形分析控制粒度模块,对并行计算的数据粒度进行统计与更新;步骤4,生成结果文件对并行地形分析应用申请的各种内存进行回收,清空临时内存与无关的外存数据;更新日志文件,统计并记录各节点每次执行不同操作的时间,以便该地形分析算法的重复执行;进行结果融合与后操作,最终输出结果文件。本发明的技术特点及有益效果(I)本发明提出了一套通用的并行地形分析数据部署与调度策略,运用了数据并行策略对不同性质的数字地形分析算法进行并行计算,通过结合缓冲区机制实现了不同依赖程度的算法的正确实行,采用了“数据并行为主,辅助以缓冲区”技术,实现了“不同并行算法,通用数据部署;不同依赖关系,动态数据调度;数据控制粒度,网络环境无关”的并行地形分析海量DEM的部署与动态调度,具有广阔的工业化应用前景。(2)本发明提出了最优并行控制粒度,通过记录每次程序执行的粒度大小与计算时间,对计算效率进行综合量化评价,提升了高性能地学分析的计算效率。该方法具有很好的可行性和稳定性,动态调度策略可望得较为理想的计算效率,有效地缓解了分布式并行计算效率低与通信耗时的瓶颈问题。(3)本发明提出的DEM并行部署模块与并行粒度控制模块可以独立使用,也可以集成使用。使用DEM并行部署模块,快速完成串行算法的并行化与数据调度。而通过最优并行粒度量化体系,可以计算出不同算法的最优并行计算粒度,充分保证海量DEM并行处理的高效率进行。二者具有较高的可移植性,为不同的并行环境提供了参考。在未来复杂多变的异构计算环境下,可用于计算的划分和负载均衡控制,从而提供比传统算法更高的任务执行效率和更好的可移植性。


图I是本发明的初始化工作流程图;图2是DEM数据划分方式,Ca) 一维行划分,(b) 一维列划分,(c) 二维块划分;图3是3乘3邻域型算法数据一维行划分缓冲区示意图;图4是二维块划分时不同子块的缓冲区示意图,其中(a)表示子块的上下左右方位都有缓冲区,(b)表示子块的右方位没有缓冲区; 图5是本发明方法执行的主要流程图;图6是优化粒度算法执行主要流程;图7是结果融合示意图(进程间数据块存在数据依赖关系);图8是生成结果文件的基本流程图;图9是本发明实施例中不同计算粒度下算法的执行时间;图10是本发明实施例中不同计算粒度下洼地填平算法的加速比。
具体实施例方式下面结合附图和具体实例,对本发明作进一步详细说明。本发明中设计和实现的过程中主要的类和接口如表I。表I主要类以及功能
..................................................................涵...................................................................................................................................Si.............................................................
............................................................................_11111
I— I'、rA I t Itvhfj\ 1丨. ζ冲 I < 数据fiif
r<iiHilif t JS
l.ngl· I I eyiioHseiiieri I [ I ft It i5!
PIAl'iiruCnisi执 I r If I r ij;
Ikil'J^crShiirL'走新缓冲^
t'nn t m I,I e Pr I Y:地 1 分 f.'i J'V '! |
ft麵块第一步、并行应用程序的初始化本发明设计了针对各种形式的格网数字高程模型的并行应用程序初始化操作(见图I)。通过该初始化工作流程,各计算节点可以同时获取并行计算环境及DEM的各种参数。
并行应用程序初始化的具体实现过程为(I. a)进入MPI环境,各进程读取全局DEM和并行环境的各种信息,如全局DEM左上角X,Y坐标、无值区的标识值(NOData值)、栅格点间距、栅格点数据类型、全局栅格的总行、列数、当前DEM的波段数、当前进程的进程号与并行环境总的进程数目等。(I. b)调用CMemControl模块,为了最大程度的保证物理内存的充分使用,初始内存限制设定为所有进程可用物理内存的平均值的十分之一,各节点可用物理内存的均值(FreeMem)是
权利要求
1.面向并行数字地形分析海量DEM部署与调度方法,其步骤如下 步骤1,初始化并行应用系统的信息; 步骤2,各计算节点调用执行并行算法模块,根据本地数据块与缓冲区执行串行算法; 步骤3,调用并行数字地形分析控制粒度模块,对并行计算的数据粒度进行统计与更新; 步骤4,生成结果文件对并行地形分析应用申请的各种内存进行回收,清空临时内存与无关的外存数据;更新日志文件,统计并记录各节点每次执行不同操作的时间;进行结果融合与后操作,最终输入结果文件。
2.根据权利要求I所述的面向并行数字地形分析海量DEM部署与调度方法,其特征在于,所述步骤I的具体过程如下 步骤11,在MPI环境,各进程读取全局DEM和并行环境的各种信息; 步骤12,调用内存管理模块,为了最大程度的保证物理内存的充分使用,初始内存限制设定为所有进程可用物理内存的平均值的十分之一; 步骤13,选择数据块划分的类型; 步骤14,根据内存限制、数据块划分类型与栅格数据类型,各计算节点根据内存限制申请内存使用,然后动态地计算各进程第一次需要读取的栅格数据,计算各节点需要的数据块栅格点数; 步骤15,根据地形分析算法对格网DEM的数据依赖程度,设定一定的数据缓冲区;地形分析算法采用邻域型算法或者全局型算法,其中,邻域型算法的并行化是通过设定一定的缓冲区来计算本地数据块边界数据的相应地形因子;全局型算法是通过若干的缓冲区动态地进行交互,实现全局信息的迭代更新; 步骤16,调用日志文件管理模块,将初始化的相关参数、内存申请、计算的数据读取时间与数据划分类型信息写入日志文件。
3.根据权利要求I所述的面向并行数字地形分析海量DEM部署与调度方法,其特征在于,所述步骤3的具体过程如下 步骤31,读取各进程创建的日志文件,统计各进程的执行时间; 步骤32,计算一次地形分析结束后的控制粒度计算效率; 步骤33,从各进程执行第三次数据块的地形分析算法开始,对前两次的粒度计算效率进行比较; 步骤34,如果总的DEM计算尚未结束,主进程向各进程分发新的计算粒度,各进程按照该粒度即总的栅格数目,执行所述步骤2,如果数据全部计算结束,执行所述步骤4。
全文摘要
本发明公开了一种面向并行数字地形分析海量DEM部署与调度方法,其步骤如下第一步是并行应用程序的初始化,各计算节点同时获取并行计算环境及DEM的各种参数;第二步、各计算节点根据本地数据块与缓冲区执行串行算法,在必要时对缓冲区的相应数据进行更新操作;第三步、调用并行计算粒度控制模块,对并行计算的数据粒度进行统计与更新,直到并行计算的效率达到最优;第四步、生成结果文件对并行地形分析应用申请的各种内存进行回收,清空临时内存与无关的外存数据;更新日志文件,统计并记录各节点每次执行不同操作的时间,以便该地形分析算法的重复执行;进行结果融合与后操作,最终输出结果文件。本发明具有广阔的工业化应用前景。
文档编号G06F9/50GK102902590SQ20121032115
公开日2013年1月30日 申请日期2012年9月3日 优先权日2012年9月3日
发明者刘学军, 汤国安, 宋效东, 江岭 申请人:南京师范大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1