CN106526667A - 叠前时间偏移方法和装置 - Google Patents
叠前时间偏移方法和装置 Download PDFInfo
- Publication number
- CN106526667A CN106526667A CN201610945815.6A CN201610945815A CN106526667A CN 106526667 A CN106526667 A CN 106526667A CN 201610945815 A CN201610945815 A CN 201610945815A CN 106526667 A CN106526667 A CN 106526667A
- Authority
- CN
- China
- Prior art keywords
- offset
- node
- data
- geophone
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000005012 migration Effects 0.000 title claims abstract description 74
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000013508 migration Methods 0.000 title claims abstract description 73
- 230000015654 memory Effects 0.000 claims abstract description 23
- 238000004647 photon scanning tunneling microscopy Methods 0.000 claims abstract description 23
- 238000003384 imaging method Methods 0.000 claims abstract description 19
- 238000009826 distribution Methods 0.000 claims description 27
- 230000008569 process Effects 0.000 claims description 23
- 238000003860 storage Methods 0.000 claims description 17
- 238000007689 inspection Methods 0.000 claims description 16
- 241001269238 Data Species 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 abstract description 17
- 230000000694 effects Effects 0.000 abstract description 6
- 238000012545 processing Methods 0.000 abstract description 4
- 238000012360 testing method Methods 0.000 description 14
- 241000209094 Oryza Species 0.000 description 5
- 235000007164 Oryza sativa Nutrition 0.000 description 5
- 235000009566 rice Nutrition 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000000354 decomposition reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 241000196324 Embryophyta Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01V—GEOPHYSICS; GRAVITATIONAL MEASUREMENTS; DETECTING MASSES OR OBJECTS; TAGS
- G01V1/00—Seismology; Seismic or acoustic prospecting or detecting
- G01V1/28—Processing seismic data, e.g. for interpretation or for event detection
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01V—GEOPHYSICS; GRAVITATIONAL MEASUREMENTS; DETECTING MASSES OR OBJECTS; TAGS
- G01V2210/00—Details of seismic processing or analysis
- G01V2210/50—Corrections or adjustments related to wave propagation
- G01V2210/51—Migration
- G01V2210/512—Pre-stack
Landscapes
- Engineering & Computer Science (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Acoustics & Sound (AREA)
- Environmental & Geological Engineering (AREA)
- Geology (AREA)
- General Life Sciences & Earth Sciences (AREA)
- General Physics & Mathematics (AREA)
- Geophysics (AREA)
- Geophysics And Detection Of Objects (AREA)
Abstract
本发明提供了一种叠前时间偏移方法和装置,其中,该方法按照三个层次进行计算任务分配:第一层采用一个计算节点组一次分配一个计算任务的方式,将与炮检距个数的数量相等的计算任务分配至多个计算节点组进行PSTM处理;第二层采用输出道并行算法对各个节点进行任务分配,发挥组内各个节点的计算能力;一个节点的计算单元是由共享内存的多核组成的,第三层多核之间按照输入道并行算法进行任务分配。本发明用三层并行算法结构解决了叠前偏移成像中地震数据网络流量大造成的网络堵塞问题,达到了简单高效完成叠前时间偏移的技术效果。
Description
技术领域
本发明涉及地质勘探技术领域,特别涉及一种叠前时间偏移方法和装置。
背景技术
叠前时间偏移技术是地震资料处理技术之一,它能提供时间域中人们可见的最为准确的地震构造成像资料,在发现规模油田中有着十分重要的作用。
随着地震勘探正在迈入PB级数据时代,地震资料的处理周期越来越长,其中,叠前时间偏移是地震资料处理中最为费时的环节,一般需要占据整个处理周期的40%左右的时间。
然而,由于叠前时间偏移输入和输出数据存在多对多的依赖关系,业界一直认为叠前时间偏移并行算法是数据依赖型,因而发展了两种独立的并行算法:输入道和输出道算法。由于两者都存在地震数据网络流量巨大之致命缺陷,并行硬件规模被限制在100个节点附近,这就是叠前时间偏移处理周期长的根本原因。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种叠前时间偏移方法,以提高叠前时间偏移效率,该方法包括:
将PSTM处理的输入数据映射到四维坐标空间内得到输入地震数据,其中,所述四维坐标空间包括:CMP line、CMP、记录时间和炮检距;
对所述输入地震数据,沿炮检距维度进行分解,得到多个炮检距区间数据子集;
确定所述输入地震数据经过PSTM处理后,输出数据集的炮检距个数;
按照一个或多个炮检距区间数据子集与一个炮检距对应作为一个叠前时间偏移计算任务的方式进行划分,得到与炮检距个数的数量相等的计算任务;
将参与计算的节点划分为多个计算节点组;
按照下述三级方法进行并行任务分配:在节点组之间采用共炮检距并行算法:一个计算节点组一次分配一个计算任务的方式;在一个节点组内各节点之间采用输出道叠前时间偏移并行算法;在节点内多核之间采用输入道叠前时间偏移并行算法。
在一个实施方式中,计算节点组对分配的计算任务进行处理包括:
将分配至该计算节点组的计算任务的所有输入地震数据按照地震道数为单位,在计算节点组内的各个计算节点中进行均分;
各个计算节点独自完成分配至自身的计算任务。
在一个实施方式中,计算节点为多核计算单元,且多核共享该计算节点的内存资源,各个计算节点独自完成分配至自身的计算任务,包括:
计算节点内的多个核之间,采用输入道叠前时间偏移并行算法完成分配至该计算节点的计算任务。
在一个实施方式中,所述多个炮检距区间数据子集中各个数据子集是单独存放的。
在一个实施方式中,对所述输入地震数据,沿炮检距维度进行分解,得到多个炮检距区间数据子集,包括:
以5米作为一个炮检距间隔,对所述输入地震数据进行分解,得到多个炮检距区间数据子集。
在一个实施方式中,对所述输入地震数据,沿炮检距维度进行分解,得到多个炮检距区间数据子集,包括:
按照以下公式计算炮检距区间数据子集的个数:
j=(max_offset-min_offset)/5+1
其中,j表示炮检距区间数据子集的个数,min_offset表示输入数据中的最小炮检距,max_offset表示输入数据中的最大炮检距。
在一个实施方式中,按照以下公式确定所述输入地震数据经过PSTM处理后,输出数据集的炮检距个数:
k=(max_offset-min_offset)/offset_inc
其中,k表示输出数据集的炮检距个数,min_offset表示作业参数中的最小炮检距,max_offset表示作业参数中的最大炮检距,offset_inc表示作业参数中的炮检距增量。
本发明实施例还提供了一种叠前时间偏移装置,该装置包括:
映射模块,用于将PSTM处理的输入数据映射到四维坐标空间内得到输入地震数据,其中,所述四维坐标空间包括:CMP line、CMP、记录时间和炮检距;
分解模块,用于对所述输入地震数据,沿炮检距维度进行分解,得到多个炮检距区间数据子集;
确定模块,用于确定所述输入地震数据经过PSTM处理后,输出数据集的炮检距个数;
第一划分模块,用于按照一个或多个炮检距区间数据子集与一个炮检距对应作为一个叠前时间偏移计算任务的方式进行划分,得到与炮检距个数的数量相等的计算任务;
第二划分模块,用于将参与计算的节点划分为多个计算节点组;
任务分配模块:用于按照下述三级方法进行并行任务分配:在节点组之间采用共炮检距并行算法:一个计算节点组一次分配一个计算任务的方式;在一个节点组内各节点之间采用输出道叠前时间偏移并行算法;在节点内多核之间采用输入道叠前时间偏移并行算法。
在一个实施方式中,所述分解模块具体用于按照以下公式计算炮检距区间数据子集的个数:
j=(max_offset-min_offset)/5+1
其中,j表示炮检距区间数据子集的个数,min_offset表示输入数据中的最小炮检距,max_offset表示输入数据中的最大炮检距。
在一个实施方式中,所述确定模块具体用于按照以下公式确定所述输入地震数据经过PSTM处理后,输出数据集的炮检距个数:
k=(max_offset-min_offset)/offset_inc
其中,k表示输出数据集的炮检距个数,min_offset表示作业参数中的最小炮检距,max_offset表示作业参数中的最大炮检距,offset_inc表示作业参数中的炮检距增量。
在上述实施例中,对输入地震数据,沿炮检距维度进行分解,得到多个炮检距区间数据子集;确定所述输入地震数据经过PSTM处理后,输出数据集的炮检距个数;按照一个或多个炮检距区间数据子集与一个炮检距对应作为一个叠前时间偏移计算任务的方式进行划分,得到与炮检距个数的数量相等的计算任务;将参与计算的节点划分为多个计算节点组;采用一个计算组一次分配一个计算任务的方式,将所述与炮检距个数的数量相等的计算任务分配至所述多个计算节点组进行PSTM处理。通过上述方式有效解决了现有的叠前时间偏移方法效率低下的而技术问题,达到了有效提高叠前时间偏移方法效率的技术问题。进一步的,在各个节点组之间采用共炮检距并行算法,各个节点组独自完成不同任务,互不影响;在一个节点组内,各个节点硬件配置完全相同,采用输出道并行算法,平均分配该任务的计算量;在一个节点内,由于共享内存平均到每个核的存储空间有限,采用输入道并行算法以减少内存开销。这三种并行算法分别用到不同的硬件层级,充分发挥三种算法的优点,从而可以有效降低地震数据在网络传输中的总量,提高计算效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1是根据本发明实施例的叠前时间偏移方法的方法流程图;
图2是根据本发明实施例的输入数据共炮检距文件存储构图;
图3是根据本发明实施例的节点组内输出道并行算法示意图;
图4是根据本发明实施例的节点内多核输入道并行算法示意图;
图5是根据本发明实施例的叠前时间偏移装置的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
发明人考虑到可以叠前时间偏移共炮检距、输入道和输出道三种并行算法结合在一起,考虑到PC_Cluster分布式内存的体系架构,把三种算法分别应用到节点组之间、节点组内和节点内,发明了一种高扩展性叠前时间偏移算法,通过该叠前时间偏移算法,可以将并行规模从100个节点扩充到1000个节点及以上,从而达到缩短叠前时间偏移计算周期的目的。
三维Kirchhoff积分法偏移的基本思想是上世纪60年代地震勘探广泛使用的绕射叠加方法,三维Kirchhoff积分法偏移可以通过如下公式表示:
其中,R表示地面点(x0,y0,z0=0)到地下点(x,y,z)的距离,v表示地震波的传播速度。表示地面观测波场,也是叠前时间偏移的输入数据,u(x,y,z,t)表示成像结果波场,也是叠前时间偏移的输出数据。在该表达式中波场只考虑地面维度和垂向深度或记录时间维度,输入和输出数据之间存在高度的依赖性,因此,长期以来业界一直认为叠前时间偏移只能在三维空间进行计算。
为了缩短地震资料的处理周期,在本发明实施例中根据PC_Cluster分布式内存的体系架构的特点,可以有效提高叠前时间偏移的计算效率,具体地,如图1所示,该叠前时间偏移方法包括:
步骤101:将PSTM处理的输入数据映射到四维坐标空间内得到输入地震数据,其中,所述四维坐标空间包括:CMP line、CMP、记录时间和炮检距;
即,将待偏移地震数据映射到四维坐标空间,其中,该四维坐标空间对应的维度可以包括:CMP线号、CMP、记录时间和炮检距。随着地震采集技术的发展,地震数据量非常庞大,常常以万亿字节(TB)作为计量单位,为了后续对数据按炮检距维度进行高效的分解,可以将地震数据按照CMP线号递增顺序拆分成多文件存放。
步骤102:对所述输入地震数据,沿炮检距维度进行分解,得到多个炮检距区间数据子集;
在对输入地震数据沿着炮检距维度进行分解的时候,可以设定维度分解增量为5米,分解后数据是单独存放的小炮检距区间数据子集,假设数据子集的个数为j,那么j可以按照以下公式计算得到:
j=(max_offset-min_offset)/5+1
其中,j表示炮检距区间数据子集的个数,min_offset表示输入数据中的最小炮检距,max_offset表示输入数据中的最大炮检距。
为了提高地震数据的分解效率,可以利用多节点对多文件以并行方式进行分解,即,一个节点一次分解一个文件。可以为节点名和文件名建立双缓冲池,当节点数等于或大于文件数时,所有文件一个轮回被分解完成,当节点数小于文件数时,节点需要进行多轮回工作。分解后共炮检距数据按照多文件目录结构独立存放,一个文件对应一个目录,其中目录名用文件名命名。如图2所示,为是输入数据分解后共炮检距文件的存储构图,offset.*为一个炮检距文件,炮检距范围为i~i+5米,各个目录下有相同后缀的offset文件,它们的差别是CMP线范围不同。
步骤103:确定所述输入地震数据经过PSTM处理后,输出数据集的炮检距个数;
可以根据用户参数“offset range”提供的参数计算PSTM输出数据集炮检距个数k,具体地,可以按照以下公式计算输出数据集炮检距个数:
k=(max_offset-min_offset)/offset_inc
其中,k表示输出数据集的炮检距个数,min_offset表示作业参数中的最小炮检距,max_offset表示作业参数中的最大炮检距,offset_inc表示作业参数中的炮检距增量。
上述步骤102中的min_offset和max_offset,与上述步骤103中的min_offset和max_offset的量值一般是相同的,可以设定上述步骤103中的offset_inc为5的倍数,那么步骤103中的输出数据集的炮检距个数k小于步骤102中的数据子集的个数j。
步骤104:按照一个或多个炮检距区间数据子集与一个炮检距对应作为一个叠前时间偏移计算任务的方式进行划分,得到与炮检距个数的数量相等的计算任务;
在该步骤中,主要是为了建立步骤102中offset文件和步骤103中输出炮检距之间的对应关系。Kirchhoff叠前时间偏移某一共炮检距偏移结果只和该炮检距周围某一炮检距区间内的输入地震道有关,区间大小就是步骤103中的offset_inc的参数值。根据该原则建立步骤102的数据子集与步骤103的输出数据的各个炮检距之间的对应关系,为多对一的关系,即,步骤102中的几个数据子集对应步骤103中的一个炮检距。将对应关系中每一组元素作为叠前时间偏移的一个计算任务,各元素之间相互独立。这样就将数据依赖性叠前时间偏移拆分成数据独立性并行算法。
例如,min_offset=0,min_offset=6000,offset_inc=50,那么步骤102中的offset文件个数j=1200个,炮检距范围依次为0~4、5~9、10~14…5995~6000。步骤103中的输出共炮检距数k=120个,炮检距范围依次为0~50、51~100、101~150…5951~6000。由此可以看出,步骤102中的10个offset文件和步骤103中的一个输出共炮检距对应。图2中虚线框内所有offset文件中地震数据只参与一个炮检距的计算。
步骤105:将参与计算的节点划分为多个计算节点组;
在该步骤中,可以先计算一个共炮检距的成像空间M:
M=CMP line数*CMP数*记录样点数*4/1024/1024/1024(GB)
将参与计算的节点分成若干组,每组包括n个节点,选定组内第一个节点为“组长”(Group leader)节点,其它节点作为“组员”(Group member)节点。
步骤106:按照下述三级方法进行并行任务分配:在节点组之间采用共炮检距并行算法:一个计算节点组一次分配一个计算任务的方式;在一个节点组内各节点之间采用输出道叠前时间偏移并行算法;在节点内多核之间采用输入道叠前时间偏移并行算法;
用节点组数建立资源池、步骤103计算的输出共炮检距数k建立任务池,按照双循环方式给资源池中节点组进行任务分配,一组节点一次分配一个共炮检距任务,这就是共炮检距叠前时间偏移并行算法,该算法的计算任务之间完全独立,不存在数据之间的交错访问,因此可以有效减少地震数据在网络上的传递总量。
在组内各计算节点之间采用输出道叠前时间偏移并行算法,具体地,可以将该组节点计算任务所有输入地震数据以地震道数为单位在节点间进行均分,每个节点的内存中申请M(GB)存储空间用于存放该任务的偏移结果。偏移计算阶段组内各节点独自完成各自计算任务,由于单个共炮检距成像结果是三维数据体,一般计算得到的成像空间M不会很大,当前常用PC_Cluster单节点共享存储在24GB以上,有能力存储该炮检距的偏移结果。如图3所示,为节点组内输出道并行算法示意图。
计算节点内可以是多核计算单元共享内存体系结构,虽然节点内共享存储足够大,但是平均到每个计算核上存储空间非常有限,因此,在节点内多核之间采用输入道叠前时间偏移并行算法,具体地可以将分配至该节点的所有输入地震数据分批读入输入数据缓冲池中等待偏移计算,每个核对缓冲池中所有地震道都要进行偏移,所有核共享申请的M(GB)存储空间,可以将该空间按照总核数进行均分,一个核负责一部分成像空间任务的计算,所有核共同完成全部成像空间的计算任务。如图4所示,为节点内输入道并行算法示意图。
以图4中的单节点4核为例,该炮检距涉及到的输入地震道被分批读入到输入数据缓冲池,4个核一次从缓冲池中读取相同的一个地震道进行偏移,图4下部的网格范围表示申请内存的总大小,该内存按照节点核数4进行均分,该例中示意的是循环分割法,每个核只负责1/4成像空间计算任务。每个核负责自身下面对应的网格,全部4个核完成整个成像空间的计算任务。该道偏移计算完成后从缓冲池被删除,所有核进入下一地震道偏移计算。同时读数据先从磁盘中读取1道数据存入缓冲池中,当磁盘中该任务涉及的所有地震道被读入,读数据现成停止工作。缓冲池空时该节点计算任务完成。节点内输入道并行算法没有增加额外的内存开销。
在上例中,提供了一种叠前时间偏移并行算法,涉及内容由三个并行算法组合形成:第一级采用共炮检距并行算法;第二级用输出道并行算法,应用于同一个节点组内各个节点上;第三级用输入道并行算法,应用于同一个节点内的多个计算核上。将三种不同类型的并行算法应用到不同的硬件层次,从而形成一种全新的叠前时间偏移方法。
因第一级通过共炮检距并行算法将输入数据沿炮检距维度分割、全部计算节点分组,偏移计算时采用数据组和节点组一一对应方法,地震数据不需要在节点组之间传递,把叠前时间偏移并行算法从传统数据密集型转换为了数据稀疏型算法,减少了2个数量级的地震数据网络流量,从而可以使并行计算的硬件规模扩大2个数量级,达到了提高计算效率、缩短运行时间的效果。因第二级将输出道并行算法应用到一个节点组内,在一个节点组内对地震数据采用先分后模式,即在节点之间平分一个炮检距内输入数据合并各个节点偏移结果数据,使得每个节点的计算单位得到最大限度的使用,由于组内节点数有限,合并偏移结果时不会产生太多的网络流量,网络也不会拥堵。第三级将输入道并行算法应用到一个节点多核之间,由于节点内为多核共享存储架构,输入地震数据读入到内存各个计算核都能对其直接操作,地震数据不需要在计算核之间传递,但是内存总量有限,平均到每个核上非常少。在地震数据的分配模式上输入道并行方法和输出道方法刚好相反,采用先和后分形式,即每个核要拿到所有输入数据、所有核共享一份偏移结果数据,这样既不增加数据流量又不增加对内存的额外需求。
通过以上三级并行方法在不同硬件层面进行有机结合,解决了叠前时间偏移并行算法存在的数据密集型问题,形成了一种高扩展性、高效率、极低硬件资源要求的并行算法,该算法不仅适合CPU集群、也适合显存非常小的GPU集群。该技术应用与生产可使地震数据叠前时间偏移运行周期缩短到目前的1/10。
一个炮检距成像任务计算完成,组长节点叠加本组所有节点的成像结果并输出,同时释放存储空间并申请下一个炮检距成像任务。随后再执行下一个炮检距计算任务,直至任务池空,程序运行结束。
下面结合一具体实施例对上述叠前时间偏移方法进行说明,然而值得注意的是,该具体实施例仅是为了更好地说明本申请,并不构成对本申请的不当限定。
测试机器配置2路6核Intel Xeon X5670(CPU卡,共12个物理核)和2路NvidiaTesla K20Xm(GPU卡),节点总数7168个,本次测试主要目的是测试本专利产品的扩展性,只用到CPU计算单元。测试数据为一个三维工区,输入数据总量2.0TB,测试数据的CMP线范围为:1-1696线,CMP范围为:1~1848,成像空间共有3134208个面元。数据min_offset=0米,max_offset=7300米,用户期望的offset_inc=50米,所以炮检距总数(并行计算的任务数)为146个。
测试中保持计算总量不变,用不同数量节点完成偏移计算。共运行了5个作业,节点数分别是128、256、512、768、1024,除了第四个作业外其他四个作业节点数倍程增加,计算节点按16个一组进行分组,节点组总数分别为8、16、32、48、64。测试结果参看表1,由表1可以看出随着节点数的增加,虽然实际加速比相对于理论加速比的接近度度逐渐减少,但是即使计算的节点规模增加到1024,加速比接近度达到89.8%,由此可见,通过本申请提供的方法可以将规模扩展至超过1024个节点。
表1
如表2所示是业界同类叠前时间偏移软件加速比测试结果,该软件采用输入道并行算法,这类算法地震数据网络流量和节点数成正比,随着节点数增加网络流量急剧增长,当网络流量超过物理网络的传输能力,程序将不再加速。从测试结果可以看出当节点数大于128时,加速比不再提高,也就是说对比软件的硬件最大扩展规模在128个节点附近。
表2
测试1 | 测试2 | 测试3 | 测试4 | 测试5 | |
节点数 | 16 | 32 | 64 | 128 | 256 |
实际加速比 | 1 | 1.4 | 2.15 | 2.40 | 2.42 |
理论加速比 | 1 | 2 | 4 | 8 | 16 |
接近度 | 100% | 70% | 53.75% | 30% | 15.1% |
从以上的描述中,可以看出,本发明实施例实现了如下技术效果:在各个节点组之间采用共炮检距并行算法,各个节点组独自完成不同任务,互不影响;在一个节点组内,各个节点硬件配置完全相同,采用输出道并行算法,平均分配该任务的计算量;在一个节点内,由于共享内存平均到每个核的存储空间有限,采用输入道并行算法以减少内存开销。三种并行算法分别用到不同的硬件层级,充分发挥三种算法的优点摒弃缺点。和传统并行算法相比,地震数据在网络传输总量降低2个数量级。通过上述方式可以有效提高叠前时间偏移的计算效率。
基于同一发明构思,本发明实施例中还提供了一种叠前时间偏移装置,如下面的实施例所述。由于叠前时间偏移装置解决问题的原理与叠前时间偏移方法相似,因此叠前时间偏移装置的实施可以参见叠前时间偏移方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图5是本发明实施例的叠前时间偏移装置的一种结构框图,如图5所示,可以包括:映射模块501、分解模块502、确定模块503、第一划分模块504、第二划分模块505和分配模块506,下面对该结构进行说明。
映射模块501,用于将PSTM处理的输入数据映射到四维坐标空间内得到输入地震数据,其中,所述四维坐标空间包括:CMP line、CMP、记录时间和炮检距;
分解模块502,用于对所述输入地震数据,沿炮检距维度进行分解,得到多个炮检距区间数据子集;
确定模块503,用于确定所述输入地震数据经过PSTM处理后,输出数据集的炮检距个数;
第一划分模块504,用于按照一个或多个炮检距区间数据子集与一个炮检距对应作为一个叠前时间偏移计算任务的方式进行划分,得到与炮检距个数的数量相等的计算任务;
第二划分模块505,用于将参与计算的节点划分为多个计算节点组;
分配模块506,用于按照下述三级方法进行并行任务分配:在节点组之间采用共炮检距并行算法:一个计算节点组一次分配一个计算任务的方式;在一个节点组内各节点之间采用输出道叠前时间偏移并行算法;在节点内多核之间采用输入道叠前时间偏移并行算法。
在一个实施方式中,计算节点组对分配的计算任务进行处理可以包括:将分配至该计算节点组的计算任务的所有输入地震数据按照地震道数为单位,在计算节点组内的各个计算节点中进行均分;各个计算节点独自完成分配至自身的计算任务。
在一个实施方式中,计算节点为多核计算单元,且多核共享该计算节点的内存资源,各个计算节点独自完成分配至自身的计算任务,包括:计算节点内的多个核之间,采用输入道叠前时间偏移并行算法完成分配至该计算节点的计算任务。
在一个实施方式中,所述多个炮检距区间数据子集中各个数据子集是单独存放的。
在一个实施方式中,对所述输入地震数据,沿炮检距维度进行分解,得到多个炮检距区间数据子集,包括:以5米作为一个炮检距间隔,对所述输入地震数据进行分解,得到多个炮检距区间数据子集。
在一个实施方式中,可以按照以下公式计算炮检距区间数据子集的个数:
j=(max_offset-min_offset)/5+1
其中,j表示炮检距区间数据子集的个数,min_offset表示输入数据中的最小炮检距,max_offset表示输入数据中的最大炮检距。
在一个实施方式中,可以按照以下公式确定所述输入地震数据经过PSTM处理后,输出数据集的炮检距个数:
k=(max_offset-min_offset)/offset_inc
其中,k表示输出数据集的炮检距个数,min_offset表示作业参数中的最小炮检距,max_offset表示作业参数中的最大炮检距,offset_inc表示作业参数中的炮检距增量。
在另外一个实施例中,还提供了一种软件,该软件用于执行上述实施例及优选实施方式中描述的技术方案。
在另外一个实施例中,还提供了一种存储介质,该存储介质中存储有上述软件,该存储介质包括但不限于:光盘、软盘、硬盘、可擦写存储器等。
从以上的描述中,可以看出,本发明实施例实现了如下技术效果:对输入地震数据,沿炮检距维度进行分解,得到多个炮检距区间数据子集;确定所述输入地震数据经过PSTM处理后,输出数据集的炮检距个数;按照一个或多个炮检距区间数据子集与一个炮检距对应作为一个叠前时间偏移计算任务的方式进行划分,得到与炮检距个数的数量相等的计算任务;将参与计算的节点划分为多个计算节点组;采用一个计算组一次分配一个计算任务的方式,将所述与炮检距个数的数量相等的计算任务分配至所述多个计算节点组进行PSTM处理。通过上述方式有效解决了现有的叠前时间偏移方法效率低下的而技术问题,达到了有效提高叠前时间偏移方法效率的技术问题。进一步的,在各个节点组之间采用共炮检距并行算法,各个节点组独自完成不同任务,互不影响;在一个节点组内,各个节点硬件配置完全相同,采用输出道并行算法,平均分配该任务的计算量;在一个节点内,由于共享内存平均到每个核的存储空间有限,采用输入道并行算法以减少内存开销。这三种并行算法分别用到不同的硬件层级,充分发挥三种算法的优点,从而可以有效降低地震数据在网络传输中的总量,提高计算效率。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种叠前时间偏移方法,其特征在于,包括:
将PSTM处理的输入数据映射到四维坐标空间内得到输入地震数据,其中,所述四维坐标空间包括:CMP line、CMP、记录时间和炮检距;
对所述输入地震数据,沿炮检距维度进行分解,得到多个炮检距区间输入数据子集;
确定所述输入地震数据经过PSTM处理后,输出数据集的炮检距个数;
按照一个或多个炮检距区间输入数据子集与一个炮检距成像结果数据对应作为一个叠前时间偏移计算任务的方式进行划分,得到与炮检距个数的数量相等的计算任务;
将参与计算的节点划分为多个计算节点组;
按照下述三级方法进行并行任务分配:在节点组之间采用共炮检距并行算法:一个计算节点组一次分配一个计算任务的方式;在一个节点组内各节点之间采用输出道叠前时间偏移并行算法;在节点内多核之间采用输入道叠前时间偏移并行算法。
2.根据权利要求1所述的方法,其特征在于,采用一个计算节点组一次分配一个计算任务的方式,将所述与炮检距个数的数量相等的计算任务分配至所述多个计算节点组,包括:
当计算任务的数量和计算节点组的数量不相等时,建立任务池和资源池,按照双循环方法进行计算任务分配。
3.根据权利要求1所述的方法,其特征在于,在一个节点组内各节点之间采用输出道叠前时间偏移并行算法,包括:
将分配至当前计算节点组的计算任务的所有输入地震数据按照地震道数为单位,在计算节点组内的各个计算节点中进行均分;
各个计算节点在各自的分布式内存中申请相同大小的空间用于存放成像结果,其中,申请的空间等于一个共炮检距偏移结果数据体的大小;
各个计算节点独自完成分配至自身的计算任务;
在当前计算节点组中的各个节点都计算完成后,对各个计算节点的偏移结果进行合并。
4.根据权利要求1所述的方法,其特征在于,在节点内多核之间采用输入道叠前时间偏移并行算法,包括:
对成像空间按照当前节点的核数进行均分,保证一个核负责一份成像空间的计算任务;
当前节点的所有核一次完成一个相同输入地震道偏移,不同核计算各自的成像空间。
5.根据权利要求1所述的方法,其特征在于,所述多个炮检距区间输入数据子集中各个数据子集是单独存放的。
6.根据权利要求1所述的方法,其特征在于,对所述输入地震数据,沿炮检距维度进行分解,得到多个炮检距区间数据子集,包括:
按照以下公式计算炮检距区间数据子集的个数:
j=(max_offset-min_offset)/5+1
其中,j表示炮检距区间数据子集的个数,min_offset表示输入数据中的最小炮检距,max_offset表示输入数据中的最大炮检距。
7.根据权利要求1所述的方法,其特征在于,按照以下公式确定所述输入地震数据经过PSTM处理后,输出数据集的炮检距个数:
k=(max_offset-min_offset)/offset_inc
其中,k表示输出数据集的炮检距个数,min_offset表示作业参数中的最小炮检距,max_offset表示作业参数中的最大炮检距,offset_inc表示作业参数中的炮检距增量。
8.一种叠前时间偏移装置,其特征在于,包括:
映射模块,用于将PSTM处理的输入数据映射到四维坐标空间内得到输入地震数据,其中,所述四维坐标空间包括:CMP line、CMP、记录时间和炮检距;
分解模块,用于对所述输入地震数据,沿炮检距维度进行分解,得到多个炮检距区间数据子集;
确定模块,用于确定所述输入地震数据经过PSTM处理后,输出数据集的炮检距个数;
第一划分模块,用于按照一个或多个炮检距区间数据子集与一个炮检距对应作为一个叠前时间偏移计算任务的方式进行划分,得到与炮检距个数的数量相等的计算任务;
第二划分模块,用于将参与计算的节点划分为多个计算节点组;
任务分配模块,用于按照下述三级方法进行并行任务分配:在节点组之间采用共炮检距并行算法:一个计算节点组一次分配一个计算任务的方式;在一个节点组内各节点之间采用输出道叠前时间偏移并行算法;在节点内多核之间采用输入道叠前时间偏移并行算法。
9.根据权利要求8所述的装置,其特征在于,所述分解模块具体用于按照以下公式计算炮检距区间数据子集的个数:
j=(max_offset-min_offset)/5+1
其中,j表示炮检距区间数据子集的个数,min_offset表示输入数据中的最小炮检距,max_offset表示输入数据中的最大炮检距。
10.根据权利要求8所述的装置,其特征在于,所述确定模块具体用于按照以下公式确定所述输入地震数据经过PSTM处理后,输出数据集的炮检距个数:
k=(max_offset-min_offset)/offset_inc
其中,k表示输出数据集的炮检距个数,min_offset表示作业参数中的最小炮检距,max_offset表示作业参数中的最大炮检距,offset_inc表示作业参数中的炮检距增量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610945815.6A CN106526667B (zh) | 2016-10-26 | 2016-10-26 | 叠前时间偏移方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610945815.6A CN106526667B (zh) | 2016-10-26 | 2016-10-26 | 叠前时间偏移方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106526667A true CN106526667A (zh) | 2017-03-22 |
CN106526667B CN106526667B (zh) | 2018-10-16 |
Family
ID=58293381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610945815.6A Active CN106526667B (zh) | 2016-10-26 | 2016-10-26 | 叠前时间偏移方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106526667B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108983283A (zh) * | 2018-05-04 | 2018-12-11 | 中国石油天然气股份有限公司 | 一种消除并行成像处理痕迹的方法、装置及系统 |
CN113568047A (zh) * | 2020-04-28 | 2021-10-29 | 中国石油天然气集团有限公司 | 一种叠前成像道集生成方法和装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5198979A (en) * | 1989-09-26 | 1993-03-30 | Shell Oil Company | Seismic migration of multiprocessor computer |
CN101963916A (zh) * | 2010-09-28 | 2011-02-02 | 中国科学院地质与地球物理研究所 | 编译处理方法及装置 |
US20120316850A1 (en) * | 2011-06-10 | 2012-12-13 | International Business Machines Corporation | Full waveform inversion using combined shot data and no scratch disk |
CN103698809A (zh) * | 2012-09-28 | 2014-04-02 | 中国石油天然气集团公司 | 一种无加速比瓶颈的克希霍夫叠前时间偏移并行方法 |
CN103713314A (zh) * | 2012-09-28 | 2014-04-09 | 中国石油化工股份有限公司 | 一种叠前时间偏移并行处理方法 |
CN104133240A (zh) * | 2014-07-29 | 2014-11-05 | 中国石油天然气集团公司 | 大规模并行的克希霍夫叠前深度偏移方法及装置 |
CN104459781A (zh) * | 2014-12-09 | 2015-03-25 | 中国石油天然气集团公司 | 三维叠前地震数据的随机噪声衰减方法 |
CN104635258A (zh) * | 2013-11-06 | 2015-05-20 | 中国石油天然气集团公司 | 一种应用cpu-gpu平台进行地震波逆时偏移成像方法 |
CN105403913A (zh) * | 2015-10-30 | 2016-03-16 | 中国石油天然气集团公司 | 叠前深度偏移方法和装置 |
CN105445792A (zh) * | 2015-11-26 | 2016-03-30 | 中国科学院地质与地球物理研究所 | 一种叠前多次波逆时偏移地震数据处理方法及系统 |
-
2016
- 2016-10-26 CN CN201610945815.6A patent/CN106526667B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5198979A (en) * | 1989-09-26 | 1993-03-30 | Shell Oil Company | Seismic migration of multiprocessor computer |
CN101963916A (zh) * | 2010-09-28 | 2011-02-02 | 中国科学院地质与地球物理研究所 | 编译处理方法及装置 |
US20120316850A1 (en) * | 2011-06-10 | 2012-12-13 | International Business Machines Corporation | Full waveform inversion using combined shot data and no scratch disk |
CN103698809A (zh) * | 2012-09-28 | 2014-04-02 | 中国石油天然气集团公司 | 一种无加速比瓶颈的克希霍夫叠前时间偏移并行方法 |
CN103713314A (zh) * | 2012-09-28 | 2014-04-09 | 中国石油化工股份有限公司 | 一种叠前时间偏移并行处理方法 |
CN104635258A (zh) * | 2013-11-06 | 2015-05-20 | 中国石油天然气集团公司 | 一种应用cpu-gpu平台进行地震波逆时偏移成像方法 |
CN104133240A (zh) * | 2014-07-29 | 2014-11-05 | 中国石油天然气集团公司 | 大规模并行的克希霍夫叠前深度偏移方法及装置 |
CN104459781A (zh) * | 2014-12-09 | 2015-03-25 | 中国石油天然气集团公司 | 三维叠前地震数据的随机噪声衰减方法 |
CN105403913A (zh) * | 2015-10-30 | 2016-03-16 | 中国石油天然气集团公司 | 叠前深度偏移方法和装置 |
CN105445792A (zh) * | 2015-11-26 | 2016-03-30 | 中国科学院地质与地球物理研究所 | 一种叠前多次波逆时偏移地震数据处理方法及系统 |
Non-Patent Citations (3)
Title |
---|
王狮虎 等: "Kirchhoff叠前时间偏移并行算法", 《2012全国高性能计算学术年会论文集》 * |
赵长海 等: "面向大规模异构计算系统的3D叠前Kirchhoff时间偏移算法", 《2014全国高性能计算学术年会论文集》 * |
赵长海 等: "高度可扩展的3D叠前Kirchhoff时间偏移并行算法", 《计算机研究与发展》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108983283A (zh) * | 2018-05-04 | 2018-12-11 | 中国石油天然气股份有限公司 | 一种消除并行成像处理痕迹的方法、装置及系统 |
CN113568047A (zh) * | 2020-04-28 | 2021-10-29 | 中国石油天然气集团有限公司 | 一种叠前成像道集生成方法和装置 |
CN113568047B (zh) * | 2020-04-28 | 2024-05-28 | 中国石油天然气集团有限公司 | 一种叠前成像道集生成方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106526667B (zh) | 2018-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104133240B (zh) | 大规模并行的克希霍夫叠前深度偏移方法及装置 | |
Park et al. | Discrete sibson interpolation | |
CN105403913A (zh) | 叠前深度偏移方法和装置 | |
CN103605161B (zh) | 地震三维观测系统的共中心点面元属性的分析方法及装置 | |
US6996470B2 (en) | Systems and methods for geophysical imaging using amorphous computational processing | |
WO2004034087A2 (en) | Method and system for distributed tomographic velocity analysis using dense p-maps | |
CN103698809B (zh) | 一种无加速比瓶颈的克希霍夫叠前时间偏移并行方法 | |
NO310323B1 (no) | Innlegging og lastbalansering av seismiske data for prosessering på en flerprosessordatamaskin med inngangs- ogoperatornoder | |
Nishida et al. | Accelerating the dynamic programming for the optimal polygon triangulation on the GPU | |
CN103903061A (zh) | 三维矿产资源预测评价中信息综合处理装置及其方法 | |
CA2222721C (en) | Method for determining seismic data traveltime fields on a massively parallel computer | |
CN106526667B (zh) | 叠前时间偏移方法和装置 | |
CN110031898A (zh) | 数据优化方法及积分法叠前深度偏移方法 | |
Gross et al. | Fast and Efficient Nearest Neighbor Search for Particle Simulations. | |
CN106484532B (zh) | 面向sph流体模拟的gpgpu并行计算方法 | |
EP0846294B1 (en) | Method for frequency domain seismic data processing on a massively parallel computer | |
CN106526666B (zh) | 叠前深度偏移方法、装置及系统 | |
CN106405641B (zh) | 叠前时间偏移方法和装置 | |
CN103064110B (zh) | 一种波动方程叠前偏移中的分层延拓成像方法 | |
CN106199706A (zh) | 三维观测系统面元属性统计方法及装置 | |
CN107730464A (zh) | 基于块匹配的图像降噪并行算法 | |
CN105738949B (zh) | 一种用于时移地震的九面元一致性并行处理方法 | |
CN106842314A (zh) | 地层厚度的确定方法 | |
CN105572730B (zh) | 三维复杂结构声波正演方法 | |
de Gomensoro Malheiros et al. | Spatial sorting: an efficient strategy for approximate nearest neighbor searching |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |