高性能GIS研究进展及评述

左尧,王少华,钟耳顺,蔡文文

1. 北京超图软件股份有限公司,北京 100015;2. 超图地理信息技术研究所,北京 100015;3. 中国科学院地理科学与资源研究所,北京 100101

论文来源:《地球信息科学学报》第19卷 第4期

摘要:互联网技术的发展使地理信息技术得到了前所未有的发展和应用,地理信息计算呈现出计算速度快、运行效率高、应用多样化的发展特征。而随着计算机硬件性能飞速提升,传统的 GIS 数据处理方式并不能与之匹配,各种缺陷与弊端逐渐显现,亟待更高效的数据处理方式。

关键词: 高性能GIS,高性能GIS算法,并行GIS计算,内存计算,众核计算,GIS云计算

1 引言

互联网时代来临,使地理信息技术得到前所未有的应用、推广和发展,地理信息计算呈现出计算速度快、运行效率高、应用多样化的发展特征。随着计算机技术的发展,以分布式、并行化为代表的高性能计算技术正逐渐融入到地理信息领域,如何利用高性能计算的新型硬件体系结构带来的计算性能提升,解决现有时空数据密集、计算密集和通讯密集问题成为 GIS 领域的热点问题[1-4]。为此,基于并行集群计算技术等的高性能计算[5-9],研究新一代高性能 GIS 系统十分重要。它可以有效地为时空大数据集存储、可视化、空间分析和数据服务带来新的解决方案。

高性能计算是基于一组或几组计算机系统组成的集群,通过网络连接组成超级计算系统以加强数据处理、分析计算性能的一种技术[10-12]。而高性能 GIS 则利用高性能计算的理论体系、技术架构和数据模型等对 GIS 已有的性能进行扩充和增强,从而方便、快捷地实现海量空间数据的高性能读写,使 GIS 系统更高效地为地理空间信息科学领域中的计算、数据、通信密集型的科学问题的解决提供技术支撑[13-17]。其高性能表现在:更庞杂的地理空间数据计算,更复杂、多类型的 GIS 模型与算法,处理时间更短[18-21]。

目前,主流的 3 大分布式计算系统包括 Ha-doop,Spark 和 Storm[22-25]。Hadoop 基于 MapReduce分布式计算框架,其核心技术在于通过分布式架构实现性能提升。而 GIS 空间分析常常需要对研究区进行空间划分,进一步细划为地貌特征更加统一的计算单元,利用 Hadoop 的分布式特性及 MapRe-duce 分布式存储,可极大地提高 GIS 空间分析性能[26-27]。但由于存储硬件条件的限制,在处理更新快速的 GIS 模型时,则稍显不足。Spark 是另一种重要的分布式计算系统,它基于分布式存储集(RDD)的概念,利用计算机内存来存储数据,因而具有更快速的数据读写功能[28]。相比于 Hadoop, Spark 的优势在于仅需导入一次数据即可实现多次迭代运算,具有更快的运行效率;缺点在于不适合处理需要长时间保存的数据,如果计算环境发生电力中断故障,即会造成数据丢失。Storm 并不直接收集数据,而是通过网络节点实现数据传输、处理。其优势在于处理流式数据时,无需进行数据收集和作业调度,而可以直接进行分析,更适应在线的实时GIS大数据处理[29-30]。

2 研究现状

当前 GIS 发展的重要趋势是服务化、云端一体化,亟待研发高效的高性能 GIS 关键技术[31-32]。其中,分布式并行技术的应用显著提高了 GIS 空间分析效率,随着内存计算、高性能算法等先进技术的不断进步,大大加速了高性能 GIS 技术体系的发展[33-34]。此外,二三维一体化也是当前 GIS 发展的一大趋势。随着硬件成本降低,显卡性能提升,众核技术的应用加速了三维 GIS 的发展[35-36]。因此,本研究将主要从高性能 GIS算法、并行GIS计算、内存计算和众核计算4个方面对高性能 GIS 的发展进行总结和归纳(图1)。

2.1 高性能GIS算法

高性能技术出现不久,就开始应用于地理信息领域[37-39]。作为高性能并行 GIS 系统中的一个重要的组成部分,高性能 GIS 算法基于利用向量机和并行计算技术形成的高性能计算系统,对海量地理空间数据进行实时处理的空间算法,使原本难以计算的全球尺度、长时间尺度的地理空间现象分析模拟得以实现。已有许多学者开始了相关技术研究,如Turton 等[40]研究了职工上下班交通数据分析,原本在工作站需要运行 91 h的双约束地理计算模型,在内存共享模型中执行并行计算后仅需 3 min,极大地提高了效率。

随着 IT 技术的不断进步,高性能 GIS 算法的研究主要分为2个方面:① 对已存在的高密度计算进行并行化处理,利用高性能 GIS 技术对全局性的海量时空数据进行地学分析和推演,探索构建新的空间模型等;② 探索新的空间分析方法,并不断赋予新的内涵。具有代表性的空间分析算法有:神经网络模型、遗传算法模型、元胞自动机模型等[41-45]。这2 个方面各有侧重,前者侧重于从技术层级提供计算行的优化处理,提升运行效率;后者则通过模型、算法,进一步寻找更加高效、便捷的空间分析方法,通过专业地理信息领域模型达到提高分析效率的目的。

以往,高性能计算常常需要一台高 CPU、大容量的计算机完成大量计算,这样势必繁琐。近年来,研究人员开始基于一组或几组计算机组成的高性能计算机集群,计算机之间通过网络进行连接,对海量 GIS 数据进行并行处理和高性能计算,增加了部署的灵活性。基于 MapReduce 计算架构的Hadoop 有简洁的并行计算模型,可对原本串行算法进行快速改造,以适应并行计算等高性能算法[46-47]。目前,这方面研究主要集中在 GIS 空间分析算法上。例如,Cary 等[48]基于 MapReduce 实现了部分GIS 算法,并构建了R树;Chen 等[49]基于 Hadoop 研究设计实现了高性能地理计算框架。这些研究方法为进一步开展高性能算法研究提供了参考。

在并行空间数据结构组织方面,高效的空间数据划分策略有助于合理的空间数据组织存储,可大大提升空间分析的性能。


更多内容请点击下方的PDF下载