[发明专利]匹配于高性能计算机结构的多级嵌套数据驱动计算方法有效
| 申请号: | 201410677986.6 | 申请日: | 2014-11-21 |
| 公开(公告)号: | CN104375882A | 公开(公告)日: | 2015-02-25 |
| 发明(设计)人: | 张爱清;莫则尧;闫洁 | 申请(专利权)人: | 北京应用物理与计算数学研究所 |
| 主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/50 |
| 代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 王天尧 |
| 地址: | 100088*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 匹配 性能 计算机 结构 多级 嵌套 数据 驱动 计算方法 | ||
1.一种匹配于高性能计算机结构的多级嵌套数据驱动计算方法,其特征在于,包括:
将计算资源分为三级组织,所述三级组织包括:进程、线程组和线程,其中,每个进程对应一个计算节点,每个线程组对应一个处理器,每个线程对应一个处理器核;
在通信过程中,通过三级路由传递消息,其中,所述三级路由包括:进程之间的物理网络、线程组之间的数据通道和线程组内部的线程之间的数据通道。
2.如权利要求1所述的方法,其特征在于,在每个线程组中分配一个主线程,除该主线程外的其它线程作为工作线程。
3.如权利要求2所述的方法,其特征在于,在数据驱动并行计算的过程中,主线程动态调度可计算的数据块,按照运行时负载平衡的原则,将数据块动态分配给工作线程执行计算。
4.如权利要求3所述的方法,其特征在于,按照运行时负载平衡的原则,将数据块动态分配给工作线程执行计算,包括:
主线程接收所在线程组的工作线程发送的消息;
主线程判断接收的消息的目的地是否是所在线程组;
如果是,则将接收到的消息转发给所在线程组的工作线程中负载最轻的工作线程。
5.如权利要求2所述的方法,其特征在于,在所述线程组内部的线程之间的数据通道中,工作线程之间通过主线程的转发进行通信。
6.如权利要求2所述的方法,其特征在于,每个进程中有一个主管线程,所述主管线程是从所述进程内各个线程组的主线程中选举产生的,用于实现所在进程与其它进程之间的通信,以及实现机群范围内的全局同步。
7.如权利要求6所述的方法,其特征在于,所述主管线程实现所在进程与其它进程之间的通信,包括:
所述主管线程接收所在进程的主线程发送的消息,并将接收的消息转发至该消息的目的进程的主管线程;
和/或,所述主管线程接收其它进程的主管线程发送的消息,并将消息转发至所在进程内的目的线程组的主线程。
8.如权利要求6所述的方法,其特征在于,所述主管线程实现机群范围内的全局同步,包括:
所述主管线程侦听机群范围内的全局同步信号;
根据所述全局同步信号判断整个计算任务是否结束;
如果计算结束,则设置所在进程的数据驱动为完成状态,并通知所在进程内的各个线程组退出。
9.如权利要求6所述的方法,其特征在于,从进程内各个线程组的主线程中选举产生主管线程,包括:
竞争互斥锁;
获得所述互斥锁的主线程作为所在进程的主管线程。
10.如权利要求1至9中任一项所述的方法,其特征在于,所述数据通道中传输的是指针,指针指向的是内存空间,内存空间中存储有实际通信数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京应用物理与计算数学研究所,未经北京应用物理与计算数学研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410677986.6/1.html,转载请声明来源钻瓜专利网。





