一种自动负载均衡的文件锁并行地震处理作业调度方法技术

技术编号:20363046 阅读:19 留言:0更新日期:2019-02-16 16:36
本发明专利技术涉及一种自动负载均衡的文件锁并行地震处理作业调度方法,其步骤:在共享磁盘上新建一个索引文件,该索引文件仅包含一个起始炮号,该炮号指定了下一个将要偏移处理的地震道集;远程登录节点发送处理作业;各个节点上的处理进程在文件锁同步机制下排队读取并修改索引文件,并将处理进程当前信息写入日志文件;处理进程完成指定的地震数据处理,并在完成后将处理进程当前信息写入日志文件;重复实施前述两步骤,直至全部数据被处理完成;检查并行作业日志文件,重处理缺失的地震数据。本发明专利技术提高了并行作业的实用性、安全性和运行效率,有利于海量地震数据的高效处理。

【技术实现步骤摘要】
一种自动负载均衡的文件锁并行地震处理作业调度方法
本专利技术涉及一种石油天然气地震勘探和高性能计算的交叉领域,特别是关于一种自动负载均衡的文件锁并行地震处理作业调度方法。
技术介绍
随着石油天然气矿藏勘探难度的不断增加,石油行业先后提出了一些复杂的勘探技术方法,如三维地震勘探、高密度地震勘探、宽方位地震勘探和多分量地震勘探等。这些勘探方法导致需要处理的地震资料数据量急剧增加,如何高效地处理海量地震数据逐渐成为技术发展的瓶颈。目前,行业内主流的地震资料处理软件都已着手针对耗时较长的处理环节开发相应的并行处理技术。这些技术通常都采用MPI(MessagePassingInterface,信息传递接口)的编程方法实现多节点并行计算。MPI是一个跨语言的通讯协议,用于编写并行计算机程序,支持点对点和广播,其目标是高性能,大规模和可移植性。在实际应用过程中,发现MPI尽管有效,但也存在一些明显的不足。例如,MPI并行处理程序运行时,需要预先为每个计算节点分配(一般采取平均分配)需要处理的数据。因此,作业一旦启动以后,如果想要增加或者减少一些计算节点,只能首先杀死现有计算节点上所有正在运行的(该)处理进程,并在为调整后的各个节点重新分配数据之后,再次启动这个并行作业。这一过程对于有数百个节点参与计算和TB数量级的地震数据处理作业来说是非常繁琐和耗费时间的。所以,在并行计算过程中不能灵活地增加或减少计算节点是MPI并行的一个不足。此外,个别节点宕机会导致整个并行作业崩溃也是MPI并行的一个缺点。实际地震资料处理都是在PC-Cluster上进行的,一些复杂的计算处理(如叠前深度偏移)常常会用到数百个以上的计算机节点。采用MPI编写的并行计算程序在运行过程中,无论是主节点还是从节点,只要任意一个节点出现问题(如宕机或进程被意外杀死),就会导致整个并行作业的崩溃。参与计算的节点数量越多,节点上运行的作业越多,这种情况出现的概率就越大。因此,在共享集群上长时间处理海量地震数据对MPI程序的运行环境和并行程序本身的稳定性都提出了严峻挑战。另外,MPI并行程序预先将要处理的数据分配给各个计算节点,这使得并行程序难以现实自动负载均衡。在异构集群环境里,或在共享集群环境里(计算节点上运行着不同用户发送的作业),每一个计算节点可以为当前作业提供的计算服务性能存在差异,经常会出现一些性能较强的节点率先完成分配的计算任务后长时间处于闲置状态,而另一些性能较差的计算节点尚有很多数据未完成处理的情况。这种现象就似大家熟知的“木桶效应”,即并行处理作业的总体运行效率由性能最低的计算节点决定。由此可见,在地震资料处理中MPI并行作业存在3个主要缺点:(1)增减节点困难;(2)宕机损失严重;(3)负载不均衡等。如何提高海量地震资料并行处理作业在复杂计算环境下的实际运行效率成为目前亟需解决的技术问题。
技术实现思路
针对上述问题,本专利技术的目的是提供一种自动负载均衡的文件锁并行地震处理作业调度方法,其提高了并行作业的实用性、安全性和运行效率,有利于海量地震数据的高效处理。为实现上述目的,本专利技术采取以下技术方案:一种自动负载均衡的文件锁并行地震处理作业调度方法,其包括以下步骤:1)在共享磁盘上新建一个索引文件,该索引文件仅包含一个起始炮号,该炮号指定了下一个将要偏移处理的地震道集;2)远程登录节点发送处理作业;3)各个节点上的处理进程在文件锁同步机制下排队读取并修改索引文件,并将处理进程当前信息写入日志文件;4)处理进程完成指定的地震数据处理,并在完成后将处理进程当前信息写入日志文件;5)重复实施步骤3)~步骤4),直至全部数据被处理完成;6)检查并行作业日志文件,重处理缺失的地震数据。进一步,所述步骤1)中,共享磁盘是高速网络上各个计算节点都能够访问的物理磁盘,并且各个计算节点对该磁盘上的共享索引文件都有读写权限。进一步,所述步骤1)中,索引文件为ASCII码书写的文本文件,其内容仅包含一个整型的起始炮号,该炮号为SHOT号、CDP号或OFFSET号,需要与地震数据的存储顺序保持一致。进一步,所述步骤2)中,远程登录节点发送处理作业如下:2.1)建立一个节点列表:节点列表是一个文本文件,该文件的每一行记录着一个参与计算的节点的主机名;2.2)通过编写一个脚本文件,循环利用Linux远程shell命令rsh或ssh逐一登录节点列表上的计算节点,并进入下一步启动处理。进一步,所述步骤3)中,当某一节点正在读取或改写索引文件时,该索引文件内容又被其它节点改写或读取时,在处理进程读写索引文件时给索引文件加上文件锁;加锁以后,索引文件操作流程变成:某处理进程从操作系统获得授权->文件解锁->读写操作->文件加锁->处理进程将授权退还操作系统;队列中的处理进程重复上述流程,直至队列中所有进程都完成了操作。进一步,述队列中的处理进程从索引文件中读取的索引值指定了该进程要处理的地震数据道集,而修改后重新写入索引文件的索引值则指定了下一个需要处理的地震数据道集;处理进程读得索引值以后,需要将进程的当前信息写入日志文件,日志文件记录内容包含主机名、时间和日期、索引号和执行状态信息。进一步,所述步骤4)中,处理进程对指定的地震道集数据完成叠前逆时偏移处理;叠前逆时偏移计算量很大而网络开销较小,采用多节点数据并行处理能够获得很高的并行效率;单炮数据完成偏移处理后,处理进程需要将其当前信息写入日志文件,日志文件记录内容包含主机名、时间和日期、索引号和执行状态信息,供并行作业监控使用。进一步,所述步骤5)中,在地震数据处理过程中,始终未对计算节点具体分配处理任务,节点列表中的每个节点都是排队从索引文件中领取要处理的地震数据的索引号,在完成当前地震道集的处理以后,如果还有剩余数据没有处理,当前索引号小于或等于最大索引值,则重新到队列末尾排队领取地震数据,而倘若已无剩余数据未处理,则进程结束。进一步,所述地震数据处理过程中,如果不同节点的计算性能存在差异,那么计算性能低的节点处理数据速度慢,排队领取的地震数据的次数就较少,而计算性能高的节点处理数据速度快,排队领取的地震数据的次数就较多,且这种“能者多劳”的状态会随计算节点的实际负载情况实时调整,实现了多节点并行自动负载均衡,并在总体上达到最高的并行计算效率。进一步,所述步骤6)中,并行处理作业完成后,检查日志文件,核对每个道集数据的完成情况,找出那些因节点宕机或处理进程被杀死所导致的缺失数据;收集这些缺失数据的索引号,形成列表,待重新处理后补充到最终的成果数据中。本专利技术由于采取以上技术方案,其具有以下优点:1、本专利技术能够在海量地震资料并行处理过程中根据实际需要方便地增加或者减少计算机节点,提高了海量地震资料并行处理作业的灵活性。2、本专利技术中个别节点宕机不会导致作业崩溃,产生的损失小(影响仅限于当前道集),显著提高了海量地震资料并行处理作业的稳定性。3、本专利技术实现了多节点并行自动负载均衡,这个措施极大地提高了海量地震资料并行处理作业的整体执行效率。4、本专利技术基于文件锁同步技术实现地震资料处理多节点自动负载均衡的并行作业调度方法,方法简单实用,效果突出。附图说明图1是节点列本文档来自技高网
...

【技术保护点】
1.一种自动负载均衡的文件锁并行地震处理作业调度方法,其特征在于,包括以下步骤:1)在共享磁盘上新建一个索引文件,该索引文件仅包含一个起始炮号,该炮号指定了下一个将要偏移处理的地震道集;2)远程登录节点发送处理作业;3)各个节点上的处理进程在文件锁同步机制下排队读取并修改索引文件,并将处理进程当前信息写入日志文件;4)处理进程完成指定的地震数据处理,并在完成后将处理进程当前信息写入日志文件;5)重复实施步骤3)~步骤4),直至全部数据被处理完成;6)检查并行作业日志文件,重处理缺失的地震数据。

【技术特征摘要】
1.一种自动负载均衡的文件锁并行地震处理作业调度方法,其特征在于,包括以下步骤:1)在共享磁盘上新建一个索引文件,该索引文件仅包含一个起始炮号,该炮号指定了下一个将要偏移处理的地震道集;2)远程登录节点发送处理作业;3)各个节点上的处理进程在文件锁同步机制下排队读取并修改索引文件,并将处理进程当前信息写入日志文件;4)处理进程完成指定的地震数据处理,并在完成后将处理进程当前信息写入日志文件;5)重复实施步骤3)~步骤4),直至全部数据被处理完成;6)检查并行作业日志文件,重处理缺失的地震数据。2.如权利要求1所述方法,其特征在于:所述步骤1)中,共享磁盘是高速网络上各个计算节点都能够访问的物理磁盘,并且各个计算节点对该磁盘上的共享索引文件都有读写权限。3.如权利要求1或2所述方法,其特征在于:所述步骤1)中,索引文件为ASCII码书写的文本文件,其内容仅包含一个整型的起始炮号,该炮号为SHOT号、CDP号或OFFSET号,需要与地震数据的存储顺序保持一致。4.如权利要求1所述方法,其特征在于:所述步骤2)中,远程登录节点发送处理作业如下:2.1)建立一个节点列表:节点列表是一个文本文件,该文件的每一行记录着一个参与计算的节点的主机名;2.2)通过编写一个脚本文件,循环利用Linux远程shell命令rsh或ssh逐一登录节点列表上的计算节点,并进入下一步启动处理。5.如权利要求1所述方法,其特征在于:所述步骤3)中,当某一节点正在读取或改写索引文件时,该索引文件内容又被其它节点改写或读取时,在处理进程读写索引文件时给索引文件加上文件锁;加锁以后,索引文件操作流程变成:某处理进程从操作系统获得授权->文件解锁->读写操作->文件加锁->处理进程将授权退还操作系统;队列中的处理进程重复上述流程,直至队列中所有进...

【专利技术属性】
技术研发人员:薛东川张金淼李维新朱振宇刘永江张云鹏王小六黄小刚糜芳江南森
申请(专利权)人:中国海洋石油集团有限公司中海油研究总院有限责任公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1