● 摘要
油气工业是高性能计算机的重点应用领域,从最早的向量处理机、SMP、大规模并行处理机等,一直到现在的大规模通用集群,该领域始终走在应用前列。由于油气工业极其依赖计算机和数据,甚至有人说过,“石油工业就是信息工业”。目前世界上最快的高性能计算机已突破千万亿次,预计很快突破万万亿次,但是与硬件的发展相比,并行软件的发展则显得非常滞后,硬件效率无法得到充分的发挥,造成了极大的浪费。并行编程模型的研究已成为发展并行处理技术当务之急的课题。油气地震资料处理涉及海量的数据和高复杂度的算法,是典型的数据密集与计算密集兼备的计算,其中有些计算规模比较大的问题需要几千台机器共同工作,才能在合理的时间内完成,但是编写这么大规模的并行程序,难度非常大。本文研究的目标,就是帮助油气行业的开发人员以更加简单的方式,编写高度可扩展的并行与分布式程序,提高集群系统的资源利用率,缩短地震资料处理时间。本文以地震资料处理的应用需求为驱动,研究了面向该领域的并行与分布式编程模型,同时,针对高性能计算领域的异构计算趋势,探讨了面向GPGPU和下一代异构多核处理器的油气并行计算模式。首先,提出了适用于油气地震资料常规处理阶段的并行编程模型,该编程模型基于组件化的设计理念,采用粗粒度数据并行执行模型,框架的运行时系统负责计算节点及其CPU核的调度、容错、模块之间的数据传输等并行细节,开发人员不需要任何并行与分布式编程经验,使用串行语言编写处理模块,即可实现高性能的并行计算。该编程模型在实验中表现出了优越的性能。然后,设计并实现了适用于地震成像的Map-ReduceTree编程模型,该编程模型将可扩展性作为首要的设计目标,可调度数个机柜、上千台机器参与计算,编程模型的运行时系统嵌入了数据分割与分布、并行任务调度、消息通信、容错与检查点机制等,屏蔽了底层的并行与分布式编程细节,使应用程序员可以轻松利用大规模分布式计算资源。最后,基于一个典型的实例,详细介绍了地震成像算法的GPGPU实现与优化方法,总结了适用于GPGPU计算的算法特征,分析了GPGPU应用于油气工业所面临的挑战。本文研究虽然仅限于油气勘探领域的高性能计算应用,但是该领域已经形成了一个复杂、庞大而完整的科学计算体系,数学、物理、计算机以及地质学的各个分支都渗透到了这个领域中来,因此,该领域的应用具有非常典型的意义,本文的研究对其它高性能计算应用领域具有借鉴和参考价值。本文的部分研究成果已经转化为实际应用,体现了研究的实用价值。