大规模油藏数值模拟软件并行计算技术及在Beowulf系统上的精.docx
- 文档编号:15000097
- 上传时间:2023-06-29
- 格式:DOCX
- 页数:14
- 大小:191.36KB
大规模油藏数值模拟软件并行计算技术及在Beowulf系统上的精.docx
《大规模油藏数值模拟软件并行计算技术及在Beowulf系统上的精.docx》由会员分享,可在线阅读,更多相关《大规模油藏数值模拟软件并行计算技术及在Beowulf系统上的精.docx(14页珍藏版)》请在冰点文库上搜索。
大规模油藏数值模拟软件并行计算技术及在Beowulf系统上的精
大规模油藏数值模拟软件并行计算技术及在Beowulf系统上的(精)
————————————————————————————————作者:
————————————————————————————————日期:
2006年6月数值计算与计算机应用第2期大规模油藏数值模拟软件并行计算技术及在BeOWulf系统上的应用进展¨’
曹建文刘洋孙家昶姚继锋潘峰
(中国科学院软件研究所并行计算实验室北京100080
摘要
本文主要介绍了大规模油藏数值模拟并行计算技术在国内的研究进展,提供了精细油藏模拟在国产Beowulf系统上的计算实例和应用效果,给出了百万网格点规模的油藏应用算
例在不同处理器规模下的数值模拟计算结果与性能分析,并实现了一个针对海量数据可视化
的三维图、二维图、表格显示的后处理显示系统.
关键词:
高性能计算,油藏数值模拟,并行计算,非线性方城求解器,预处理,Be01wulf系统,可视化
THEPARALLELCOMPUTINGTECHNIQUE0FLARGESCALEPETROLEUMRESERVOIRSIMULATl0NSOFTWARE
ANDIT’SADVANCEININDUSTRIALTESTCASES
0NBEOWULFSYSTEMS
CauDJianWenLiuYaLllgSunJiachangYaoJifbIlgPanFeng
(Pomlfel∞"妒珏抚咖三06Dm幻阿,血st姑钍£eD,S妒伽。
他,
C仡i佗eseAcnde仃l∥。
Sc沈佗ces,Be巧打姆100080
Abstract
Thispaperreportssomeadvance8ofapetroleumreservoirsiInula七ion80ft—warein1argescaleparaLllelcomputing,anen.ecti、他andemcients01Verofnonlinear
e(1uation8,preconditioning,andindu8trial印plicationsonBeowulfsystems.Three
industrycasesareusedtotestperformanceofthisparaUelre8ervoirsiInula七oron
8everalparaUelh盯dwarepla七fbrms,andthea|nalysi8andev砒uationofthere—
portedrunningresult8aregiven.Thepaperalsointroducestherequirementsof
leastcomputa七ioncostsof矗neryreservoirsimula七ion8,therequirement8ofparallel
computerh村d/soRw盯esofareser、roir8iInulationsystem,computationmethods
andpreconditioningofthenonlinearproblemsolverofreservoirsimula七ion,thein—
fluencesofparallelcomputationperformancee砌uationofthecomputerh盯dw壮e
sh帆rsthatthi8parallelcodebehaivessa土isfactory8calabilityinfrastructure,and
木2004年12月31日收到.
1本课题得到国家重点基础研究发展规划课题“油藏模拟与波动问题及其反问题计算(G1999032803”和中国
2期曹建文等:
大规模油藏数值模拟软件并行计算技术及在Beowulf系统上的应用进展87
andcomputationalspeedupwithoutsacrificingtheresolutionofsolvingproblems.
NumericalresultsdisplaythatthetotalcomputingcapabilityofsolverPRISOila
Beowulfsystemspeedsupto1600comparingwiththeresultsof1998,thetotal
computingcapabilityspeedsupatleast10comparingwithDaQingimportedsim—
ulationsystemin2000.andtheparallelscalabilitymayreachto128-256CPUs.
TherelativevisualizationsystemofPR_ISisgivenoutattheendofthepaper.
Keywords:
HighPerformanceComputing,PetroleumReservoirSimulation,SolverofNonlinearEquations,Preconditioning,BeowulfSystem,Visualization
§1.引言
油藏数值模拟是通过求解大型非线性偏微分方程组来模拟油田开发史,进而描述地下流体的分布,以了解和控制油气田生产动态,为控制和选择优化的开发方案提供科学依据.它属于典型的多孔介质流体流动问题,是大规模非线性问题求解算法的极好的应用平台之一.正如美国ASCI计划的SCIDAC(ScientificDiscoveryThoughAdvancedComputing一TOPS(TerascaleOptimalPDESimulations项目指出的:
多物理量耦合的非线性偏微分方程组针对多个应用领域(包括加速器设计、冶炼、燃烧、地下水流动、油藏模拟、气候等提供了共同的数学表达形式,问题的规模目前普遍呈百万量级;随着大规模计算机的出现,对求解规模的需求增长乃至数千倍;传统的求解技术远不能作到计算复杂性的优化,从而在高性能计算的应用过程中不可避免地出现了瓶颈,限制了应用软件的可扩展性.
美国LosAlamos国家实验室、AmocoProduction公司、CrayResearch公司联合研制高性能的油藏数值模拟并行软件FalcontlJ时指出,大规模线性方程组的并行求解效率成为影响油藏模拟并行软件整体性能的瓶颈.充分发挥大规模线性方程组的求解性能,可以极大地提升并行软件的求解能力.如何从大规模并行计算的角度改进线性方程组求解和预处理技术成为并行油藏数值模拟的关键.
以1997年推出的Falcon为标志,美国几大石油公司先后形成了商业化的油藏数值模拟并行软件.深受用户欢迎并在市场上取得成功的软件如Halliburton—Landmark公司的ParallelVIP[引,Schlumberger—GeoQuest公司的ECLIPSEt刮等.90年代,许多石油公司和研究机构也形成了自己的并行软件[4-sJ.
中科院软件所并行计算实验室自1992年以来,致力于并行算法与高性能软件的研究.在为国产高性能计算机进行正确性和性能测试过程中,与中国三大石油公司CNPC,SinoPEC,CNOOC在不同层面上展开合作,以80年代末引进的黑油模型串行软件为蓝本,进行了油藏模拟软件并行化、线性问题并行求解器、非线性问题高效求解技术、针对耦合PDE的自适应并行预处理技术等研究与开发.1999年针对并行油藏模拟器软件推出了基于分布式高性能计算机的并行求解器PRISV1.1,并在一系列国产高性能计算机上成功地模拟了大庆油田提供的百万网格点实际数据吵2001年以来,针对中国科学院陆续安装的万亿次科学计算平台,科研人员对大规模油藏模拟并行软件中的高效求解及预处理技术进行了深入研究,在此基础上,实现了基于64—256处理器规模的非线性问题并行求解器,并改进了并行模拟器的实现策略,形成了新版本的高效并行求解器PRISV2.1.在利用Beowulf系统进行数
数值计算与计算机应用2006焦
能方面取得了突破性的进展.
文章首先介绍精细油藏模拟对时效性的需求,讨论油藏模拟系统对计算机软硬件的要求,并给出本文使用的并行计算环境和工业应用实例.随后章节给出了非线性问题求解器的算法和预处理实现技术.第四节对计算机硬件配置给并行计算性能评估带来的波动进行分析.第五节给出Beowulf机群上的数值实验结果和性能统计,用实际生产数据展示PRISV2.1对大规模油藏模拟计算的求解效果和计算效率.文章的最后介绍并行模拟器的配套可视化显示系统.
§2.计算环境与应用实例
精细油藏模拟对于研究剩余油分布,促进我国相当部分已进入高含水后期老油田的高产、稳产具有重要意义.它的计算规模实际需要达封百万一千万量级,历史拟合时间一般超过20年.为了解决这样一个具有重大现实意义的问题,国际上~致认为,油藏数值模拟系统应当拥有高性能计算机和高效的数值模拟应用软件.
具有工业应用价值的油藏数值模拟系统对时效性有着苛刻的要求.为了精确描述地下剩余油的分布,油藏工程师需要通过对生产过程的历史拟合,使用回归分析手段来寻找油藏特性参数(渗透率、空隙度、压缩率、边界条件等的最佳逼近.一次成功的回归分析平均需要30次相同规模的油藏数值模拟计算吼石油界的多名技术专家指出,一次数值模拟计算耗时三天以上是不能容忍的,夕发朝至(16小时以内的数值模拟基本可以满足需求,朝发夕至(8小时以内的模拟计算才真正具有工业应用价值.明显地,我们需要从高性能计算机、高效率并行软件两个方面着手去提高油藏数值模拟计算的效率.
在计算机系统组成部件出现标准化、商品化趋势的情况下,拥有高性能计算机的门槛大大降低了,这集中表现为Beowulf系统的出现.它将大量商品化硬件和开放源码软件组装成“个人超级计算机”,最大特点是廉价和FLOPS密集.高性价比Beowulf系统一Linux机群的推出,为解决我国石油开采中的大规模数值模拟问题提供了条件.
文章中使用的Beowulf系统,包括了安装在中科院数学与系统科学研究院的深腾1800机群,安装在中科院计算机网络信息中心的深腾6800机群,以及软件所自行组装的RDCPS微机机群.
深腾1800万亿次机群系统包括256个计算结点和两个i/o结点,每个计算结点拥有两个Intel2GHzXeon处理器和1GB内存,双精度浮点运算峰值性能为4Gflops,同时配备了快速以太网和Myrinet2000,其中Myrinet2000的单向传输带宽达2Gbps,短消息延迟低于10微秒.编译器是GNUC和IntelFortran;并行编程环境为MPICH-GM1.2.5.10.
深腾6800为5万亿次超级计算机系统,包括用于计算的256个四路结点机,1024个Itanium21.3Ghz处理芯片,内存总容量2.6TB.高速连接网络为QsNet,点对点通信带宽大于每秒300MB,延迟时间小于7微秒.编译器是GNUC和IntelFortran,并行编程环境为MPICH1.2.4一QsNET.
RDCPS机群采用PentumIII500MHz,局部内存256MB,采用100Mb/s的Ethernet网卡和IBM8275—324100M交换机.编译器为GNUC和977.并行编程环境为MPICH】.2.】.
2期曹建文等:
大规模油藏数值模拟软件并行计算技术及在Beawulf系统上的应用进展89
文章主要使用了三套实际应用数据.实例l源于国外某油田【15J,属于混相驱双孔介质模型,网格剖分为130x123X10=159900,包含377口井,5种岩石类型,10个数据区块,历史拟合31.5年.实例2为国内大庆油田某块油区的1/6,属于黑油模型,网格剖分为199X87X67=1159971,涉及291口井,6种岩石类型,历史拟合31.5年【ltiJ.该实例的特点是,生产制度变化平稳,模拟过程的平均时间步长可以达到90天.实例3为国内胜利油田孤东七区西区块,属于黑油模型,网格点规模为320x640X27=5529600,分布有326口井,生产历史14年.该实例生产制度变化剧烈,非线性问题求解困难,对预处理的要求高,数值模拟的平均时间步长为3l天.
§3.非线性问题并行求解器
油藏数值模拟需要求解的三方程耦合在一起的偏微分方程组,展现出椭圆、双曲、抛物型交织在一起的混合性质….进一步的研究表明,压力物理量主要表现出椭圆型的性质,油饱和度主要呈现输运方程的一阶双曲特性,气饱和度则呈现明显的对流扩散性质.偏微分方程组离散化之后,得到一个基于有限差分的非线性方程组.
在非线性问题求解中,带有阻尼和回溯功能的不精确牛顿方法仍是日常使用的主流方法.拟牛顿方法可以提高求解性能,但是必须有牛顿方法的协助,需要以双倍的程序编写复杂度来换取求解效率的提高【11J.本文的求解器采用了不精确牛顿方法,其初值选取,在离精确解偏离较大时采用了BFGS的拟牛顿方法来解决.
牛顿法的重点在于如何高效地求解线性代数方程组.考虑到油藏模拟偏微分方程的特性,LU分解或其它的单一预处理无法起到明显的、稳定的、正的加速作用.特殊预条件子的构造成为必然.通过对Krylov子空间算法和预条件子组合进行比较M,我们选取了FGMRES(m和inner—outer双重迭代模式作为线性方程组求解算法.数值实验表明,尽管迭代预条件FGMRES不属于Krylov子空间迭代法,从计算的稳定性、计算效率的角度看,它实际上优于子空间迭代意义上的GMRES.
在非线性问题求解中,与油藏模拟领域关联最紧密的是预处理.预条件子加速效果的好坏与偏微分方程的特性密不可分.我们针对偏微分方程的耦合特点,采用了解耦合的预处理选项.针对不同物理量的行为差异,采用了约束剩余预处理选项.考虑到大规模并行处理的特点,利用区域分解的思想,将求解区域剖分为若干子区域,从而采用了区域分解类的预处理选项一加法Scllwarz.每个子区域内部充分利用局部性质,采用纯代数结构的预处理不完全LU分解,子区域之间采用粗网格校正.与油藏模拟物理背景相关的预处理和与代数结构、并行处理相关的预处理之间,采用多步法的处理手段(类似于区域分解中的乘法Sch嗡rz,迭代算法中的Gau88一Seidel迭代,将它们有机联系起来,使得它们之间相互配合,优势互补,对整体的预处理系统而言,呈现出叠加效果,从而形成一个整体的预条件子“系统”【13J.
§4.硬件配置对计算性能的影响
以深腾1800为代表的Beowulf并行计算系统,一个典型的特点是,每个计算节点上配置了双路处理器.这种硬件配置模式往往会给并行程序的性能评估带来波动,从而造成测试人员感觉上的困惑.在这种计算平台上考虑并行计算性能,需要区分“单节点单进程”和
数值计算与计算机应用2006年
“单节点双进程”(在每个计算节点上同时运行两个进程两种模式.事实上,这两种并行配置模式会给并行计算绝对性能的评估带来显著的影响.
我们利用PRISV2.1对实例1进行数值模拟,它需要内存量仅为512MB,读写文件的频率较低,单进程的读文件总量小于40MB,写文件总量小于60MB.明显地,它不会出现内存s操作瓶颈,I/0比重大等干扰因素.计算结果见表1.
处理器节点数目1进程/处理器节点2进程/处理器节点
117.3018.27
211.998。
55
46.055.31
83.993.39
从运行结果看,与“单节点单进程”并行模式相比,“单节点双进程”获取的整体计算性能是不能令人满意的.事实上,考虑到并行计算加速比,在不同节点规模的计算环境下,后者比前者分别加速了0.95倍(单节点,1.40倍(双节点,1.14倍(四节点和1.18倍(八节点.考虑到后者的并发进程数目比前者多一倍的事实,后者的并行计算效率分别为前者的47.5%,70%,57%和59%.这里的计算比例是在没有排除通讯性能提高的情况下得到的,因此实际并行计算性能的下降,不小于上面给出的比例.如果上面的计算比例带有普遍性,简单推理可知,1GHz主频的双CPU对计算性能的贡献只相当于1一1.2GHz主频的单CPU的贡献【1剖.
什么原因造成了并行效率的缺失呢?
主要因为采用了双CPUSMP结构的硬件配置.在两个CPU共用主板的情况下,每个CPU拥有自己的高速缓存,它们与主存储器之间进行数据读入、写出操作,必须共享主板上的数据总线,从而导致访问主存访问操作的速度降低(数据访问量达到一定规模时,出现内存争用和通讯带宽争用的瓶颈,从而制约了处理器强大计算能力的充分发挥.
事实上,这种现象并非Beowulf系统独有.高端计算机上同样可能出现类似现象,不过在程度上有所不同罢了.2000年,在863项目“大规模精细油藏数值模拟的应用”课题进行过程中,有关计算人员在曙光3000上(每个节点采用双CPUpowrer3芯片,共享主存,节点间采用Myrinet网络连接同样发现了该现象,针对116万网格点的大庆黑油问题,与“16节点16进程”的并行模式相比,“8节点16进程”的整体计算性能下降了20%以上,尽管消息传递的效率略有提高.
由于计算资源限制,文章后面的并行计算结果,除非明确指明,均指在“单节点双进程”模式下取得的.
§5.模拟结果与性能分析
高效率的油藏模拟并行软件成为提高计算效率的关键.1997年,Landm盯k公司宣布推出油藏模拟软件VIP的并行版.随后几年,GeoQuest公司推出了EclipselQo,300的并行版软件.1998年,Argonne实验室和Texas大学利用IBMSP成功地试算了400万网格点,3200万个未知数的超大规模油藏数值模拟问题,成为油藏数值模拟界的里程碑.在国内,
2期曹建文等:
大规模油藏数值模拟软件并行计算技术及在Beowulf系统上的应用进展91
大庆油田勘探开发研究院2000年引进了一套并行油藏数值模拟系统(SGII的0ri舀n200016CPU的并行机,配置ParallelVIP2000商业并行软件,用该系统数值模拟实例2,一次耗时70小时以上.其它石油公司也陆续引进了几套并行版的VIP,Eclipse软件.由于国外并行机及并行软件的技术壁垒和高价政策,引进的油藏数值模拟系统难以有效地进行百万量级网格点的数值模拟.
通过与国内外石油部门的合作研究,中科院软件所在国内装机量最多的某串行油藏模拟器的基础之上,研究开发了一套高效并行求解器P砒SV2.1,进而形成一套适应于分布式并行机的油藏模拟器,并提供了相应的后处理数据显示软件.
表2实例2.多种机型上的时间统计h
年代并行计算机/处理器型号软件版本/处理器数模拟器时间开销
1999RDcPs机群(PIIl500V1.1/16CPUs63.9
2000曙光2000(Pawer3375V1.1/16CPU826.2
2000神威一I(Alpha21164V1.1/64CPUs24.2
2001曙光3000(Power3375V1.1/16CPUs14.0
2001,RDcPs机群(PIIl500V2.0/16CPU826.1
2002深腾1800(xeon2GV2.0/16CPUs8.94
2002深腾1800(xeon2GV2.1/16CPU85.59
在利用Beowulf系统模拟油田实际数据(实例2时,PRIS展示了令人满意的计算性能和可扩展性.从纵向看,与1998年在SGIPowerChallenge上用串行商业软件进行模拟相比较,PBⅡSV2.1在64CPU的深腾1800上的绝对计算性能提高了1600倍,其中CPU主频提升带来了约5倍的贡献,64CPU的并行软件实现至多加速64倍,明显地,非线性问题求解器在计算方法改进方面至少贡献了5倍的性能.从横向看,与大庆油田的引进并行油藏数值模拟系统相比较,PRISV2.1在8CPU的深腾1800上的绝对计算性能至少提高了10倍,排除CPU主频提升带来的约5倍的贡献,非线性问题求解器在算法方面的改进提升了2倍的性能【1引.
表2列举了近年来PmS在国内若干并行计算平台上运行实例2的时间开销,包括国产MPP并行机和Beowulf系统.与PB江SV1.1相比,在RDCPS机群上,V2.0在性能上提升了2.4倍,与V2.0相比,在深腾1800上,PmSV2.1在性能上提升了1.6倍.
CPU数整体开销计算开销通讯开销
165.594.880.71
322.992.540.45
641.451.060.40
1280.870.420.45
表3和表4分别给出了P砒SV2.1在深腾1800和6800上运行实例2的时间统计.表3中的计算开销指排除通讯后的并行计算消耗的墙钟时间.表4中的CPU开销指0进程的处理器运行程序代码的累计时间.
在深腾1800上,与16CPU的整体开销相比,PRIS的相对并行效率分别达到了93.48%
数值计算与计算机应用2006年
图2Explorer针对实例2的前端显示界面
后处理软件的优点,易用、简洁、高效.和现有的商业软件相比,它具有如下的一些特点:
1海量数据处理能力.EXplorer充分利用超级计算机性能,将部分数据处理在计算服务器端完成,减轻可视化端负担,使得对海量数据处理成为可能.2完整的网络计算平台.平台无关的通讯中间件使得Explorer可以与不同环境下的计算程序进行通信,包括了数据传递以及对计算的动态控制.3丰富高效的三维绘制.Explorer采用了高效的可视化函数库VTK作为底层图形系统.和传统的基于OpenGL的实现相比,现有方式不仅功能强大,性能出色,而且易于开发和维护.4彻底的中文解决方案.在基于OpenGL的窗口中显示中文字符并不简单,Explorer通过对VTK源代码进行修改彻底的解决了这个问题.
致谢.本文的工作得到了科学与工程计算国家重点实验室、中国科学院网络中心超级计算中心的机时及相关研究人员的配合,也得到了大庆油田勘探开发研究院、胜利油田地质科学院、中国石工总公司、中国海洋石油总公司相关工作人员的协助与支持,在此表示衷心感谢.
参考文献
[1】Gsshiral妇,REstephenson,wJouberteta1.Falcon:
AProductionQualityDi8tribu七edMem-oryR七servoirSirnulator,SPE37975,presentedatthe1997SPEReservoirSimulationSymposium,Dallas,TX,June8—11,1997.
f21JEKillough,DECommander,Sc甜ableParalle】ReservoirSimulationonaWindows—NTWork_stationsC1uster,SPE51883,presentedattheFifteenthSPESymposiumonReservoirSimulation,Houston,Februaryl缸17,1999,Richardson,TX:
SPE,1999.
[3】sVbrdi6re,etaI.,ApplicationsofaParaIIelSimuIatortoIndustriaI刁陷8tcases,sPEPa
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大规模 油藏 数值 模拟 软件 并行 计算 技术 Beowulf 系统
![提示](https://static.bingdoc.com/images/bang_tan.gif)