公务员期刊网 论文中心 正文

浅谈石油勘探与高性能计算机

浅谈石油勘探与高性能计算机

说起石油勘探,在人们的印象中更多浮现出来的是石油公司的野外勘探人员背着各种专用设备,通过一系列的地质勘探的方法来侦测并预估所探测地区的地层中是否存在石油,然后在这个区域内打上几口试验性的井,以验证预估是否准确。事实上这一作业方式早已过时,而且其结果往往不精确。不精确的原因在于,油田在地下并不是以油海形式存在,而是由一个彼此隔离的“葡萄串”构成的,只有油井刚好打在“葡萄”上才能大功告成。然而因为钻井费用非常昂贵,为提高效能,石油企业开始在勘探中采取地震波法。

所谓地震波法,就是用炸药在地面激起人工地震波,这种地震波可传入地下深处,并在碰到不同形态的地质构成时形成不同的反射波,这种反射波经过地面的检波器收集,并转变为电子信号后可存储为数据。通过对数据的处理,就可以模拟出勘探区域的地下地质构造,并找到存有油气的岩层的精确位置。超级计算机的设计目的就是为了进行巨大规模的矩阵计算和超大容量的数据计算。它主要用在大气和地下结构的研究中,石油和气象对超级计算机的需求最强烈,同时也直接推动超级计算机的发展。地球物理中做深部结构的研究人员对这种计算机尤其渴求,有了这种计算机,地球探测工作者会感到高性能的计算机简直就是给他们插上了翅膀。中国工程院院士、浪潮集团首席科学家王恩东曾经说:“超级计算机解决了很多传统方法解决不了的难题。比方说以前的石油勘探像看风水一样,打一口井的成本差不多2亿元人民币,下面有没有油要打完井以后才知道。但是今天通过超级计算,相当于给地球做了一个CT,可以精准地去找油。”普通计算机不敷使用,主要是因为地震波数据的特殊性。首先说其巨大。简单的说,石油勘探面对的数学问题就是Ax=b。b是野外采集到的数据,规模通常是几百GB到几十TB之间;x是地下结构模型,最简单的情况是仅考虑纵波速度,如果是一个20km×20km的工区,深度为10km,为了使反演的地下结构达到足够的精度,模型的网格不能太大,比如50m×50m×20m,这个模型就有80000000个网格,或者说8千万个需要求解的未知数。A:经过精细的信号处理,可以近似得到A。20km×20km的工区,石油勘探要做的是解一个有8千万个未知数的方程,而且是病态欠定非线性方程。

实际上,石油勘探的工区通常远远大于20kmX20km,地下结构模型也并不是只包括纵波速度,同时野外采集到的几百GB到几十TB的数据也需要进行复杂繁琐的信号处理以提高信号质量。其次说复杂。从计算时间上来说,即使仅仅考虑勘探数据处理工作中的最后一步:偏移。直到本世纪初,工业界才开始在日常的数据处理工作中引入深度偏移,就是因为从那时开始高性能并行计算机才可以处理这样大规模的问题,也仅仅是能够处理而已;因为一次偏移通常需要几天到几周,甚至几个月(这应该是上世纪末的水平)。即使是今天,做一次20km×20km×10km这个规模的工区的简单偏移,使用cluster,几百个节点,每个节点上有16个64位的CPU,一次偏移也需要十个小时左右的满负荷运算。而且通常情况下,速度模型需要迭代求解,所以一个项目可能需要多次偏移。另外,为了尽可能真实还原看不见摸不着的地下的构造,比如地层起伏、断层分布,就需要对这一堆乱七八糟的数据做处理,提高信噪比(即增加有用信息、剔除干扰信息),以不同方式还原出尽可能清晰且合理的图像。这也提升了计算的复杂性,需要超级计算机的参与。高性能并行计算是石油勘探行业的基本要求,与此同时,在大规模运算领域里,石油勘探是一个见得到实实在在的金钱利益回报的领域,也刺激了超级计算机在石油勘探领域的应用。如果你到国内的石油勘探相关单位去参观,都有几百几千个节点的并行计算机。

作者:苏衡