⼤数据处理与并⾏计算 ⼤数据处理与并⾏计算 随着对地观测技术的发展,获取到的地理数据越来越精细,⽽数据量也越来越⼤,地理数据数据处理与分析的时间耗费就越⼤。因此,传统 的数据处理技术和串⾏计算技术难以满⾜⾼精细地理⼤数据处理的需求。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 ⽀持并⾏计算的功能有:栅格分析、⽔⽂分析、⽹络分析、拓扑预处理、叠加分析、空间查询等。 栅格分析:栅格分析功能模块中⽀持并⾏计算的功能有:插值分析、提取等值线、提取等值⾯、坡度分析、坡向分析、栅格填挖⽅、⾯填挖 ⽅、反算填挖⽅、表⾯⾯积量算、表⾯体积量算、查找极值、⽣成三维晕渲图、⽣成正射三维影像、单点可视域分析、多点可视域分析、栅 格重采样、栅格重分级、栅格聚合等。 ⽔⽂分析:⽔⽂分析功能模块中的所有功能都⽀持并⾏计算,即填充洼地、流向分析、计算累积汇⽔量、计算流长、计算流域盆地、⽣成汇 ⽔点栅格、流域分割、河流分级、连接⽔系、提取⽮量⽔系都⽀持并⾏计算。 ⽹络分析:⽬前,⽹络分析模块中最佳路径分析、最近设施查找、旅⾏商分析和物流配送等四个交通⽹络分析功能⽀持并⾏计算。 拓扑:拓扑功能模块中的拓扑预处理⽀持并⾏计算。但是,拓扑预处理中的"调整多边形⾛向"处理不⽀持并⾏计算。如果只进⾏该项预处 理,修改线程数不会降低分析时间。 叠加分析:对线⾯叠加分析都⽀持并⾏计算,包括线⾯的裁剪、擦除、合并、相交、同⼀、对称差、更新。 空间查询:⾯对象的包含和求交查询⽀持并⾏计算。 设置线程数⽬ 线程数⽬的设置有两种⽅式,⼀种是直接在"环境"对话框中设置;另⼀种是修改配置⽂件。具体设置⽅式如下: l. 单击"⽂件"按钮,在菜单中选择"选项",在弹出的"SuperMap iDesktop 8C选项"对话框的"环境"设置页⾯中,直接设置"并⾏ 计算线程数"即可; 2. 系统配置⽂件 SuperMap.xml 中的节点⽤于指定线程数⽬,初始值为 2。SuperMap.xml 位于组件产品安装⽬录\Bin ⽂件夹下。例 如,设置线程数⽬为 4,则配置⽂件应修改为: 4。 应⽤程序启动时会优先读取配置⽂件中的线程数,若在"并⾏计算线程数"处修改了线程数,则会⽴即⽣效,同时会⾃动修改配置⽂件中的 值;⽽配置⽂件中的线程数⽬只在应⽤程序启动时被读取⼀次,⼿动修改配置⽂件后,需要重新启动应⽤程序才能⽣效。线程数⽬的有效范 围为 1-16。如果配置⽂件中的线程数⽬超出范围,则设置⽆效,使⽤默认值 2;如果在"并⾏计算线程数"处设置的值⼤于16,则设置的 值会⾃动调整为16。 那么如何设置合理的线程数呢?您可参考⼀下两条建议进⾏设置: 1. 指定的多个线程将在计算机处理器所有核之间分配,当线程数⽬等于处理器总核数时,所有核都参与计算,可以充分利⽤计算机的计 算资源。 2. 线程数⽬多于计算机核数时,线程调度与负载均衡问题可能会导致占⽤更多时间,即使分析计算的时间进⼀步降低,也可能导致整体 性能提升不明显。因此不建议这样做。 地理空间分析具有算法逻辑复杂、数据规模⼤等普遍特点,是
2024-02-20 10:49:34
343KB
文档资料
1