[发明专利]一种针对地震数据块的并行循环方法在审
申请号: | 201310462138.9 | 申请日: | 2013-09-30 |
公开(公告)号: | CN104516717A | 公开(公告)日: | 2015-04-15 |
发明(设计)人: | 洪承煜;杨尚琴;陈浩;岳承琪;王昀;吴边 | 申请(专利权)人: | 中国石油化工股份有限公司;中国石油化工股份有限公司石油物探技术研究院 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京思创毕升专利事务所 11218 | 代理人: | 郭韫 |
地址: | 100728 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 针对 地震 数据 并行 循环 方法 | ||
技术领域
本发明属于计算机科学领域中的并行计算领域,具体涉及一种针对地震数据块的并行循环方法。
背景技术
在并行计算领域中,针对地震数据块的数据级并行,一般都会存在循环算法,而循环算法通常也是并行的热点。对于这种并行热点,目前的实现方式有:(1)使用制导语句(OpenMP等),它的使用简单,但会对每个并行循环进行一次创建和销毁,会消耗一定的时间;(2)使用线程库(Windows Threads、Pthread等)的一般方法是:①把循环所在的程序块封装在一个新函数中;②在新函数的循环中使用线程同步原语实现线程同步;③声明新函数形参:如循环次数及其它新函数执行需要的参数;④创建线程,并把新函数绑定在线程执行函数入口;⑤初始化线程,并给程序执行函数指定实参;⑥启动线程执行;⑦等待线程计算完成。这种方式控制复杂,需要充分理解线程同步、线程创建、线程初始化、线程控制的专业知识,不利于应用开发人员把注意力集中在应用开发上。
本申请要解决的技术问题是透明化复杂的线程控制和同步,设计一种模板化的针对地震数据块的循环算法的并行方法。
发明内容
本发明的目的在于解决上述现有技术中存在的难题,提供一种针对地震数据块的并行循环方法,既可以提供灵活的线程控制,也可以封装线程同步、线程创建、线程初始化、线程控制各种专业知识,让并行循环开发人员只把注意力集中在应用上。它的使用简单,可大幅度的降低并行循环的开发时间和开发复杂度。
本发明是通过以下技术方案实现的:
一种针对地震数据块的并行循环方法,包括:
(1)封装线程控制、同步原语;
(2)循环算法的地震数据块分发控制线程模板化;
(3)循环算法的特定地震数据块计算线程模板化。
步骤(2)和步骤(3)之间没有先后顺序的关系,只是在排版上的顺序。所述地震数据块指可被循环算法计算所需的地震数据集,比如:N个地震道数据;所述特定地震数据块指在运行时相应计算线程从控制线程分发中得到的地震数据块。它是控制线程中所有地震数据块中的一部分。
所述步骤(1)包括:
①一次性创建计算线程,它的目的是减少线程多次创建和销毁的系统消耗。它通过线程库的创建线程函数接口实现;
②地震数据分发完成。当地震数据分发完成后,它通过线程库的互斥锁和条件变量实现对各个计算线程的通知,让计算线程启动计算,伪代码如下;
上锁;
设置所有计算线程数据准备好状态;
通知所有计算线程可以计算;
解锁;
③等待所有针对被分发的地震数据块的计算线程计算完成。它通过线程库的互斥锁和条件变量实现等待所有计算线程计算完成,伪代码如下;
上锁;
等待所有计算线程计算完成;
解锁;
④通知所有计算线程停止计算。它通过线程库的互斥锁和条件变量实现通知所有计算线程停止计算,伪代码如下;
上锁;
设置所有计算线程停止计算状态;
通知所有计算线程停止计算;
解锁;
⑤等待所有计算线程退出计算函数。它通过线程库的互斥锁和条件变量等待所有计算线程退出计算函数,伪代码如下;
上锁;
等待所有计算线程退出;
解锁;
⑥获取当前计算线程ID。它通过线程库的线程标识符获取函数实现;
⑦等待地震数据分发完成。它通过线程库的互斥锁和条件变量等待地震数据分发完成,伪代码如下;
上锁;
等待地震数据分发完成;
解锁;
⑧获取当前计算线程是否需要停止计算状态。状态值记录在数组中;
⑨通知控制线程当前计算线程计算完成。它通过线程库的互斥锁和条件变量通知控制线程当前计算线程计算完成,伪代码如下;
上锁;
设置当前线程ID的计算线程计算完成状态;
最后一个计算完成的计算线程通知控制线程计算完成;
解锁;
⑩通知控制线程当前计算线程退出计算函数。它通过线程库的互斥锁和条件变量通知控制线程当前计算线程退出计算函数,伪代码如下;
上锁;
设置当前线程ID的计算线程退出计算函数状态;
最后一个退出计算函数的计算线程通知控制线程计算完成;
解锁;
(11)启动所有计算线程。它通过线程库的唤醒阻塞线程函数接口启动所有计算线程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国石油化工股份有限公司;中国石油化工股份有限公司石油物探技术研究院;,未经中国石油化工股份有限公司;中国石油化工股份有限公司石油物探技术研究院;许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310462138.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:对于复制的数据表的表属性管理
- 下一篇:将不同的定点二进制数相乘
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置