地信行业我知道
路人甲
路人甲
  • 注册日期2015-10-31
  • 发帖数21
  • QQ
  • 铜币21枚
  • 威望21点
  • 贡献值0点
  • 银元0个
阅读:2601回复:0

大数据处理与并行计算

楼主#
更多 发布于:2015-11-25 15:03
随着对地观测技术的发展,获取到的地理数据越来越精细,而数据量也越来越大,地理数据数据处理与分析的时间耗费就越大。因此,传统的数据处理技术和串行计算技术难以满足高精细地理大数据处理的需求。SuperMap 支持并行计算,有效的提高了大数据处理的效率。
并行计算原理
并行计算是将一个任务分解成若干个小任务并协同执行以完成求解的过程,是增强复杂问题解决能力和提升性能的有效途径。并行计算可以通过多种途径实现,包括多进程、多线程以及其他多种方式,SuperMap是通过多线程方式实现并行计算的,可充分和更加高效地利用多核计算资源,从而降低单个问题的求解时间,节省成本,也能够满足更大规模或更高精度要求的问题求解需求。
下图对比了串行与并行两种计算方式。当一个任务被划分为 A、B、C 三个子任务时,串行需要依次执行三个子任务,而多线程并行则可以通过三个线程同时执行三个子任务。

图1:并行计算示意图
下图是在并行计算支持下,一台普通的四核计算机上某次执行“提取等值线”分析时 CPU 的使用情况。当使用 1 个线程分析时,CPU 利用率较低,只有一个 CPU 参与运算,当设置并行线程数为 4 时,所有四个 CPU 核心都参与运算,CPU 利用率最高可达 100%。
图2:CUP使用率
下面通过一个生成三维晕渲图的实例,对比多线程并行计算和单线程计算的操作时间。本实例应用的数据为某地区的DEM数据数据行列数为15000*20000,数据量大小为884M,分别对其进行三维晕渲图操作,使用单线程的SuperMap iDesktop8C进行分析需要80秒(如下图3所示),而通过并行计算只需15秒即可完成同样的操作(如下图4所示):
图3:单线程分析

图4:并行计算
通过上述实例可知,同样的数据处理通过并行计算可节省3-5倍的时间,大大的节省了时间成本,提高了分析的性能及工作效率。

图5:并行计算与单线程耗时对比图
支持并行计算的功能
目前,SuperMap 支持并行计算的功能有:栅格分析、水文分析、网络分析、拓扑预处理、叠加分析、空间查询等。
  • 栅格分析:栅格分析功能模块中支持并行计算的功能有:插值分析、提取等值线、提取等值面、坡度分析、坡向分析、栅格填挖方、面填挖方、反算填挖方、表面面积量算、表面体积量算、查找极值、生成三维晕渲图、生成正射三维影像、单点可视域分析、多点可视域分析、栅格重采样、栅格重分级、栅格聚合等。
  • 水文分析:水文分析功能模块中的所有功能都支持并行计算,即填充洼地、流向分析、计算累积汇水量、计算流长、计算流域盆地、生成汇水点栅格、流域分割、河流分级、连接水系、提取矢量水系都支持并行计算。
  • 网络分析:目前,网络分析模块中最佳路径分析、最近设施查找、旅行商分析和物流配送等四个交通网络分析功能支持并行计算。
  • 拓扑:拓扑功能模块中的拓扑预处理支持并行计算。但是,拓扑预处理中的“调整多边形走向”处理不支持并行计算。如果只进行该项预处理,修改线程数不会降低分析时间。
  • 叠加分析:对线面叠加分析都支持并行计算,包括线面的裁剪、擦除、合并、相交、同一、对称差、更新。
  • 空间查询:面对象的包含和求交查询支持并行计算。


设置线程数目
  • 线程数目的设置有两种方式,一种是直接在“环境”对话框中设置;另一种是修改配置文件。具体设置方式如下:单击“文件”按钮,在菜单中选择“选项”,在弹出的“SuperMap iDesktop 8C选项”对话框的“环境”设置页面中,直接设置“并行计算线程数”即可;
  • 系统配置文件 SuperMap.xml 中的节点用于指定线程数目,初始值为 2。SuperMap.xml 位于组件产品安装目录\Bin 文件夹下。例如,设置线程数目为 4,则配置文件应修改为: 4。
应用程序启动时会优先读取配置文件中的线程数,若在“并行计算线程数”处修改了线程数,则会立即生效,同时会自动修改配置文件中的值;而配置文件中的线程数目只在应用程序启动时被读取一次,手动修改配置文件后,需要重新启动应用程序才能生效。线程数目的有效范围为 1-16。如果配置文件中的线程数目超出范围,则设置无效,使用默认值 2;如果在“并行计算线程数”处设置的值大于16,则设置的值会自动调整为16。
那么如何设置合理的线程数呢?您可参考一下两条建议进行设置:
1.     指定的多个线程将在计算机处理器所有核之间分配,当线程数目等于处理器总核数时,所有核都参与计算,可以充分利用计算机的计算资源。
2.     线程数目多于计算机核数时,线程调度与负载均衡问题可能会导致占用更多时间,即使分析计算的时间进一步降低,也可能导致整体性能提升不明显。因此不建议这样做。
地理空间分析具有算法逻辑复杂、数据规模大等普遍特点,是一种计算密集、数据密集型功能,通过并行计算可以充分利用多核计算资源,从而大大降低分析时间,提高性能。并行计算的实现为大数据处理提供了强劲有力的支撑。
喜欢1 评分0

最新喜欢:

1743056196174305...
游客

返回顶部