山东科威数控机床有限公司铣床官方网站今天是:2025-06-16切换城市[全国]-网站地图
推荐产品 :
推荐新闻
技术文章当前位置:技术文章>

面向遥感图像处理算法的快速并行化编程模板方法

时间:2025-06-15    作者: 管理员

专利名称:面向遥感图像处理算法的快速并行化编程模板方法
技术领域
本发明涉及遥感数据处理技术领域,特别涉及一种面向遥感图像处理算法的快速 并行化编程模板方法。
背景技术
随着遥感技术的发展与广泛应用,遥感对地观测数据量正以每日TB级的速度增 长,地学计算所要解决的问题也越来越复杂。然而后由于遥感数据具有多波段结构和几何 特性,使处理算法存在重复计算性,因而具有天然的内在并行性。因此,基于机群架构的高 性能并行计算技术已成为解决大数据规模和复杂算法带来的超大计算量问题的常用手段。目前并行遥感数据处理算法的并行策略通常具有一定的针对性,其中算法中的数 据分布方式、负载均衡策略等都只是针对某个具体算法而设计的。每增加一个处理算法, 则需要针对性的研究其并行化方法,并进行并行编程实现。而且并行算法开发需要一定 的并行体系结构及消息传递接口(MPI)并行编程知识,这对于地学领域专家来说也是个 难题。尤其随着多核技术的普遍,如何充分利用多核处理器的性能,针对多核中芯片内部 (intra-chip),芯片间(inter-chip)与节点网络性能之间性能差异对并行算法模型进行 优化,以及针对I/O性能瓶颈问题进行优化问题也都不是遥感领域专家所擅长的。因此,如 何提供一种遥感处理算法的快速自动并行化方法将是一个迫切需要解决的问题。而事实上,大多遥感数据处理算法在并行化上存在一定的共性,可以共享一个并 行模式,数据分布策略或负载均衡策略。因此,通过建立于某种遥感处理算法相对应的可重 用并行算法编程模型,并在模型中针对多核和I/O性能进行优化,进而提供一种能够进行 遥感处理算法的快速自动并行化方法将可使得领域专家从复杂繁琐的并行编程中解脱出 来。

发明内容
本发明的目的是提供一种面向遥感图像处理算法的快速并行化编程模板方法,通 过构建编程模板库,并类继承编程模板,能够自动加载相应的遥感图像并行处理流程,自动 进行数据/任务划分、数据通信和负载调度,使之在多结点、多核上并行执行,解决遥感处 理算法的快速并行化实现问题。本发明的目的是通过以下技术方案来实现—种面向遥感图像处理算法的快速并行化编程模板方法,包括以下步骤1)提取遥感图像并行处理模型,根据计算与数据的局部相关性,如局部相关、波段 间相关或全局相关,分析这种重复计算特性并进行算法分类,在算法分类的基础上,为每类 算法归纳并定义出公共的并行遥感图像处理算法流程、结点间数据通信和交互方式,并为 其设计通用的数据/任务划分策略和节点间动态调度策略,最终提炼出相应的遥感图像并 行处理模型,在这些模型中,其数据/任务划分策略在结点间数据划分的基础上,可针对多 核架构进行二次划分,充分利用多核并行性;其并行算法处理流程上,充分利用I/O预取策
3略调整并行流程,使I/O和计算充分重叠,对模型进行优化;2)构建快速并行化编程模板库,快速并行化编程模板库,基于MPI并行计算环境, 以及遥感数据对象并行存储系统(HPGFS)提供的高速并行I/O和地理信息访问转换接口, 利用MPI和多线程技术(pthread)将以上遥感图像并行处理模型实现并固化到相应的编程 模板中,其构建方法如下首先,使用软件设计模式对上述遥感图像并行处理模型中并行处理流程的基本处 理步骤进行接口抽象设计,每个遥感图像并行处理模型被抽象为一个并行编程模板类;模 型中并行处理流程的各个基本并行处理步骤也被抽象为该模板类中相应的操作接口(函 数接口);最终,模型中的并行处理流程,即各个基本处理步骤的计算流程和逻辑,映射为 编程模板类中相应的各个操作接口的调用流程和逻辑,此流程和逻辑被固化到模板类的主 函数操作接口中;其次,利用MPI和多线程技术(Pthread)对编程模板类中的各个操作接口进行 并行实现,利用MPI编程语言实现编程模板类中多计算结点间的并行计算和结点通信; Pthread多线程实现计算结点内的多核并行处理,并通过I/O预取策略,使得计算和I/O充 分重叠;利用HPGFS的基于通用并行文件系统的MPI-I0接口提供全局文件镜像及并行I/O 支持,避免数据分发和回收及节点间频繁的数据交互,对I/O性能和并行流程进行优化;使 用HPGFS的地理信息访问和操作接口,简化并行处理过程中地理信息的管理和转换,此外, 并行模型中设计的数据划分策略、动态调度策略等也实现固化在模板类中;最后,将编程模板类封装成并行化编程模板库,利用软件设计模式对并行编程模 板库进行可扩展设计,使其具有开放架构,该模板库中设计一个编程模板类的父类,扩展 该父类可派生出多个并行化编程模板类,并对并行程序中的所有基本参数和私有参数进行 管理,将上述这些并行化编程模板类封装到具有开放架构的快速并行化编程模板库,以库 (lib)形式提供可快速进行遥感图像处理算法并行化的通用编程开发包。3)继承并行化编程模板,利用类继承的编程思想,在用户处理程序中继承上述快 速并行化编程模板库中指定的模板类,便可自动加载该模板类所实现的并行处理模型,即 加载遥感图像并行处理流程,数据/任务划分策略、数据通信模式、负载调度策略,随后在 用户程序中载入串行处理算法模块,经过编译可自动将串行程序转化为并行目标程序,运 行该并行目标程序,即可将这些算法模块自动分配到多个计算结点,以及结点内的多核处 理器上并发地执行,并进行自动数据/任务划分、自动数据通信交互、自动负载调度,从而 实现遥感处理算法的快速并行化。本发明的有益效果为遥感应用领域技术人员,无需熟悉高性能计算平台上基于 机群的并行计算模型、也无需具备MPI并行编程技术等与高性能并行计算相关的技术细 节,只需要通过简单的类继承方法,继承该模板库中指定的遥感图像并行处理模型,并加载 用户自行开发的串行算法程序,便可实现遥感处理算法的快速并行化,并达到较高的并行 效率,从而大大提高大规模遥感数据的处理性能。


下面根据附图对本发明作进一步详细说明。图1为本发明实施例所述的面向遥感图像处理算法的快速并行化编程模板方法的示意图;图2为本发明一个并行化编程模板库结构示意图;图3为本发明中纯数据并行计算模型的示意图;图4为本发明中全局信息计算并行模型示意图;图5为本发明中的并行编程模板类关系示意图;图6为本发明实施中纯数据并行编程模板类的类图;图7为本发明实施过程示意图;图8为本发明实施结果并行算法主程序的程序目录结构。
具体实施例方式如图1-8所示,本发明实施例所述的一种面向遥感图像处理算法的快速并行化编 程模板方法,包括以下步骤1)提取三种典型遥感图像并行处理模型根据算法的重复性计算特点归为三类像素重复运算、局部区域重复运算、波段间 重复运算和全局信息类运算,并提炼出三种较为典型的并行计算模型,包括纯数据并行模 型、波段相关数据并行模型、全局信息计算并行模型。纯数据并行模型主要针对具有局部区域重复计算性的算法,其输出图像可由输 入图像中某个像素或局部区域内像素的独立运算得到,适合图像运算,辐射/几何校正,图 像增强等算法。该模型的并行处理流程如图3。主节点完成参数获取、结果图像范围计算、 数据/计算任务划分及节点间计算任务动态调度;从节点不断从主节点获取子任务,并进 入由I/O数据读取、多个核心处理算法功能、数据输出操作等组成的多级流水线中,流水线 各级映射到多个线程中执行,各线程通过共享环形缓冲区(buffer)在内存空间交换数据。 该模型中利用多线程技术充分发挥内核线程级并行,且使用数据预取策略,使I/O与计算 充分重叠。波段相关数据并行模型主要针对具有波段间重复计算特性的算法,既输出图像 的某像素或区域的计算由多个波段的共轭点或区域共同参与运算。这类算法的数据并行性 和计算的数据局部性也较好。适合图像变换、图像融合、波段配准等算法。该并行模型也采 用任务池并行主要并行处理流程与纯数据并行模型大体相同,区别在于任务划分时与波段 数无关,在核心模块处理数据块时中多个波段对应的数据块一起参与计算。全局信息计算并行模型针对信息计算类遥感算法,并行计算流程中间或结尾中 涉及全局计算,如图像分类、直方图规定化等。全局信息计算并行模型的并行处理流程如 图4,主节点完成参数获取、数据/计算任务划分、节点间的计算任务动态调度;从节点循环 从主节点获取子任务,并进入由I/O数据读取、多个核心处理算法功能、计算结果回收等组 成的多级流水线中,流水线各级并发执行;完毕后,所有计算节点同步对回收的计算结果进 行全局处理;最后若无随后的计算处理则整个计算流程结束,否则,则启动另一个流水线处 理阶段,最终输出计算结果信息或者结果图像数据。2)构建并行编程模板库该并行编程模板库的模板类设计如图5所示。编程模板中抽象了一个编程模 板父类ImgProcessingParallel,数据类型ProcessingParam负责算法基本参数和私有参数的管理。通过对以上三种并行处理模型进行接口抽象设计,并继承模板父类,得到纯数据并行编程模板类ImgProcessingDataParallel,波段相关数据并行编程模板类 ImgPrοcessingBandRe 1 atedPara 11 e 1 和全局信息计算并行编程模板类 ImgProcessingGlo balParalIelNoImg0每个并行处理模型的各个基本并行处理步骤也被模板化为相应模板类中的 操作接口(函数接口),整个并行算法流程也固化在主操作函数接口中。如纯数据 并行编程模板类(如图6),将模型并行算法流程中各个基本处理步骤模板化为模板 类 中 GetInitParam()、GetScopeOfDesImage()、SplitDesImage()、LoadBalance()、 GetScopeOfSrcBlock ()、ReadSrcBlock ()、BlockProcessing () ^ffriteDesBlock ()等操作接 口,并利用MPI和Pthread并行实现。而在主函数接口 ImgProcessing ()调用这些操作接 口(对应并行处理模型中的基本处理步骤)实现并固化整个并行处理流程。此外,将并行 处理模型中的数据/任务划分策略、动态调度策略也固化在模板类中。最后,将这些编程模 板类封装打包,以库(lib)形式提供通用并行化编程模板库开发包。3)继承并行编程模板类通过继承编程模板库中的并行编程模板类,即可加载指定的遥感图像并行处理模 型,从而实现遥感处理算法的快速并行化,其具体快速并行化实施流程如图7所示。首先,要根据具体算法明确提出所需的外部参数,这些参数包括被处理对象的 输入输出结果路径、图像大小,以及其他需要从外部传入的参数等,并行程序完成后系 统将自动根据这些参数生成为该并行算法生成XML参数文件。其次,根据经验选定需 要继承的并行模板类。再次,按图8中的并行算法主程序的程序目录结构构建和编写用 户程序,并在ImgProcessingParallellmp.h中申明要使用的并行编程模板,即实现类 ImgProcessingParallellmp继承选定的编程模板类。而后,加载用户核心功能函数,即在 ImgProcessingParallellmp. cpp中重载BlockProcessing方法,并在i亥方法中i周用用户编 写的串行核心算法功能函数。最后,进行联合编译、执行。遵循这一流程即可快速实现一个 并行效率较高的并行处理算法。若用户算法需要继承全局信息计算并行编程模板类,则还需要重载全局计算 (GlobalComputing),加载用户自定义的全局计算算法。若用户需要进一步提高并行效率, 则可以重载SplitDesImage操作接口或LoadBalance操作接口,调用自定义的数据任务划 分和负载均策略。按以上步骤,设计了一套面向遥感图像处理算法的并行编程模板库,主要是适用 于数据并行性较好的处理算法。该模板库基于的MPI并行计算环境,主要是指基于商业多 核机群平台,由MPI并行计算、PVFS2、或Luster等并行文件系统等组成。该模板库已经实 现了几十个遥感图像处理算法的快速并行化,且加速比接近线性,并行效率高。
权利要求
一种面向遥感图像处理算法的快速并行化编程模板方法,其特征在于包括以下步骤1)提取遥感图像并行处理模型,根据计算与数据的局部相关性,如局部相关、波段间相关或全局相关,分析这种重复计算特性并进行算法分类,在算法分类的基础上,为每类算法归纳并定义出公共的并行遥感图像处理算法流程、结点间数据通信和交互方式,并为其设计通用的数据/任务划分策略和节点间动态调度策略,最终提炼出相应的遥感图像并行处理模型;2)构建快速并行化编程模板库,首先,使用软件设计模式对上述遥感图像并行处理模型进行接口抽象设计为并行编程模板类;而模型中并行处理流程的各个基本并行处理步骤被抽象为模板类中相应的函数接口;并行处理流程被映射为编程模板类中多个函数接口的调用流程和逻辑,并被固化到模板类的主函数操作接口中,其次,利用MPI和Pthread多线程技术对编程模板类中的各个操作接口进行并行实现,其中MPI实现多计算结点间的并行计算和通信,Pthread多线程实现计算结点内的多核并行处理,最后,将编程模板类封装成并行化编程模板库,对其进行可扩展设计,使其具有开放架构,其中设计一个编程模板类的父类,扩展该父类可派生出多个并行化编程模板类;并对并行程序中的所有基本参数和私有参数进行管理;3)继承并行化编程模板,利用类继承的编程思想,在用户处理程序中继承上述快速并行化编程模板库中指定的模板类,便可自动加载该模板类所实现的并行处理模型,即加载遥感图像并行处理流程,数据/任务划分策略、数据通信模式、负载调度策略,随后在用户程序中载入串行处理算法模块,经过编译可自动将串行程序转化为并行目标程序,运行该并行目标程序,即可将这些算法模块自动分配到多个计算结点,以及结点内的多核处理器上并发地执行,并进行自动数据/任务划分、自动数据通信交互、自动负载调度,从而实现遥感处理算法的快速并行化。
2.根据权利要求1所述的面向遥感图像处理算法的快速并行化编程模板方法,其特征 在于在最终提炼出相应的遥感图像并行处理模型中,其数据/任务划分策略在结点间数 据划分的基础上,可针对多核架构进行二次划分,充分利用多核并行性;其并行算法处理流 程上,采用基于并行文件系统的MPI-I0并行接口提高I/O性能,并充分利用I/O预取策略 调整并行流程,使并行I/O和计算充分重叠,对模型进行优化。
全文摘要
本发明涉及一种面向遥感图像处理算法的快速并行化编程模板方法,包括以下步骤1)提取遥感图像并行处理模型,2)构建快速并行化编程模板库使用软件设计模式对上述遥感图像并行处理模型中并行处理流程的基本处理步骤进行接口抽象设计;利用MPI和Pthread多线程技术对编程模板类中的各个操作接口进行并行实现;将编程模板类封装成并行化编程模板库,3)继承并行化编程模板。本发明的有益效果为遥感应用领域技术人员只需要通过简单的类继承方法,继承该模板库中指定的遥感图像并行处理模型,并加载用户自行开发的串行算法程序,便可实现遥感处理算法的快速并行化,并达到较高的并行效率,从而大大提高大规模遥感数据的处理性能。
文档编号G01S7/48GK101799762SQ20101014076
公开日2010年8月11日 申请日期2010年4月7日 优先权日2010年4月7日
发明者刘定生, 刘鹏, 李景山, 王妍颖, 赵灵军, 马艳 申请人:中国科学院对地观测与数字地球科学中心

  • 专利名称:高精度温度补偿晶体振荡器的制作方法技术领域:本实用新型涉及用于移动通信装置中稳定工作频率的晶体振荡器,尤其涉及对晶体振荡器温度补偿电路的改进。传统的温度补偿晶体振荡器采用如附图1所示的结构即由温度传感器1对环境温度进行采样,由AD
  • 专利名称:公路路面层间粘结测试装置的制作方法技术领域:本实用新型涉及公路交通检测器械技术领域,具体地说是一种公路路面层间粘结测试装置。背景技术:一般的,公路路面的层间(浙青混凝土层与浙青混凝土层之间、水泥混凝土路面与浙青混凝土罩面层之间、桥
  • 专利名称:测量物体表面形貌的朗奇光栅纹影仪装置的制作方法技术领域:本发明属于物体表面形貌的测量技术领域,特别涉及朗奇光栅纹影仪装置的结构设计。纹影仪光学系统通过光投影的明暗变化来指示被测物体表面不规则性或内部条件所产生的折射率、反射率以及透
  • 专利名称:一种实用数字电流表的制作方法技术领域:本实用新型涉及一种电子装置,特别是一种电流传感器装置,可应用于小型数字电流源和小型数字电压源等需进行实时电流监测和控制的小型电力装置中。背景技术:电子设备故障的60%来自电源,因此,电源问题的
  • 专利名称:继电保护装置综合测试台的制作方法技术领域:本实用新型涉及电网检测设备领域,更具体地说,是涉及一种用于电网继电保护装置的综合测试台。背景技术:继电保护装置功能的强大以及动作的可靠性与电网的安全稳定运行是息息相关的,随着各地电网供配电
  • 专利名称:一种测温三角锥的制作方法技术领域:本实用新型涉及一种测温器具,具体涉及一种测温三角锥。背景技术:陶瓷产品,包括日用陶瓷、建筑陶瓷、电子陶瓷等都要经过高温烧成,其烧制工艺是控制产品性能很重要的工序。而测温三角锥是一种常用的测温产品,
山东科威数控机床有限公司
全国服务热线:13062023238
电话:13062023238
地址:滕州市龙泉工业园68号
关键词:铣床数控铣床龙门铣床
公司二维码
Copyright 2010-2024 http://www.ruyicnc.com 版权所有 All rights reserved 鲁ICP备19044495号-12