论文部分内容阅读
并行计算已成为地震资料数据处理的主流。由于多种原因,非震领域并行计算研究工作量很少,电磁法数据处理并行计算研究更是微乎其微。电磁法数据处理也具有海量计算,如反演方法中偏导数矩阵的计算、有限单元法和有限差分法的正演计算等。对于二维、三维电磁法勘探来说,象Occam这样的最优化反演方法,不仅需要计算偏导数矩阵,还由于采用了导致大量正演计算的自适应优化方法,在解决反演问题时,其单机运算速度让人难以接受,采用并行计算来加快反演速度无疑具有现实意义。
本文以Occam反演为实例,研究基于网络机群的大地电磁二维反演并行计算方法。论文主要开展了以下方面的工作:网络并行计算环境的研究
电磁法数据处理传统上是在单台 PC 机上进行,因此,在基于 PC 机的网络机群上实现其并行计算具有天然的优势。搭建了基于PVM的并行计算平台,并对并行平台的通信速度和基本加速性能进行了测试。测试结果表明,这种小型分布式并行机群上的并行计算效率是令人满意的。由于实际的机群搭建仍然是高成本的,本文提出一种基于VMWare环境的多节点并行环境的构建方法,实践证明,此种方法搭建机群环境不仅简单易行,而且可移植性好,安全可靠,非常适合于并行程序的开发和调试,也能用于一些大粒度的并行处理。2)Occam反演并行计算方法的研究
对计算量最大的偏导数矩阵计算部分,采用了基于频点的大粒度方式实现并行计算。由于各子进程计算量基本相同,通信量也不大,因此偏导数部分的并行计算均衡性较好,获得了较高的加速比。对计算量同样较大的拉格朗日乘子计算部分则采用了两种并行方式,即:基于各μ值计算的大粒度并行方式和基于模型正演中频点计算的中小粒度并行方式,它们分别对应于μ扫描和μ一维搜索。针对μ扫描部分通信量大的问题,通过采用任务组合策略,减少了通信次数,通信中则采用了树型通信方法,相对简单的Scatter方法通信效率提高30%左右,通过这些措施,该部分也取得了较理想的并行效率。
研究了Cholesky分解、矩阵乘法的并行方法。这些部分的任务粒度都不大,计算量所占比例也较小,对整体并行效率的影响是有限的。但随着反演规模扩大,这些部分的计算时间有所增加,通过并行计算,仍然可以使整体加速比得到了进一步提高。
作为一种辅助研究,本文还进行了类一维反演的二维反演并行计算研究,此时,各测点的计算完全是独立进行,具有直观的并行性。采用任务池技术,基于测点计算的子任务被动态分发给各计算节点,计算具有很好的均衡性,呈线性加速比。
采用Master-Slave编程方式,实现了各部分并行的整合,进而初步形成了一个较完整的Occam反演并行计算系统。系统并行性能的分析与测试对系统的并行性能进行了理论分析,得出了本文系统分段可扩放的基本结论,表明在机群环境下,大粒度并行尽管带来高效率,但一定程度上降低了并行度,从而限制了系统的扩放性。但在节点数小于反演频点数和μ扫描点数时,系统具有较好的扩放性能,加速比随节点数快速增加。
对形成的并行计算方法,采用各种理论模型进行了测试,验证了系统的正确性,测量了系统的加速性能,并对实际资料进行了处理,结果表明,在8节点的配置上,测线不同网格密度的反演速度可以提高5~6倍,这一结果是令人满意的,从而表明方法具有推广应用价值。
本文创新之处
(1)首次提出并实现了大地电磁Occam反演的并行计算,并针对大地电磁Occam反演中并行性分散于反演的各个部分,各部分的计算量、通信量、数据结构差异较大的情况,提出采用分段并行,整体运算,大粒度小粒度相结合,功能并行与数据并行相结合的并行思路,最大可能地减少了程序的串行分量,提高了并行效率,使Occam反演的并行计算具有实用性。
(2)提出了多进程共存的编程思路,通过采用不同进程解决不同计算问题,同一进程完成所有迭代计算的方式,不仅使得编程简便,程序结构清晰,也避免了大量动态生成进程所导致的启动延迟。
(3)首次提出在虚拟环境中实现多节点并行平台的思路,研究了一套基于该环境的机群搭建方法,由于此种方法使机群的搭建变得简单容易,设备利用率高,而且具有与实际机群完全相同的环境,为并行程序的开发调试提供了极为有利的条件。