阅读:2745回复:0
大数据处理与并行计算随着对地观测技术的发展,获取到的地理数据越来越精细,而数据量也越来越大,地理数据数据处理与分析的时间耗费就越大。因此,传统的数据处理技术和串行计算技术难以满足高精细地理大数据处理的需求。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 支持并行计算的功能有:栅格分析、水文分析、网络分析、拓扑预处理、叠加分析、空间查询等。
设置线程数目
那么如何设置合理的线程数呢?您可参考一下两条建议进行设置: 1. 指定的多个线程将在计算机处理器所有核之间分配,当线程数目等于处理器总核数时,所有核都参与计算,可以充分利用计算机的计算资源。 2. 线程数目多于计算机核数时,线程调度与负载均衡问题可能会导致占用更多时间,即使分析计算的时间进一步降低,也可能导致整体性能提升不明显。因此不建议这样做。 地理空间分析具有算法逻辑复杂、数据规模大等普遍特点,是一种计算密集、数据密集型功能,通过并行计算可以充分利用多核计算资源,从而大大降低分析时间,提高性能。并行计算的实现为大数据处理提供了强劲有力的支撑。 |
|
最新喜欢:![]() |