地球物理并行计算平台的研究

2016-10-17 09:54张玮杨进
现代电子技术 2016年2期
关键词:数据处理框架网格

张玮,杨进

(1.中国地质大学(北京)地球物理与信息技术学院,北京100083;2.华北科技学院计算机学院,北京101601)

地球物理并行计算平台的研究

张玮1,2,杨进1

(1.中国地质大学(北京)地球物理与信息技术学院,北京100083;2.华北科技学院计算机学院,北京101601)

随着地球物理数据处理计算量的快速增加,使得单机运算已难以满足其计算需求。采用并行计算技术来提高处理速度是主要发展方向。为了解决地球物理数据处理中的大规模计算问题,提出基于工作站集群的并行系统架构,采用JPPF的网格计算框架,构建地球物理并行计算平台。JPPF易于使用、代码开源,利用其在并行任务管理和负载均衡方面的优势,设计并实现了一个2.5维可控源音频大地电磁正演并行系统。在实验中对频率并行和非并行的计算效率进行了对比。实验结果表明在并行计算平台硬件一定的情况下,随着频点个数的增多,该系统能够较为明显地提高计算效率。

地球物理;网格计算;工作站集群;正演模型计算;可控音频源大地电磁

0 引言

随着我国经济社会发展,能源、环境、地下水等一系列关乎国计民生的领域都有地球物理勘查的身影[1];同时随着电子技术和信息技术的发展,使得重、磁、电、震、放射性、测井等传统的地球物理方法不断发展。其中一个重要特点就是地球物理数据的的精度越来越高,信息量也成几何级数增长,例如地震波法勘探收集的数据通常都以TB计,在海洋勘探过程中收集到的数据容量更是会突破PB级别量[2]。同时各种反演算法也不断推陈出新,其中大多数算法对于计算机的计算能力有较高要求,地球物理的数据处理对于计算机的计算效率提出了新的要求。为了提高地球物理数据处理的计算效率,人们主要从以下两个方面着手去解决:

(1)提高算法本身的改进。在精度可控的情况下,对算法进行改进,提高算法效率。

(2)对于处理平台的改进。在硬件方面,不断创造速度更快的计算机,提高主频速度到多核心处理器;在软件方面,探索并行计算的处理技术,提高计算速度。

本文主要是在处理平台层次,对处理软件的并行性进行研究,研究目标是利用计算机集群系统和网格计算方法设计一个具有通用性特点,能够适应不同地球物理方法的数据处理的并行计算平台。

1 地球物理数据处理现状

对于地球物理数据处理而言,随着仪器精度和操作便捷性的提升,野外采集数据的规模动辄数十GB,加之各种正反演算法也不断演化,使得地球物理数据处理的计算量已经超出了单台PC机的计算能力。而我国计算机的发展现状以及固体矿产和工程地球物理勘探的投资也不足以广泛使用高速的大规模并行计算机[3]。

目前地球物理数据处理的软件基本上还处于单台计算机运行的状态,处理软件大多是仪器设备自带,也有第三方公司开发的优秀处理软件。然而这些软件通常仅限于单机运行,这主要是由于地球物理数据处理本身就很复杂,如果在去考虑并行计算和分布式的问题,就会使处理软件本身的设计面临巨大的挑战,而且在地球物理数据处理软件内部再集成并行运算会形成高度耦合的系统,这样高度耦合的软件系统从软件工程的角度来看会给软件系统后期的运行和维护带来巨大的风险和挑战,严重的耦合甚至会导致整个系统的失败。因此,必须将地球物理数据处理软件和并行计算平台进行解耦,正确的系统架构如图1所示。

图1 地球物理数据并行处理架构

如何能够在保证运算速度提升的情况下,又可以最大限度的利用现有计算资源便成为一个摆在地球物理工作者面前一个亟待解决的问题。基于计算机集群系统的网格计算从一定程度上解决了这个投入与产出的平衡问题。

2 并行计算机系统在地球物理数据处理中的应用

目前并行计算机系统主要有三大趋势,对称多处理机(Symmetric Multiprocessor,SMP),大规模并行处理机(Massively Parallel Processor,MPP)和工作站集群(COW)[4]。对称多处理机系统(SMP)通常使用商用处理器,其采用对称式的处理器布局和共享存储器系统,通过高速的总线将处理器和存储器相连,但由于采用共享存储器,系统中的处理器数目不得超过64个[5]。例如Sun公司的Enterprise服务器。

大规模并行处理机(MPP)一般是指由成百上千个分布式处理机用高速网络连接而成的超大型计算机系统。MPP的可扩展性很好,通常采用专用的商用处理器,计算速度一般为千亿次量级,例如我国的曙光系列超计算机。工作站集群,也被称为“非正式的超级计算机”[6],通常是指将具有较高性能的PC机通过独立、专门的网络进行连接,例如Ethernet,FDDI,ATM等,从而形成一个在物理空间上相互独立,但通过专门的软件系统连接后却又在逻辑上相互统一的计算平台。

对于地球物理数据处理而言,能够将现有实验室中的高性能工作站互联,充分发挥其计算效能是最经济、最便捷的手段。因此研究工作的目标就是设计一个将若干个普通计算机通过Ethernet进行互联接后,从系统架构上形成一个工作站集群,再通过网格计算平台的集中调度,使其成为一个具备地球物理数据处理功能的并行计算平台。

集成的计算与资源环境则称为网格[7]。网格计算技术则通过将各个计算节点上的计算资源、存储资源、通信资源进行整合从而形成一个虚拟的、并行的计算平台。网格计算中允许节点具有高度的自治能力,各个节点资源配置基本不具有对称性,因此往往需要一定的资源共享和负载平衡机制。网格计算消除了资源的孤岛,可以最大化地使用节点的资源,使得网格内的闲置资源得以充分利用。网格计算系统主要包括:节点、系统软件和网格应用软件。在工作站集群的架构下,网格节点通常是指计算资源、存储资源、网络资源等相互独立的完整的计算机系统,例如PC机、高性能的服务器,甚至可以使用一台智能手机,如图2所示。

图2 集群模式下的网格计算节点的拓扑结构

系统软件则是指对网格计算系统中的各种资源进行调配、各个节点的负载进行均衡的管理软件,而且这种软件应当具有相当的跨平台特性,这样才能够保证其在各种异构网格节点上正常工作。网格应用软件则是面向某一个特定的应用领域而专门研发的软件,例如水利、石油、能源、飞机制造等对大规模计算和数据处理具有需求的行业。网格计算框架对于地球物理数据处理软件而言是完全透明的,其在功能上专注于网格计算中涉及到的计算任务的划分、任务的分配、计算结果的收集、计算节点的管理、冗余计算、异常处理等机制。

3 网格计算框架的实现与选择

Java语言具有与生俱来的跨平台特性,因此对于需要在异构系统上运行的网格计算框架,优先考虑Java语言实现的网格计算框架。JPPF是一个完全采用Java语言编写,开源的网格计算框架[8]。JPPF不仅可以方便地构建网格计算的平台,而且还支持J2EE集成,从而将网格计算框架内资源向分布式应用开放。

JPPF的网格计算的逻辑结构如图3所示[9]。

图3 JPPF框架的基本逻辑结构

Clinet是网格计算资源的入口点,计算任务通过Client提交到网格进行计算,并通过Client查看最终的计算结果。Server是整个网格计算的调度中心,它负责接收Client提交的计算任务,并将任务分解成独立的计算单元,随后根据调度算法将计算单元分配到各个Node。Node完成计算任务后会将计算结果返回给Serv⁃er,Server整理计算任务后再返回给Client。Node是计算资源节点,在JPPF框架下对于Node没有明确的软硬件要求,只要能运行Java程序就可以,因此Node甚至可以使一台智能手机。Client与Node之间没有直接联系,相互均处于黑盒状态。Server对提交的任务全权负责,提供负载均衡、错误恢复、安全保障、计算任务传输、计算结果反馈等一系列核心功能。

JPPF还可以进行多级方式的扩展,即将多个JPPF Server进行相互连接,从而形成一个庞大的网格计算资源,拓扑结构如图4所示。在这种拓扑结构中,发起连接的ServerA被视为一个Client,而被连接的ServerB被视为一个Node。对于单个Server其理论上可以连接3 000个Node,而在n个Server的拓扑结构中,整个网格计算资源中的Node可以达到3 000 n个。因此采用这种方式后整个网格计算的资源从逻辑上讲是没有上限的。

图4 经过级联后的JPPF网格的逻辑结构

4 架构设计

由于JPPF提供了网格计算中可扩展性、负载平衡、错误恢复等一系列核心功能,因此对于地球物理数据处理软件而言,只需要将大规模计算任务分解后提交给JPPF计算就可以,整个JPPF对于地球物理数据处理软件而言是透明的。图5所示为一种基于JPPF的地球物理网格计算系统的架构。

图5 基于JPPF的地球物理网格计算系统

整个地球物理数据并行计算系统主要分为两大部分:地球物理数据处理框架和JPPF框架。野外采集的数据根据数据类型、地球物理方法类别、仪器的设备种类等不同条件进行数据的预处理和归一化。处理后的数据存入数据库或文件系统,这里统一称之为“持久化存储系统”。接下来,根据数据处理的具体要求和项目的实际需要,选择合适的地球物理正反演方法,并对算法中的用到的各种矩阵、参数等进行初始化。之后就可以根据预处理好的数据和算法进行并行算法的任务分解,并经过Client提交给MainServer进行网格计算。

在网格计算框架的拓扑结构设计上,采用了星形级联的方式,所有的并行计算任务都统一发送到Main⁃Server进行调度和分配。由于网络基础条件的限制,为了防止网络拥塞的频繁发生,通常采取在物理空间上相近的计算机,采用1台计算机为Server,5~10台为Node的子网格配置方式。所有子网格中Server均连接到MainServer,作为逻辑上Node节点。从而实现并行计算任务的逐级分解。当Node完成计算工作后,计算结果也会通过逐级组合的形式,汇总到MainServer形成一个与原始并行任务对应的计算结果,再通过JPPFClient返回给地球物理数据处理框架。

5 实验结果及分析

基于上述设计结果,进行了验证性实验。实验环境采用1个Server,1个Client,5个Node构成JPPF网格计算平台。计算机配置如下:处理器为(英特尔)IntelⓇCoreTM2 Duo CPU T8300 2.40 GHz,内存为512 MB。地球物理数据处理框架采用Java语言编写,实现了水平地形条件下2.5维可控源音频大地电磁CSAMT有限单元正演算法[10⁃11],经过改进后的并行算法流程如图6所示。

图6 CSAMT 2.5维正演并行计算程序流程图

对于上述算法,存在3种粒度的并行性:按照频率进行、按照波数进行、按照单元进行。以F个频点、L个波数、N个单元的程序为例设计算单元矩阵的运行时间为U s(为使问题简化,其他计算任务时间可忽略不计),则总计算时间T=F×L×N×U。在最理想的条件下,假设所有并行的任务同时开始,同时结束,即假设JPPF的并行计算能力无限大,可以同时进行无穷多个并行任务,则在不同粒度的并行效率分析如表1所示。可见并行性最好的第8中方法运行时间最短,而第1中方法则属于串行算法。针对上述并行性分析,在对JPPF的并行任务分解时就涉及到8中不同的维度进行,考虑到实验环境的网络基础条件和实际的计算机配置,实验用的任务分配策略采用第5种,即仅在频率域进行并行计算任务的划分。

表1 CSAMT 2.5维有限单元正演算法并行性分析

实验中采用计算了均匀半空间中的TE模式的视电阻率,频点采用从1~8 192 Hz的范围取值,根据频点个数由程序自动等间隔划分。实验结果如图7所示。

图7 CSAMT 2.5维正演模型频点并行与非并行算法比较

由图7分析可知,随着频点个数的增加频率并行计算时间和非并行计算时间的差距逐渐增大,网格计算平台的优势逐渐显现。但同时也发现并行计算的时间与对照表中的理想情况存在较大差距,这主要是因为网格计算框架中Server和Client的通信质量严重依赖于基础网络的通信,当并行任务较小时,网络通信的代价会高于并行计算带来的收益;当并行任务增多,则会带来网络通信的拥塞问题,这也会对并行计算的效率产生影响。因此,对于一个硬件条件固定的网格计算平台而言,并行任务的数量存在一个阈值,当超过或低于这个阈值时网格计算的效率都会降低,只有在此阈值附近时才能使网格计算平台发挥最大的计算效率。

6 结语

采用工作站集群的并行系统结构,利用开源的JPPF网格计算框架,实现了一个地球物理并行计算平台。实验结果显示,利用JPPF的并行计算平台能够显著提高CSAMT 2.5维正演程序的计算效率。但是,对于不同的地球物理算法,并行性任务的划分有很大不同,在下一步的研究工作中,将研究地球物理算法并行任务的自动识别与划分。

[1]徐观来.地球物理勘探技术发展现状与实际应用研究[J].科技创新与应用,2014(8):35.

[2]李敏.高性能并行计算机的发展及其在石油勘探中的应用[J].科技导报,2014(2):80⁃83.

[3]陈金窗,戴光明.微机网络并行计算及2.5维CSAMT正演的并行实现[J].物探化探计算技术,1997(2):8⁃12.

[4]刘羽,王家映.地球物理数据处理与并行计算[J].桂林工学院学报,2004(4):412⁃416.

[5]牛小鹏,李清宝,曾光裕.SMP对称多处理机系统中交叉开关的设计与实现[J].信息工程大学学报,2009(2):191⁃194.

[6]武耀辉,崔永谦,时健民,等.工作站集群系统的建立与应用[J].中国石油勘探,2002(2):57⁃59.

[7]都志辉,陈渝,刘鹏.网格计算[M].北京:清华大学出版社,2002.

[8]许力,牟晓光,马云存.JPPF在构建高性能ETL过程中的应用[J].计算机应用,2008(z2):223⁃225.

[9]Anon.A first taste of JPPF[EB/OL].[2014⁃05⁃01].http://www. jppf.org/doc/v3/index.php?title=A_first_taste_of_JPPF.

[10]葛伟男.2.5⁃D CSAMT有限元正演模拟[D].长沙:中南大学,2012.

[11]冯万杰.可控源音频磁场测深法2.5D正演计算[D].长沙:中南大学,2012.

Study on parallel computation platform in geophysics

ZHANG Wei1,2,YANG Jin1
(1.School of Geophysics and Information Technique,China University of Geosciences,Beijing 100083,China;2.College of Computer,North China Institute of Science and Technology,Beijing 101601,China)

Because of the quick increase of calculated amount for geophysics data processing,it is rather difficult for one single computer to meet various kinds of computational requirements.Currently,it is a main trend to adopt the parallel computa⁃tion techniques to enhance the processing speed.In order to deal with the large scale of computation work in geophysical data processing,a parallel system architecture based on workstation clusters is put forward,and JPPF grid computation framework is adopted to construct a parallel computation platform for geophysics.JPPF has open source code,and is easy to use.It is quite convenient to take its advantages in parallel task management and load balance to design and implement a forward modeling parallel system for 2.5⁃D CSAMT.A contrast between parallel computation efficiency and serial computation efficiency was per⁃formed in an experiment.Its results show that the system can improve its computation efficiency obviously with the increase of frequency points under a certain hardware environment of parallel computing platform.

geophysics;grid computation;workstation cluster;forward model calculation;controlled source audio⁃frequen⁃cy magnetotellurics

TN911⁃34

A

1004⁃373X(2016)02⁃0018⁃04

10.16652/j.issn.1004⁃373x.2016.02.006

张玮(1981—),男,博士研究生。主要研究领域为地球物理与信息技术、软件工程。

杨进(1954—),男,教授,博士生导师,博士。主要从事环境工程地球物理和计算机应用方面的研究工作。

2015⁃06⁃25

国家自然科学基金项目资助:深部多金属矿勘探中天然场激电法正反演计算和野外试验研究(41374133)

猜你喜欢
数据处理框架网格
用全等三角形破解网格题
认知诊断缺失数据处理方法的比较:零替换、多重插补与极大似然估计法*
框架
ILWT-EEMD数据处理的ELM滚动轴承故障诊断
广义框架的不相交性
反射的椭圆随机偏微分方程的网格逼近
重叠网格装配中的一种改进ADT搜索方法
WTO框架下
基于曲面展开的自由曲面网格划分
基于希尔伯特- 黄变换的去噪法在外测数据处理中的应用