[发明专利]一种并发分析的方法及装置有效
申请号: | 201310262639.2 | 申请日: | 2013-06-27 |
公开(公告)号: | CN104252346B | 公开(公告)日: | 2017-08-29 |
发明(设计)人: | 陈聪明;霍玮;李丰;冯晓兵 | 申请(专利权)人: | 华为技术有限公司;中国科学院计算技术研究所 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F17/30 |
代理公司: | 北京中博世达专利商标代理有限公司11274 | 代理人: | 申健 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 并发 分析 方法 装置 | ||
1.一种并发分析的方法,其特征在于,包括:
获取由并发执行图PEG中的节点组成的待处理序列,所述待处理序列为减少所述节点重复次数的严格拓扑序列;
根据预设规则对所述待处理序列中的节点进行遍历,所述预设规则用于寻找待遍历的节点;
所述根据预设规则对所述待处理序列中的节点进行遍历具体包括:
确定当前遍历的节点在所述待处理序列中的第一位置;
在所述待处理序列中,且在所述第一位置之后,查找包含于工作集中的节点;
当查找到包含于所述工作集中的节点时,确定所述工作集中的节点在所述待处理序列中的位置为第二位置;
当未查找到包含于所述工作集中的节点时,从所述待处理序列中的第一个节点开始向后查找。
2.根据权利要求1所述的并发分析的方法,其特征在于,所述获取待处理序列包括:
获取所述PEG的根节点,并将所述根节点压入预设栈中,所述预设栈用于存储所述PEG中的根节点和/或所述PEG中入度为0的节点;
获取所述预设栈的栈顶节点,将所述栈顶节点加入所述待处理序列;
获取所述栈顶节点的后继节点,并在所述PEG中删除所述栈顶节点与所述后继节点组成的边。
3.根据权利要求2所述的并发分析的方法,其特征在于,所述获取所述栈顶节点的后继节点,具体包括:
当确定所述栈顶节点为线程创建点时,获取并删除所述栈顶节点先创建的线程的首节点与所述栈顶节点组成的边,并将所述首节点压入所述预设栈;
当确定所述栈顶节点不是线程创建点时,获取并删除所述栈顶节点的所有后继节点与所述栈顶节点组成的边,并将所述后继节点中入度为0的所述后继节点压入所述预设栈中。
4.根据所述权利要求1至3任意一项所述的并发分析的方法,其特征在于,所述方法还包括:
为所述PEG中的线程设置并行层次,所述并行层次表示所述PEG中线程之间的关系。
5.一种并发分析的装置,其特征在于,包括:
获取单元,用于获取由PEG中节点组成的待处理序列,所述待处理序列为减少所述节点重复次数的严格拓扑序列;
遍历单元,用于根据预设规则对所述获取单元获取到的所述待处理序列中的节点进行遍历,所述预设规则用于寻找待遍历的节点;
确定单元,用于确定所述遍历单元当前遍历节点在所述获取单元获取的所述待处理序列中的第一位置;
查找单元,用于在所述确定单元确定的所述第一位置之后,查找包含于工作集中的节点;
所述确定单元,还用于,在所述查找单元查找到包含于所述工作集中的节点时,确定所述工作集中的节点在所述获取单元获取的所述待处理序列中的位置为第二位置;
所述查找单元,还用于当未查找到包含于所述工作集中的节点时,从所述获取单元获取的所述待处理序列中的第一个节点开始向后查找。
6.根据权利要求5所述的并发分析的装置,其特征在于,所述获取单元,包括:
获取子单元,用于获取所述PEG的根节点,并将所述根节点压入预设栈中,所述预设栈用于存储所述PEG中的根节点和/或所述PEG中入度为0的节点;获取所述预设栈的栈顶节点,将所述栈顶节点加入所述待处理序列;获取所述栈顶节点的后继节点;
删除子单元,用于在所述PEG中删除所述栈顶节点与所述获取子单元获取的所述后继节点组成的边。
7.根据权利要求6所述的并发分析的装置,其特征在于,
所述获取子单元,还用于当确定所述栈顶节点为线程创建点时,获取所述栈顶节点先创建的线程的首节点与所述栈顶节点组成的边,并将所述首节点压入所述预设栈;当确定所述栈顶节点不是线程创建点时,获取所述栈顶节点的所有后继节点与所述栈顶节点组成的边,并将所述后继节点中入度为0的所述后继节点压入所述预设栈中;
所述删除子单元,还用于删除所述栈顶节点先创建的线程的首节点与所述栈顶节点组成的边;删除所述栈顶节点的所有后继节点与所述栈顶节点组成的边。
8.根据权利要求5至7任意一项所述的并发分析的装置,其特征在于,所述装置还包括:
设置单元,用于在所述获取单元获取所述待处理序列之前,为所述PEG中的线程设置并行层次,所述并行层次表示所述PEG中线程之间的关系。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司;中国科学院计算技术研究所,未经华为技术有限公司;中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310262639.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种倒角机床去毛刺机构及去毛刺方法
- 下一篇:一种有色金属溶液加热棒