APP下载

一种基于并行计算技术提高测井数据处理速度的方法

2012-09-06何宗斌油气资源与勘探技术教育部重点实验室长江大学湖北荆州434023

石油天然气学报 2012年7期
关键词:测井技术微机数据处理

何宗斌,张 宫,樊 鹤 (油气资源与勘探技术教育部重点实验室(长江大学),湖北荆州434023)

一种基于并行计算技术提高测井数据处理速度的方法

何宗斌,张 宫,樊 鹤 (油气资源与勘探技术教育部重点实验室(长江大学),湖北荆州434023)

基于多核处理器普及的背景,针对成像测井数据处理速度慢的问题,介绍了利用并行计算技术提高成像测井数据处理速度的方法。首次将并行计算技术应用于成像测井数据处理中,在Windows平台下编写了核磁数据反演的并行计算方法以及对应的串行计算方法,并在多个不同处理器的微机上对2种方法进行了对比。试验结果表明,在多核心处理器计算机上,并行计算能够充分利用CPU的效率,显著提高了数据处理的速度。同时,该方法的实现也为其他耗时型石油勘探数据处理提供了一种提高处理速度的新思路。

并行计算;数据处理;多核;多线程

成像测井技术是新型的测井技术,近年来发展很快,在测井解释方面起到了举足轻重的作用。实际生产工作中发现,由于成像测井数据量大、处理模型复杂等原因,导致处理速度较慢,严重制约了成像测井技术的应用。该问题广泛存在于声波成像测井技术、电成像测井技术以及核磁共振成像测井技术等领域。

笔者在编写测井数据处理程序的过程中观察到,目前大多数处理程序都是单线程串行程序,在配有双核心处理器的微机上执行时不能充分发挥处理器的性能,在多核心处理器上这种性能浪费更为明显。分析后认为,长久以来处理器提高性能是通过增加CPU频率的方法,但是当单核心CPU的频率发展到3GHz之后,再往上发展就遇到了技术瓶颈。单核心CPU的发展已经到达一个频率极限,硬件厂商不得不转向多核心CPU发展,在一颗芯片中加入2个甚至多个运算核心,通过核心的增加,来提高芯片总的频率。当处理器通过增加运算核心来提高性能时,由于受到其架构的影响,先前开发的软件并不能充分利用多个处理核心所带来的性能的提升,甚至有的时候性能还有所下降[1]。要想充分利用多核心处理器的优势,必须以分块的思维设计程序、以多线程并行的形式来编写处理软件。目前多数新版本的程序编译器为并行计算提供了良好的支持,使得编写并行计算的测井处理程序成为可能。笔者以核磁共振T2谱反演处理为例,在微机上编写了基于并行计算的反演程序以及普通的单线程反演程序,并在多台不同配置的微机上进行了测试。测试结果表明,多核心处理器上,基于并行计算的处理程序占有明显的优势,处理速度得到了显著提高。

1 方法描述及程序设计

1.1 测井数据并行处理

并行计算(Parallel Computing)是指同时使用多种计算资源解决计算问题的过程。通常并行计算问题有以下特征:将工作分离成离散部分,随时并及时执行多个程序指令,多计算资源下解决问题的耗时要少于单个计算资源下的耗时。由于并行计算是将一个工作任务进行分解以并发执行,因此,任何一个支持并行计算的软件开发与运行平台都必须解决这些并发执行的子任务之间的相互协作问题[2]。该次研究所提的并行计算主要是指在公用储存器空间的多核心处理器的微机上,为了解决串行程序只使用单核心进行工作的限制,把处理任务分割,利用多线程并行技术充分使用多核心处理器,从而达到加速处理速度的效果。通常情况下,测井数据处理的一个显著特征是按深度点重复进行类似的计算过程。正是测井数据处理的这一特点,为并行计算任务的分割奠定了有利的基础,使得并行计算测井处理程序设计变得简单而有效。

1.2 并行计算的T2谱反演算法

T2谱反演是核磁共振测井数据处理中一个非常重要的步骤,也是进行储层参数计算和油气水识别的前提条件。T2谱反演算法归根到底是一个求解超定线性方程最优非负解的问题。通常该方程会非常大,需要利用矩阵分解或迭代的方法来进行求解。目前主要的方法有奇异值分解法、模平滑法和迭代法,这几种算法都存在计算速度慢的问题。为此,笔者在原有的“改进型截断奇异值分解法(SVD)反演算法”基础上,利用多线程并行计算思想重新设计程序,编写了并行计算的T2谱反演算法。

1.3 试验程序设计

目前主流的编程语言都为多线程并行计算的实现提供了便利的支持。为了方便在不同机器上进行试验,笔者编写了专门用于进行反演测试的程序(如图1)。该程序可以对WIS数据(一种保存测井数据的二进制数据格式)进行读写[3],在此基础上编写了并行T2谱反演算法和常规串行T2谱反演程序。试验程序中,选择了MRILP型核磁数据作为样本,处理井段为3856~4094m,共计238m,采样间隔为0.1m,A组回波数目为500个。

图1 测试程序界面及运行结果

并行计算成像测井数据处理流程(如图2)的核心任务是进行任务分割,然后多线程同时执行这些任务,最后把处理结果组合起来。在某些情况下,不能对某些算法进行很好地任务分割,这时可以根据测井数据按深度点处理的特点,在深度方向上对处理进行分割,从而尽可能大地利用处理器的多核心性能,达到加速处理的效果。

2 试验结果分析与讨论

2.1 试验结果

笔者在12台不同配置的微机上对串行和并行处理程序进行了测试及对比,并记录了它们各自处理所耗费的时间,测试结果如图3所示。

目前主流配置的计算机多为双核或四核,在单核心处理器上测试时,并行时间要略大于串行处理时间,并行的优势并不明显。例如:在主频为1.995GHz的微机上,串行处理耗时66.025s,并行处理耗时70.082s,并行速度反而变慢。然而在双核处理器情况下,例如:在主频为1.828GHz的微机上,串行耗时为70.031s,并行处理耗时为35.605s,速度提高近2倍。当在双核以上处理器上测试时,并行的优势更加突出。例如:在主频为2.8GHz,逻辑核心数为12的处理器上,串行处理耗时为33.924s,并行处理耗时仅为3.246s,处理效率提高十多倍。

2.2 结果分析

由以上结果可以看出,对于单核心处理器,并行计算不但不能加速数据处理,反而降低了数据处理速度。原因是单核心处理器多线程并行,由于只有一个处理器核心,使得线程按分片进行处理,增加了额外的调度负担。对于主频相同的多核心处理器,随着核心数的增加,处理效率提高。核心数目相同的情况下,处理效率和处理器的主频成正比。

图2 程序设计流程及并行计算流程

图3 多核心处理器在不同计算模式下T2谱反演处理时间对比

试验结果还表明,当处理器逻辑核心数目大于2时,并行处理优势开始显现,随着处理器逻辑核心的增多,并行处理的优势越来越明显。多核心处理器是目前计算机硬件的发展趋势,因此并行处理程序必然会越来越占优势。

另外,在测试过程中明显发现,当运行串行程序时,双核CPU的使用率在50%左右,四核CPU的使用率在25%左右;当运行并行程序时,双核CPU和四核CPU的使用率均接近100%,充分发挥了处理器的潜能(图4)。

图4 运行串行程序和并行程序时CPU的使用率

3 结 论

试验结果表明,对于拥有多核心处理器的微机而言,并行计算程序能够充分利用CPU,从而显著提高整体处理速度。多核心处理器是以后计算机硬件的发展方向,在这一背景下,并行计算测井处理程序会发挥出越来越大的优势。

1)目前,大多数主流处理器都是双核或多核心处理器,因此传统的串行测井数据处理程序不能很好地发挥多核心处理器的优势。改用并行计算的算法,能够极大地提高测井数据处理速度。

2)利用并行计算程序改写测井处理算法能够显著提高测井数据处理速度,对耗时的成像测井数据处理有极大的帮助。

3)并行计算程序设计的思想不但可以用于改善测井数据处理速度,同时也为石油勘探领域其他耗时的数据处理提供了一种新的思路。

[1]刘钢,郭晗,王振吉.基于Java的多核多线程编程技术[J].吉林建筑工程学院学报,2009,26(6):78~79.

[2]朱葛俊,张力,盛昀瑶.多核系统的多线程并行计算分析[J].南京工业职业技术学院学报,2009,9(2):51~53.

[3]张宫,何宗斌,樊鹤.WIS测井数据格式中二维数据的解析与转储[J].科学技术与工程,2011,11(16):3775~3778.

[编辑] 龙 舟

76 A Method of Improving Processing Speed of Image Logging Data Based on Parallel Computing Technology

HE Zong-bin,ZHANG Gong,FAN He

(First Authors Address:Key Laboratory of Exploration Technologies for Oil and Gas Resources(Yangtze University),Ministry of Education,Jingzhou434023,Hubei,China)

Base on the current popularization of multicore processor,in allusion to the problem of slow speed of image logging data process,the parallel computing technology was introduced to improve the image log data processing speed.It was the first time to use the parallel computing technology in the image logging data processing.A parallel computingmethod of nuclear magnetic data inversion and corresponding serial calculating method were developed on the window platform,and they were compared on some microcomputers with different processors.The results show that on the computer with multi-core processors,parallel computing could make full use of CPU for obviously improving the data processing speed.Meanwhile,it provides a new idea for other consumptive petroleum exploration data processing.

parallel computing;data process;multi-core;multithread

book=255,ebook=255

P631.84

A

1000-9752(2012)07-0076-04

2012-03-20

国家科技重大专项(2011ZX05005-06)。

何宗斌(1965-),男,1986年大学毕业,博士,副教授,现从事核磁共振测井、脉冲中子测井数据处理及测井数据格式研究工作。

猜你喜欢

测井技术微机数据处理
认知诊断缺失数据处理方法的比较:零替换、多重插补与极大似然估计法*
ILWT-EEMD数据处理的ELM滚动轴承故障诊断
注水井精准流量及流体成像测井技术研究
Fuzzy Search for Multiple Chinese Keywords in Cloud Environment
《测井技术》“测井史话”栏目文章征集通知
TDJ微机可控顶调速系统在平顶山东站的应用
《测井技术》创刊40周年座谈会在西安举办
电力系统微机保护装置的抗干扰措施
基于希尔伯特- 黄变换的去噪法在外测数据处理中的应用
利用测井技术研究致密砂岩储层裂缝