[发明专利]匹配于高性能计算机结构的多级嵌套数据驱动计算方法有效
| 申请号: | 201410677986.6 | 申请日: | 2014-11-21 |
| 公开(公告)号: | CN104375882A | 公开(公告)日: | 2015-02-25 |
| 发明(设计)人: | 张爱清;莫则尧;闫洁 | 申请(专利权)人: | 北京应用物理与计算数学研究所 |
| 主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/50 |
| 代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 王天尧 |
| 地址: | 100088*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 匹配 性能 计算机 结构 多级 嵌套 数据 驱动 计算方法 | ||
技术领域
本发明涉及计算机技术领域,特别涉及一种匹配于高性能计算机结构的多级嵌套数据驱动计算方法。
背景技术
主流高性能计算机体系结构是分布式多核多处理器机群,其发展趋势是计算资源的增多与存储层次的加深。具体而言,计算资源的组织层次为:机群--计算节点--处理器--处理器核,对应存储资源的组织层次为:分布式内存--本地共享内存--处理器最外层共享Cache--处理器核私有Cache,当前高性能计算机系统的实际性能取决于程序的并行度和数据访问的局部性。
在高性能计算中,数据驱动(Data-Driven)并行计算技术用于求解具有非规则数据依赖的问题。数据驱动并行计算的实现通常分为三个步骤:
步骤1:将计算空间进行划分并分配给处理器计算资源(也可以称之为计算单元);
步骤2:用有向无环图对划分后的子空间之间的数据依赖关系进行建模;
步骤3:按照上述有向图指定的合法拓扑排序,运行时依次驱动就绪的子空间进行并行计算。
在数据驱动的并行计算过程中,通信与计算是交叉的,具有异步与非规则的特征,这为匹配当前高性能计算机系统对并行性和数据局部性的要求提出了极大挑战。传统的标准并行计算模型,即分布式环境下基于MPI消息传递机制的多进程并行以及共享存储模式下基于OpenMP的多线程并行,均无法适应当前高性能计算机的三级并行(单机-处理器-处理器核)体系结构且不能高效支持对运行时就绪计算任务的动态调度。
针对现有技术中在实现数据驱动并行计算时面临的计算并行性与数据局部性方面的效率低下的技术问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种匹配于高性能计算机结构的多级嵌套数据驱动计算方法,以解决现有技术中在实现数据驱动并行计算时面临的计算并行性与数据局部性方面的效率低下的技术问题,该方法包括:
将计算资源分为三级组织,所述三级组织包括:进程、线程组和线程,其中,每个进程对应一个计算节点,每个线程组对应一个处理器,每个线程对应一个处理器核;
在通信过程中,通过三级路由传递消息,其中,所述三级路由包括:进程之间的物理网络、线程组之间的数据通道和线程组内部的线程之间的数据通道。
在一个实施例中,在每个线程组中分配一个主线程,除该主线程外的其它线程作为工作线程。
在一个实施例中,在数据驱动并行计算的过程中,主线程动态调度可计算的数据块,按照运行时负载平衡的原则,将数据块动态分配给工作线程执行计算。
在一个实施例中,按照运行时负载平衡的原则,将数据块动态分配给工作线程执行计算,包括:
主线程接收所在线程组的工作线程发送的消息;
主线程判断接收的消息的目的地是否是所在线程组;
如果是,则将接收到的消息转发给所在线程组的工作线程中负载最轻的工作线程。
在一个实施例中,在所述线程组内部的线程之间的数据通道中,工作线程之间通过主线程的转发进行通信。
在一个实施例中,每个进程中有一个主管线程,所述主管线程从所述进程内各个线程组的主线程中选举产生,用于实现所在进程与其它进程之间的通信,以及实现机群范围内的全局同步。
在一个实施例中,所述主管线程实现所在进程与其它进程之间的通信,包括:
所述主管线程接收所在进程的主线程发送的消息,并将接收的消息转发至该消息的目的进程的主管线程;
和/或,所述主管线程接收其它进程的主管线程发送的消息,并将消息转发至所在进程内的目的线程组的主线程。
在一个实施例中,所述主管线程实现机群范围内的全局同步,包括:
所述主管线程侦听机群范围内的全局同步信号;
根据所述全局同步信号判断整个计算任务是否结束;
如果计算结束,则设置所在进程的数据驱动为完成状态,并通知所在进程内的各个线程组退出。
在一个实施例中,从进程内各个线程组的主线程中选举产生主管线程,包括:
竞争互斥锁;
获得所述互斥锁的主线程作为所在进程的主管线程。
在一个实施例中,所述数据通道中传输的是指针,指针指向的是内存空间,内存空间中存储有实际数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京应用物理与计算数学研究所,未经北京应用物理与计算数学研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410677986.6/2.html,转载请声明来源钻瓜专利网。





