赖能和:海量地震数据存储处理及应用再造

中国石油东方地球物理公司研究院数据处理中心总工程师赖能和老师介绍说:他在石油东方地球物理公司研究院工作时间长,1983年一直在做计算机这方面的工作。石油东方地球物理公司就是跟地球近地表,也就是在20公里的近地表差不多,给它做一些CT,把近地表的情况地下情况搞清楚。怎么做呢?实际上就是通过人工地震,通过发射地震波,向地下传播以后,岩石、泥土、沙、石、水泥反射的系数不一样,把这个反射回来,把信号接收的数据采集,然后进行处理。在40多个国家有机构,国外的营业额超过60%左右, 26000个员工,有9万CPU核、80万GPU核、超过35PB存储。35PB就是保持这个量,运算能力达到2PFlops。公司是高端服务器。自己还做软件开发,体系装备、制造,国内国外还有很多数据中心,还有很多勘探床,一条勘探床好几十个亿。

然后分享的就是SSD技术在海量地震数据处理中是怎么应用?为什么要用SSD?SSD用到哪些地方?解决什么问题?通过这个报告,让大家了解三件事。第一、了解一下石油勘探进入了大数据时代。很多人都说大数据时代,什么是大数据,各行真的不一样,我们是结构化数据,确实很大。第二、海量数据对高性能计算带来哪些挑战和机遇?第三、针对海量数据会存在很多技术问题,包括软件问题和硬件问题,还有很多算法问题,有哪些地方可以用SSD?为什么要用SSD?如果不用SSD行不行?当然是不行。

第一部分,油气勘探进入大数据时代。要搞石油的,跟IT有什么关系? IT用的比例最多的就是在油气勘探上面,IT和油气勘探密不可分。计算机是我们找油找气的核心。第一、我们要有强大的计算机,这个强大到什么程度?“天河一号”这样的计算机。第二、还要有很精确的算法,就是反射的速度要搞清楚。第二、还有一个质量很重要,这一口井打下去,非常贵。所以,计算机和油气勘探是密不可分的,所以这是一个。第二、我们找石油就是通过地面,由车辆激发波,然后地下反射回来,产生数据。数据有多大?勘探车有,有24个气枪同时发射,漫射回来。另外,现在计算机技术发展以后,存储技术发展以后,勘探也有很大的变化,以前是一台机器干活,效率太低了。大数据怎么来的?比如有十台机器,二十台机器同时在做,零点几秒,或者几秒钟同时接收,然后分析,这是一个很大的难题。像这种采集方法,会对我们数据产生非常大的影响。一个小队每天产生的数据7TB到10TB,沙特一天一个小队的数据25T,当天晚上还要回到室内倒出去,倒到另外的设备上,第二、还要把25T的数据处理,25T数据读要花多长时间,还要处理,如果没有问题,第二天天一亮接着施工,这个队伍一耽误就是上百万的资金投入,所以这是大数据怎么来的。

很多人说大数据对油气勘探有什么意义?我们做CT,我们搞石油也是一样,采集的点数精度高,肯定计算量太大,所以我们也是一样的,我们搞石油勘探,把点数加密以后,对提高成像,搞清楚地下构造搞得更清楚了,看得清清楚楚。不能说百分之百,现在看得更清楚了,我们就可以看到。现在这个是300米一条线,在国外已经达到50米的条线,新疆是500米左右,后续还有很多工作要做,新疆塔里木大沙漠里头,是500米的条线。上面是常规的,后面是高密度的,这个常规的信号,信息的上下都没有,高密度以后,全方位的信息都有了,来自各个方面的信息都很清楚,这样对地下构造肯定搞得很清楚。这叫宽方位的采集,把360度方向的信息全收集起来,把地下搞清楚。

常规的采集与高密度采集,整个地下构造用大数据看得很清楚。包括地下哪个地方有油,哪个地方有水,有沙,有裂缝都搞得更精细了。这个代价就是要非常多的计算资源,要很多存储。

第三、高密度,这种技术,因为现在我们的勘探技术已经有了,IT的成本也下来了,所以这种采集方法一种新的趋势,在国外非常普及,数据量会越来越大。欧洲一个杂志的数据显示,数据和以前比,道密度增加2500倍,现在几百T的数据是很正常的,这是真正的大数据。

那么大数据对我们计算机,很多人说,数据要慢慢做。那么大数据只给你一点时间,时间不多。带来哪些机遇和挑战?一个就是计算资源不够,我们现在计算机的技术,目前我们国内计算机的技术只能满足也就是三年前的计算机的技术水平,远远不够。我们现在为什么还要超算中心,后面每上一个台阶的算法都差好几十倍,甚至上百倍的计算量,就是往上走,算法可能很多人学过数学,涡轮方程,往上走一步,边界系数加一个,多一项,那计算量是多很多很多了。

我们目前整个计算能力,计算技术还是远远没法满足油气勘探这方面的需求,跟国外还是有点差距。我们几万多个CPU在国内是最大的,斯伦贝谢是25万核,我们才9万核,还是有差距,所以跟国外的发达国家,全球最大的公司还是有差距。但是,我们目前来说,对解决我们国内问题还是可以的。

再举个例子,我每一个项目,第一个投入1000个CPU,做一步,40天,第二行,4096个CPU,做60天,8432个CPU做4天,9000多CPU还做7天。刚才说有一个算法,往前走一步,计算量增加很多。咱们做相机一样,象素往上走一步,计算机芯片处理的速度就有很高的不稳定。

第二、存储,量非常大,每年十几个P的存储的增加,干什么用?比如50T的项目要把它完成至少要有1000T的裸容量给它,因为它有好几步的迭代,所以这是非常可怕的事情。

第三、这种海量数据对我们的计算机,整个的一些特性也提出很多挑战。我们这个挑战一个就是我们现在的计算机的价格,处理海量数据肯定不灵,因为我们采取一些特殊的技术,还要进行优化配置。第二、机器把它用好不容易,怎么把它用好。还有那么大的存储,不是每一家公司买来就能用,买来怎么整合好,怎么用好,不是那么简单,几千T的存储数据在上面,数据丢了就完蛋了,我们对它的稳定性,对它的管理,以及它怎么好用,对存储提出很大的挑战。第三、要解决存储,像CPU很快,存储还是相对慢的,怎么结果IO瓶颈问题地另外,按照过去的算法做,肯定不行,至少要多线程,计算并行,或者算法并行,这样才能很快把数据处理完。另外就是能耗,这个能耗很厉害,我们一年电费好几千万。一万T的存储,多少电?但是因为每个机房的电是有限的,很多技术问题。所以,对我们高密度的系统,一个是配置很高。

那么,刚才看到为什么油气会造成大数据,大数据对油气勘探带来什么新的机遇和挑战,肯定需要更高性能的计算机,机遇也来了,咱们挑战是怎么解决这些问题。

下面我们跟大家分享一下。第一、我们要高配置,内存、硬盘、散热、五个128G的内存,5T的盘在里头,散热不好根本不行,因为我的机器365天在那儿转,还不能出故障,这样对它的高配置,特别是散热要求非常高。第二、高带宽,无阻塞,低延迟的万兆以上的交换网。第三、存储,就是高性能,可扩展,横向扩展,另外就是并行存储。第四、因为是海量数据,它要做并发计算,还不是并行计算,大并发,就是同时要发送几千个作业上去,几千个,机器要死了。第五、就是稳定的大规模的并行处理系统,就是一个文件进去,一个文件出来。

举个例子,就是I/O密集型的,一个是网络配置很高,另外配Xeon的存储系统,这是I/O密集型的,第二、计算密集型的,全靠CPU不行,肯定要加GPU等,盘都是有很好的盘,还有NVidia网络,这是第二个例子。

第三就是大存储,大存储跟小存储区别很大,小规模的比如送十个作业的时候,大存储,小存储关系不大,看不出来。20个作业的时候,有差别了,大存储就370亿秒就做完了,小存储要1000多秒,到50个作业并发的时候,就更大了,3000多秒,4000多秒,100个作业送上去的时候,是700秒。多花钱是有好处的,性能肯定不一样,跟领导说清楚,不是便宜的东西就是好的,有些东西多花钱还是有好处的,其实贵带来的是效益,要跟领导说清楚,都会同意买好一点的东西。

第四、我们刚刚说了海量数据处理对存储并发作业要求很高。举个例子,54T的数据,同时发1400多个作业,就是1400多个节点要对付他,你做你的,我做我的,做完结果再总结,这是并发的要求高。

那么,SSD怎么起作用呢?我们举个例子,数据量大了以后,计算机节点,单节点,包括服务器里的内置盘非常大。举个例子,你说我有单块盘,花了137分钟,我用SSD36分钟就做完了,但是肯定不止这个速度,因为它这边很多因素综合,你要光从系统层级测试可能差别没有那么小。这是I/O。

第二个就是算法,就是随机存储,存储多了,用SSD盘,或者普通的盘有什么差别呢?从这个看到,SSD的盘性能肯定要超过其他友商的盘,SSD不到7个小时做完了,普遍盘要做12个小时。

第七个例子,SSD作为数据库的节点,数据库的存储,数据库都是随机存取,非常多,尤其海量数据。所以,我们Oracle数据库服务器都配一些卡,一个卡2.4T。另外就是算法,这个也是一个例子,数据量很小很小,普通盘子136秒,这个就是64秒就做完了,也就是两倍多左右,这对我们解决一些特殊的应用,算法还是非常有希望的。这个例子就是83T的数据,156亿总道数。这个要做18天,我用SSD盘三天多就做完了,每个行业都是优先,特殊的一些算法,对它的应用效果还是非常明显。

最后一个就是用在海量存储的加速器。这全部是最高端的存储,其实这些存储哪个都有优缺点,怎么来解决呢?我们用加速卡,有些存储它的I/O之做批量作业很快,但是一打命令就死了,加上加速卡以后,把这个问题解决了。现在做交付处理,像我们三四百人同时做交互处理,三四百人同时用这个机器,存储加速卡还是起很大的作用,如果对作业,像这种存储,对作业影响不是太大,1800多秒,慢200多秒无所谓,但是300多秒,变成19秒就不一样了。

我们另外一套存储,我们也是加加速卡,这一套存储2000T,做I/O ROM,他加了加速卡,加加速卡肯定是有效的,多掏一点钱,我们跟上面领导说,我买的就是最贵的存储,就是这个设备,领导说你搞这一行的,得自己想办法,别问我。那你就得琢磨去。通过做加速,通过混合,包括跟服务器,服务器这个层级的内置盘和SSD盘,混合盘整体的应用,我觉得这方面都是我们下一步要做的。比如并行软件,对我们整个并行存储性能的提升影响非常大。我们有非常多的例子,我们所有存储都是并行存储。

地震勘探我们已经进入了一个高密度,大数据的时代。我们的计算量和计算量的一些算法会越来越大,复杂度也越来越增加,对我们的计算机一是要求稳定性,第二、更大规模。第二、对我们计算机的配置要求越来越高,现在有效算法,都要三四百GB的内存才能解决这个问题,这样我们探讨是不是要内存的存储,我们都在想办法,对高性能的存储,还有一个是对应用软件,针对我们一些应用软件的算法才有不同的存储,来有效的提高我们整个生产的效率。我们相信以大容量、低功耗、稳定的高性能并行存储和SSD技术为解决海量地震数据处理提供了有利条件。通过这几年的应用,SSD用了四年多了,这样对我们解决一些复杂的算法和海量数据起到了非常关键的作用!