一种针对拓扑关系并行计算的矢量目标集均衡划分方法

文档序号:6385955阅读:170来源:国知局
专利名称:一种针对拓扑关系并行计算的矢量目标集均衡划分方法
技术领域
本发明属于并行计算领域,特别是涉及到一种针对矢量目标拓扑关系并行计算的矢量目标集均衡划分方法。
背景技术
拓扑关系是空间目标在延展、移动、旋转等变换下保持不变的一种定性关系,它在空间数据的组织、分析、查询等方面有着十分重要的作用。拓扑关系在空间推理和空间查询上也扮演着非常重要的角色,是地理信息系统的重要内容。随着空间数据量爆炸式的增长,传统的空间关系串行算法已不能满足大规模空间数据分析与需求,亟待利用计算机并行体系架构发展一种并行算法,才能满足大规模矢量目标(空间数据)空间关系快速计算与分析的应用需求。矢量目标拓扑关系并行算法由3部分组成1)多边形目标集的预处理;2)多边形目标集划分;3)多边形目标拓扑关系计算与判断。多边形目标集预处理并行算法的预处理是指对多边形数据进行并行排序,排序的原则是以多边形目标的顶点数为参数进行排序。多边形目标集划分多边形目标集的划分是拓扑关系并行算法的重点和难点问题。影响并行算法的效率的一个重要方面是并行计算过程中的负载均衡。拓扑关系并行算法设计需考虑两方面问题一是矢量目标的空间特性,二是矢量目标集的划分。拓扑关系并行算法为非计算密集型算法,根据其并行算法的特征,对其数据划分可采取相应方法。目前并行算法的矢量目标集划分方法主要有轮转划分法[1]、范围划分法[1_3]、散列划分法[1’4]、混合划分法[1’5]、空间曲线划分法[6’7]等,但这些已有划分方法都不能针对拓扑关系算法的特点来保障拓扑关系并行算法中各进程的任务负载均衡,影响了计算效率。因此,本发明针对拓扑关系算法的特点,设计了新的划分方法,实现了对大规模矢量目标集的拓扑关系计算负载均衡,提高了矢量目标空间关系计算的效率。参考文献[I]赵春宇.高性能并行GIS中矢量空间数据存取与处理关键技术研究[D].武汉武汉大学,2006.[2]Ann Chervenak, Ian Foster, Carl Kesselman, Charles Salisbury,Steven Tueck. The data grid Towards an architecture for the distributedmanagement andanalysis of large scientific datasets[J]. Journal of Network andComputerApplication. 2000,23 :187 200.[3]http://docs. oracle, com/cd/B28359_01/server. 11l/b32024/partition.htm[4] Chengwen Liu, Hao Chen, A Hash Partition Strategy for Distributed QueryProcessing[C],the 5th International Conference on ExtendingDatabaseTechnology(EDBT),Avignon, France,1996,1057 :371-387.[5]Shahram Ghandeharizadeh, David J. DeWitt, Hybrid-range partitioningstrategy a new declustering strategy for multiprocessor databases machines[C],Proceedings of the sixteenth international conference on Very large databases,Brisbane, Australia,1990,481-492[6]王永杰孟令奎赵春宇.基于Hilbert空间排列码的海量空间数据划分算法研究[J].武汉大学学报信息科学版,2007, 32 (7) :650 653.[7]田光.并行计算环境中矢量空间数据的划分策略研究与实现[D].中国地质大学,2011.

发明内容
(一)算法步骤本发明提供了一种针对拓扑关系并行计算的矢量目标集均衡划分方法。据其拓扑关系并行计算特点,本发明采用·了顾及目标数量的矢量目标集均衡划分方法将目标集划分至不同进程,使拓扑关系并行计算各进程任务均衡(如图1所示)。1.顾及目标数量的矢量目标集均衡划分方法(以下简称均衡划分法)矢量目标拓扑关系(点目标拓扑关系、线目标拓扑关系和面目标拓扑关系)并行计算属于非计算密集型算法,其在并行计算中主要的计算资源消耗是判断矢量目标的最小包围矩形是否相交,拓扑计算只消耗小部分计算资源。因此,矢量目标集划分的重点不是要关注矢量目标的几何复杂性,而是要重点关注各进程中矢量目标数量的均衡。均衡划分法根据进程数P将矢量目标集(数量η)均衡地划分为P份,各个进程得到η/ρ个矢量目标集。具体过程如图2所示I)矢量目标集中对象数量为η,根据矢量目标集中对象的顶点数(图2Α中的数字为对象顶点数Vi)按照(式I)计算各矢量目标的权值Wi,各进程依据对象的权值采用排序算法对矢量目标集进行序列化(如图2Β);Wi = f (Vi) (I ^ i ^ η)式 I2)每次分配的矢量目标子集数量为I (O < I彡|n/(kXp) | ,2彡k < n/p,且k为偶数),已分配对象集的次数为m(0彡m彡k);3)按照矢量目标集序列化的顺序,每次将P个数量为I且序列号相邻的子矢量目
标集Sm{sml, sm2, sm3, ......,sm(pX1)}(即pX I个对象)分配到不同进程,若m为奇数,则分配
的顺序是S1 — Spxl,若为偶数则分配的顺序为Spxl — Sl。此分配方式重点是顾及各进程中对象数目均衡,也顾及到了矢量目标的几何复杂度(顶点数)均衡(因为矢量目标集是依据权值Vi排序,奇数次与偶数次分配时顺序相反,如式2中所示进程P1第m次分配为Smi,第m+1次分配的为S(m+1) (ρΧΗ),进程p2第m次分配为S+m),第m+1次分配的为S(m+1)i,则各进程分配的矢量目标集几何复杂度基本均衡),如图2C ;Smi+S(m+1) (ρχι- ) Sm(pX1_i)+S(^1)i 式 24)将最后不足P个数量为I的矢量目标集(数量为n-mXpXl),将其按照2)步骤均衡划分给各进程,直至所有的矢量目标都划分至各进程(二)有益效果1、利用本发明,针对拓扑关系算法特点采用顾及目标数量的矢量目标集均衡划分方法,将矢量目标集均衡划分至不同的进程,使进程间的任务实现负载均衡,提高了并行计算效率,其并行效率大于60% ;2、利用本发明,采用单机多核、众核级高性能集群硬件环境,可开发高性能并行计算软件,实现对海量空间数据进行高效空间关系分析。


图1拓扑关系并行算法特点及其对应矢量目标集的划分方法图2顾及目标数量的矢量目标集均衡划分方法图3应用均衡划分方法案例的矢量目标集
具体实施例方式针对拓扑关系并行计算的矢量目标集划分方法,以下提供案例对本发明进行说明。(一 )顾及目标数量的矢量目标集均衡划分方法案例本发明利用均衡划分法把数据分配到不同进程,计算矢量目标之间是否有重叠(拓扑关系中的一种),并输出查询得到的空间目标ID。本案例的矢量目标集为某地区691,442块宗地(有4,417,571个点),如图3所示(其中图3A为案例中所用宗地块集,而图3B显示宗地块的复杂度)。I)计算空间拓扑关系的矢量目标集为DataSet,矢量目标集包含对象的数目为N=691,442 个;2)设各矢量目标的权值Wi = f (Vi)(其中权值函数f (Vi) = Vi),即以矢量目标的顶点数为权值;3)将DataSet中对象采用正则排序算法按照权值从大到小进行序列化,;4)根据进程数P,采用均衡划分法将DataSet矢量目标集划分到不同进程,每个进程分配数据的量为subDataSet,且各子矢量目标集包含对象数为691,442/P,WP = 4、每次分配691,442/ (2 XP)、分配两次为例第一次分配,进程O中分配的subDataSet矢量目标数为86,430个(I≤ID≤86,430,ID为对象的序列号),进程I中分配的subDataSet矢量目标数为86,430(86,431 ^ ID ^ 172,860),进程2中分配的subDataSet矢量目标数为86,430 个(172,861 ^ ID ^ 259,290),进程 3 中分配的 subDataSet 矢量目标数为 86,430个(259,291 ^ ID ^ 345, 720);第二次分配,进程O中分配的subDataSet矢量目标数仍为86,430个¢05,011 ^ ID ^ 691,440),进程I中分配的subDataSet矢量目标数仍为86,430(518, 581 ^ ID ^ 605,010),进程 2 中分配的 subDataSet 矢量目标数仍为 86,430个(432,151 ^ ID ^ 518,580),进程3中分配的subDataSet矢量目标数仍为86,430个(345,721 ^ ID ^ 432,150);最后,划分剩余的2个矢量目标至进程O、进程I。最终,进程O的矢量目标数量为172,861,进程I的矢量目标数量为170,861,进程2的矢量目标数量为170,860,进程3的矢量目标数量为170,860 ;5)每个进程DataSet中的矢量目标与subDataSet矢量目标计算空间拓扑关系,回收所有进程得到的 结果,其宗地重叠有53处,表I中的结果就是基于均衡划分法的矢量拓扑关系并行计算,其加速效果明显,运算消耗时间随着进程的增多而减少,极大提高了拓扑关系计算效率,加速比在8个进程时能达到5. 33。
表I基于均衡划分法的矢量拓扑关系并行计算结果
权利要求
1.一种针对拓扑关系并行计算的矢量目标集划分方法,其特征主要在于 针对拓扑关系并行计算并顾及目标数量的矢量目标集均衡划分方法;根据权利要求1所述对于针对拓扑关系并行计算并顾及目标数量的矢量目标集均衡划分方法,其特征在于,包含以下2个特征 .1)以各矢量目标顶点数(Vi)为权值(Wi)的参数(Wi= f (Vi) (1≤i≤n) ,n为矢量目标数目),根据各矢量目标的Wi大小对矢量目标集进行序列化,划分数量相同的矢量目标子集至各进程,使进程间的任务负载均衡。
.2)在分配的过程中,根据分配次数m的奇偶性,将矢量目标集SmIs1,s2, S3,……,sp}分配到不同进程;若m为奇数,则分配的顺序是Sl —sp (即权值从大到小(或从小到大));若m为偶数,则分配的顺序为Sp — S1 (即权值从小到大(或从大到小))。
全文摘要
本发明公开了一种针对拓扑关系并行计算的矢量目标集划分方法。矢量目标拓扑关系并行计算属于非计算密集型算法,其并行计算中主要的计算资源消耗是判断矢量目标间最小包围矩形是否相交,而拓扑计算只占小部分计算资源。因此,矢量目标划分的重点不是顾及矢量目标的几何复杂性,而是考虑各进程中矢量目标数量的均衡。针对矢量目标拓扑关系并行计算采用高效的均衡划分法分配数据至各进程,使进程间矢量目标数量均衡即任务负载均衡。利用本发明可实现进程间计算负载高度均衡,进而提高算法效率,为单机多核、众核和高性能集群环境的海量数据的拓扑关系软件的开发与服务提供一种高效的矢量数据划分方法。
文档编号G06F9/48GK103049322SQ20121058637
公开日2013年4月17日 申请日期2012年12月31日 优先权日2012年12月31日
发明者吴立新, 杨宜舟, 郭甲腾 申请人:吴立新, 杨宜舟, 郭甲腾
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1