地震叠前时间偏移的处理方法和系统的制作方法

文档序号:5957471阅读:185来源:国知局
专利名称:地震叠前时间偏移的处理方法和系统的制作方法
技术领域
本发明涉及计算机高性能计算领域、石油地震勘探领域,具体涉及ー种地震叠前时间偏移的处理方法和系统。
背景技术
在地震石油勘探等领域,地震叠前时间偏移(PreStack Time Migration, PSTM)是复杂构造成像最有效的方法之一,能适应纵横向速度变化较大的情况,适用于大倾角的偏移成像。PSTM已进行了多年研究,上世纪九十年代初期开始初步应用,中后期在不少探区的地震勘探中发挥了重要作用,进入本世纪后开始了较为广泛的应用,目前部分处理公司和计算中心已把该技术作为常规软件加入到常规处理流程中,成为获取保幅信息实现属性分祈、AV0/AVA/AVP反演和其它參数反演的重要步骤和依据。
PSTM每输出ー个地震道,就是一次海量运算。以I毫秒采样,6秒数据为例,ー个地震道的输出需要至少1000万道甚至更多(偏移孔径決定)的输入道,每ー个点要做两次均方根运算以及两次加法运算,振幅补偿两次乘法运算。如此计算下来,实现一道偏移需要1000000X6000X2X (平方+加法+乘法)次数学运算,计算量和需要处理的数据量都极其巨大!目前,人们往往使用大規模的服务器集群来进行叠前偏移处理,其原理是将数据先分配到各个CPU核上,然后由各个CPU核单独进行计算,最后将结果汇总输出。这种做法消耗了大量的时间、电カ和维护费用。而且,随着人们对石油勘探地震资料处理的周期要求越来越短,精度要求越来越高,服务器集群的规模越做越大,在系统构建成本、数据中心机房空间、内存和I/O带宽、功耗散热和电カ限制、可管理性、编程简易性、扩展性、管理维护费用等方面都面临着巨大的挑战。

发明内容
本发明要解决的技术问题时提供ー种地震叠前时间偏移的处理方法和系统,以解决地震叠前时间偏移的处理效率低下的问题。为解决上述技术问题,本发明提供了ー种地震叠前时间偏移(PSTM)的处理方法,该方法包括并行发起的N个PSTM处理流程,每个PSTM处理流程包括FFT计算步骤,读取待处理批次的地震道数据并进行FFT计算,并将各批次的FFT计算结果交替缓存入该PSTM处理流程对应的空闲的第一或第二缓冲区;PSTM计算步骤,交替对该PSTM处理流程对应的第一或第二缓冲区中各批次FFT计算结果进行PSTM计算。可选地,应用该方法的系统包括I个中央处理器(CPU)端和(N-I)个集成众核(MIC)端,其中N个处理流程的FFT计算步骤由CPU端实现,所述N个处理流程中的PSTM计算步骤分别由该CPU端和(N-I)个MIC端实现,所述PSTM计算步骤由MIC端实现时,所述CPU端将第一、第二缓冲区中的FFT计算结果异步传输至MIC端。为解决前述技术问题,本发明还提供了ー种地震叠前时间偏移(PSTM)的处理系统,该系统包括N个并行的执行单元,各执行单元包括FFT计算模块,用于读取待处理批次的地震道数据并进行FFT计算,还用于将各批次的FFT计算结果交替缓存入该执行単元的空闲的第一或第二缓冲区;第一缓冲区、第二缓冲区,用于缓存各批次的FFT计算结果;PSTM计算模块,用于交替对该执行単元的第一缓冲区、第二缓冲区的FFT计算结果进行PSTM计算。可选地,该系统包括I个中央处理器(CPU)端和(N-I)个集成众核(MIC)端,对应的,其中N个执行単元的FFT计算模块和第一、第二缓冲区由CPU端实现,所述N个执行单元的PSTM计算模块分别由该CPU端和(N-I)个MIC端实现;所述系统还包括CPU端实现的异步传输模块,所述执行単元的PSTM计算模块由MIC端实现时,所述异步传输模块,用于将该执行単元第一、第二缓冲区中的FFT计算结果异步传输至MIC端实现的PSTM计算模块。
本发明方法和系统采用并行处理的方式,可有效提高地震叠前时间偏移处理的效率,另外,将FFT计算部分放在CPU端执行,PSTM计算部分采用CPU与MIC同时并行计算,而且大大降低了功耗,減少了机房构建成本和管理、运行、维护费用,而且这种方法实现简単,需要的开发成本低。


图I为本发明地震叠前时间偏移的处理方法实施例I的示意图;图2为实现叠前时间偏移加速逻辑结构图;图3为异步并行实现的逻辑结构图;图4为本发明地震叠前时间偏移的处理方法实施例2的示意图;图5为地震叠前时间偏移的处理系统的模块结构不意图。
具体实施例方式为了改进现有技术中的缺陷,进行如下分析(I)定位PSTM的性能瓶颈;PSTM的计算划分分析PSTM程序,按照功能把PSTM划分为FFT计算部分和PSTM计算部分,整个PSTM程序的运行时间为FFT计算和PSTM计算运行时间之和;选用不同的成像空间(如体偏成像空间、线偏成像空间)和输入道数据规模运行PSTM程序,分别记下FFT计算和PSTM计算两个部分的运行时间,发现PSTM计算占整个PSTM程序运行时间的90%以上,例如选用ー个体偏成像空间,其侧线数为91,每条侧线的CMP点数为963,输入道道数为110000,大小为70G,运行PSTM程序,发现PSTM计算占整个PSTM程序运行时间的97%,说明PSTM计算部分是整个PSTM的性能瓶颈部分。⑵PSTM计算部分串行算法的并行分析通过分析PSTM计算部分串行算法,地震道数据之间可以并行处理,而每一地震道数据内,它所要处理L_NUM条侧线与每条侧线对应的CMP_NUM个CMP点,即所要处理的CMP点数为L_NUM*CMP_NUM,每个点可以实现并行,具体地,前述体偏成像空间的示例中,110000道数据间都可以并行,91*963个CMP点间也可以并行。。(3) PSTM计算部分串行算法的并行设计
不同的地震道可以放在CPU或MIC设备,实现设备间的并行,比如CPU和MIC每次取100道数据进行PSTM计算,谁算完,就取下100道数据,CPU与MIC计算达到动态负载均衡。对于每一道数据而言,CMP点按照每个设备所起的线程数进行并行。实施例I本发明的地震叠前时间偏移(PSTM)的处理方法实施例1,该方法包括并行发起的N个PSTM处理流程,如图I所示,每个PSTM处理流程包括以下步骤FFT计算步骤,读取待处理批次的地震道数据并进行FFT计算,并将各批次的FFT计算结果交替缓存入该PSTM处理流程对应的空闲的第一或第二缓冲区; 所述第一、第二缓冲区的存储容量相等。 PSTM计算步骤,交替对该PSTM处理流程对应的第一或第二缓冲区中各批次FFT计算结果进行PSTM计算。优选地,应用该方法的系统可包括ー个中央处理器(CPU)端,所述平台包括CPU芯片;N-I个集成众核(MIC)端;该祖(端包括MIC芯片是Intel公司开发的,用于高性能并行计算的众核芯片。它是从已有的Xeon处理器产品基础上发展而来,它专为超高性能计算而生的新架构。基于MIC架构的正式产品为Xeon Phi。其在计算机体系中,并非欲取代CPU,而是作为协处理器存在的。MIC芯片通常有50个以上精简的x86核心,每个core支持4个硬件线程,可并行执行的任务数达到200以上,提供高度并行的计算能力,其双精峰值性能达到lTFlops。利用MIC可以提高PSTM的计算性能,满足石油地震勘探资料处理的需求,并且此方法能降低机房构建成本和管理、运行、维护费用。可理解地,MIC端与CPU端通过连接器连接。优选地,N个处理流程的FFT计算步骤由CPU端实现,所述N个处理流程中的PSTM计算步骤分别由该CPU端和N-I个MIC端实现,所述PSTM计算步骤由MIC端实现吋,所述CPU端将第一、第二缓冲区中的FFT计算结果异步传输至MIC端。该实施例中采用了双缓冲的技术,在有效利用内存的情况下有效提高系统效率。经过以上分析可知,基于前述系统可将不耗时的快速傅里叶变换(FFT)计算放在CPU端执行,而将耗时并且并行性非常好的PSTM计算部分放在CPU端和MIC端同时并行执行,CPU与MIC不仅进行协同计算,还同时计算,并且CPU与MIC之间的数据通过异步方式传输,达到计算与IO的相互隐藏,最終实现加速PSTM,提高其处理性能,从而满足石油地震勘探资料处理的需求,并且降低机房构建成本和管理、运行、维护费用。具体地CPU端采用2块CPU(16核),启动16个OpenMP线程,16个线程(3个线程做FFT计算,13个线程做PSTM计算,其中2个线程利用很短的时间进行MIC调度,)并行计算91*963个CMP点,MIC端采用2块MIC(KNF),每个MIC有30个核心,启动120个线程。120个线程并行计算91*963个CMP点。为了使本发明的目的、技术方案和优点更加清晰,下面结合附图和实施例,对本发明作以下详细说明。不同的地震道的PSTM计算可以放在CPU或MIC设备,实现设备间的并行PSTM整体逻辑结构设计;PSTM整体逻辑结构采用2块CPU+2块MIC异构协同计算CPU端负责进程调度、FFT计算,并參与PSTM计算。MIC端只负责PSTM计算,CPU与MIC实现协同计算与共同计算。CPU端起3个计算进程(相当于上文所说的PSTM处理流程)。计算进程I负责控制CUP进行FFT和MICl进行PSTM的计算,计算进程2负责控制CUP进行FFT和MIC2进行PSTM的计算,计算进程3负责控制2块CPU进行FFT计算和PSTM的计算。逻辑结构图如图2所示。每个计算进程内起两个线程,开辟2个缓冲区,线程I负责读地震道数据,并开始进行多道FFT计算,线程2负责PSTM计算。PSTM计算与读数据、FFT计算可以并行,实现相互隐藏,而且CPU到MIC的数据传输采用异步方式,也可以隐藏在PSTM计算中。具体地,线程I读第I批100道地震道数据,读完后开始进行100道FFT计算,并把结果存放在缓冲区I中。线程2开始从缓冲区I中拿100道数据进行PSTM计算的同吋,线程I又开始读2批100道数据,读完后开始进行这ー批的100道FFT计算,并把结果存放在缓冲区2中,线程2开始从缓冲区2中拿第2批数据开始PSTM计算的同吋,线程I又开始读第3批数据,如此类推,所以PSTM计算与读数据、FFT计算可以并行,实现相互隐藏,而且CPU到MIC的数据传输采用异步方式,也可以隐藏在PSTM计算中。整个CPU与MIC的异 步计算设计如图3所示。实施例2本发明的地震叠前时间偏移(PSTM)的处理方法,如图4所示,该方法实施例包括步骤401 :数据分配步骤,主动分配或依据各PSTM处理流程的申请分配各PSTM处理流程处理的地震道数据,直到地震道数据分配结束;所述数据分配步骤由所述CPU端实现。具体地,可在实施例I的基础上,每个进程(PSTM处理流程)完成100道数据的FFT计算后,就向CPU端申请,CPU端就会发申请进程需要取的100道数据的首地址位置,申请进程就根据这个位置读100道数据。步骤402 :并行发起N个PSTM处理流程,具体地,该PSTM处理流程与实施例I中的相同。更近一歩地,所述FFT计算步骤循环执行直到分配的地震道数据处理结束,所述PSTM计算步骤循环执行直到处理完第一、第二缓冲区中的FFT计算結果。PSTM计算步骤由MIC端实现时,所述CPU端将第一、第二缓冲区中的FFT计算结果异步传输至MIC端。步骤403 :汇总步骤,将各PSTM处理流程的PSTM计算结果进行汇总。优选地,所述汇总步骤由CPU端实现。为了实现前后方法,本发明还提供了ー种地震叠前时间偏移(PSTM)的处理系统实施例,如图5所示,该系统实施例包括N个并行的执行单元,各执行单元包括FFT计算模块,用于读取待处理批次的地震道数据并进行FFT计算,还用于将各批次的FFT计算结果交替缓存入该执行単元的空闲的第一或第二缓冲区;第一缓冲区、第二缓冲区,用于缓存各批次的FFT计算结果;PSTM计算模块,用于交替对该执行単元的第一缓冲区、第二缓冲区的FFT计算结果进行PSTM计算。
该系统包括I个中央处理器(CPU)端和(N-I)个集成众核(MIC)端,对应的,其中N个执行単元的FFT计算模块和第一、第二缓冲区由CPU端实现,所述N个处理执行单元的PSTM计算模块分别由该CPU端和(N-I)个MIC端实现。优选地,N = 3优选地,所述系统还包括CPU端实现的异步传输模块,所述执行単元的PSTM计算模块由MIC端实现时,所述异步传输模块,用于将该执行单元第一、第二缓冲区中的FFT计算结果异步传输至MIC端实现的PSTM计算模块。优选地,所述系统还包括由CPU端实现的数据分配単元,用于主动或根据各执行単元的申请分配各执行单元处理的地震道数据。所述FFT计算模块循环执行直到分配的地震道数据处理结束,所述PSTM计算模块循环执行直到处理完第一、第二缓冲区中的FFT计算結果。所述系统还包括汇总单元,由CPU端实现,用于汇总各执行单元处理后的地震道 数据。可选地,每批次地震道数据包括100道,所述第一、第二缓冲区的存储容量相等。为了验证本发明方案的性能,以测试91条测线,每条测线上963个CMP(共中心点,Common Midpoint)点,输入110000道数据进行偏移成像为例,在原有CPU同构系统下,PSTM以单线程串行方式花费的时间为76053s,而本系统运行时间为1075s,性能大大提升。由本发明的技术方案可见,本发明通过把地震叠前时间偏移分为FFT计算部分和PSTM计算部分,通过比较两个计算部分的运行时间发现PSTM计算部分是非常耗时的,占到整个PSTM程序的90%以上,所以PSTM计算部分为PSTM的性能瓶颈,然后分析PSTM计算的并行性,并设计并行方式,FFT计算部分放在CPU端执行,PSTM计算部分采用CPU与MIC同时并行计算,整个PSTM计算实现异步方式,读地震道数据、FFT计算、PSTM计算及CPU到MIC的数据传输,都可以相互隐藏。通过测试,利用MIC大大加速了 PSTM的性能,这样不但满足了石油地震勘探处理的需求,而且大大降低了功耗,減少了机房构建成本和管理、运行、维护费用,而且这种方法实现简单,需要的开发成本低。
权利要求
1.ー种地震叠前时间偏移(PSTM)的处理方法,其特征在于,该方法包括并行发起的N个PSTM处理流程,每个PSTM处理流程包括以下步骤 FFT计算步骤,读取待处理批次的地震道数据并进行FFT计算,并将各批次的FFT计算结果交替缓存入该PSTM处理流程对应的空闲的第一或第二缓冲区; PSTM计算步骤,交替对该PSTM处理流程对应的第一或第二缓冲区中各批次FFT计算结果进行PSTM计算。
2.如权利要求I所述的方法,其特征在于应用该方法的系统包括I个中央处理器(CPU)端和(N-I)个集成众核(MIC)端,其中N个处理流程的FFT计算步骤由CPU端实现,所述N个处理流程中的PSTM计算步骤分别由该CPU端和(N-I)个MIC端实现,所述PSTM计算步骤由MIC端实现时,所述CPU端将第一、第二缓冲区中的FFT计算结果异步传输至MIC端。
3.如权利要求I所述的方法,其特征在于N为3,所述CPU端的启用16个线程,其中3个线程用于执行各处理流程的FFT计算步骤,13个线程用于所述PSTM计算步骤,所述第一、第二 MIC端分别启用120个线程执行所述PSTM计算步骤。
4.如权利要求I所述的方法,其特征在于所述PSTM处理流程之前,该方法还包括数据分配步骤,主动分配或依据各PSTM处理流程的申请分配各PSTM处理流程处理的地震道数据,直到地震道数据分配结束。
5.如权利要求4所述的方法,其特征在于所述FFT计算步骤循环执行直到分配的地震道数据处理结束,所述PSTM计算步骤循环执行直到处理完第一、第二缓冲区中的FFT计晳奸电异知米。
6.如权利要求I或4所述的方法,其特征在于,所述PSTM处理流程之后,该方法还包括汇总步骤,将各PSTM处理流程的PSTM计算结果进行汇总。
7.如权利要求6所述的方法,其特征在于所述数据分配步骤和所述汇总步骤由CPU端实现。
8.—种地震叠前时间偏移(PSI¥)的处理系统,其特征在于,该系统包括N个并行的执行単元,各执行单元包括 FFT计算模块,用于读取待处理批次的地震道数据并进行FFT计算,还用于将各批次的FFT计算结果交替缓存入该执行単元的空闲的第一或第二缓冲区; 第一缓冲区、第二缓冲区,用于缓存各批次的FFT计算结果; PSTM计算模块,用于交替对该执行単元的第一缓冲区、第二缓冲区的FFT计算结果进行PSTM计算。
9.如权利要求8所述的系统,其特征在干该系统包括I个中央处理器(CPU)端和(N-I)个集成众核(MIC)端,对应的,其中N个执行单元的FFT计算模块和第一、第二缓冲区由CPU端实现,所述N个执行単元的PSTM计算模块分别由该CPU端和(N-I)个MIC端实现;所述系统还包括CPU端实现的异步传输模块,所述执行単元的PSTM计算模块由MIC端实现时,所述异步传输模块,用于将该执行单元第一、第二缓冲区中的FFT计算结果异步传输至MIC端实现的PSTM计算模块。
10.如权利要求8所述的系统,其特征在于所述系统还包括由CPU端实现的数据分配単元,用于主动或根据各执行単元的申请分配各执行单元处理的地震道数据。
11.如权利要求8所述的系统,其特征在于所述FFT计算模块循环执行直到分配的地震道数据处理结束,所述PSTM计算模块循环执行直到处理完第一、第二缓冲区中的FFT计晳奸电异知米。
12.如权利要求8所述的系统,其特征在于所述系统还包括汇总单元,由CPU端实现,用于汇总各执行单元处理后的地震道数据。
全文摘要
本发明涉及一种地震叠前时间偏移(PSTM)的处理方法和系统,该方法包括并行发起的N个PSTM处理流程,每个PSTM处理流程包括FFT计算步骤,读取待处理批次的地震道数据并进行FFT计算,并将各批次的FFT计算结果交替缓存入该PSTM处理流程对应的空闲的第一或第二缓冲区;PSTM计算步骤,交替对该PSTM处理流程对应的第一或第二缓冲区中各批次FFT计算结果进行PSTM计算。该方法可以提高地震叠前时间偏移的处理效率。
文档编号G01V1/28GK102866423SQ20121033923
公开日2013年1月9日 申请日期2012年9月13日 优先权日2012年9月13日
发明者张清, 张广勇 申请人:浪潮(北京)电子信息产业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1