[发明专利]非统一内存访问系统中线程化串行程序的方法及装置有效
申请号: | 201110381862.X | 申请日: | 2011-11-25 |
公开(公告)号: | CN102520915A | 公开(公告)日: | 2012-06-27 |
发明(设计)人: | 李艳华;张悠慧;谭玺 | 申请(专利权)人: | 华为技术有限公司;清华大学 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F9/50 |
代理公司: | 北京中博世达专利商标代理有限公司 11274 | 代理人: | 申健 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 统一 内存 访问 系统 线程 串行 程序 方法 装置 | ||
1.一种非统一内存访问系统中线程化串行程序的方法,其特征在于,包括:
接收待处理的串行程序;
获取多核处理器的信息,所述多核处理器的信息包括所述多核处理器的互联结构信息、所有处理器核的延时信息中的至少一项,所述延时信息包含每个所述处理器核的访存延时;
将所述串行程序中的可用循环部分线程化为推测线程,将所述串行程序中的串行部分和非可用循环部分线程化为控制线程;
根据所述互联结构信息和所述延时信息中的至少一项,将所述控制线程和所述推测线程分配至处理器核。
2.根据权利要求1所述的非统一内存访问系统中线程化串行程序的方法,其特征在于,所述将所述串行程序中的可用循环部分线程化为推测线程包括:
确定所述循环部分中的循环体,获取每一个循环体在每两次循环之间的数据传输量;
判断所述数据传输量是否小于预设值,若所述数据传输量小于预设值,则所述循环体为串行程序中的可用循环体,若所述数据传输量不小于预设值,则所述循环体为不可用循环体;
将可用循环体生成为推测线程,将不可用循环体加入到控制线程中。
3.根据权利要求2所述的非统一内存访问系统中线程化串行程序的方法,其特征在于,所述多核处理器的信息还包括所有处理器核的状态信息,所述状态信息包含所有处理器的使用率,在所述将可用循环体生成为推测线程之前,所述方法还包括:
根据所述使用率获取可用处理器核的数量;
获取所述串行程序中所有可用循环体所包含的循环次数;
取所述可用处理器核的数量和所述循环次数的最小值作为推测线程的数目。
4.根据权利要求2所述的非统一内存访问系统中线程化串行程序的方法,其特征在于,所述将可用循环体生成为推测线程包括:
依次获取所述串行程序中的可用循环体,并将获取到的可用循环体依次生成为推测线程,获取当前推测线程的执行时间,判断所述执行时间是否不小于阈值,所述阈值根据所有处理器核的访存延时的平均值获得;
若小于,则获取下一个可用循环体并加入到当前推测线程中,直至当前推测线程的执行时间不小于所述阈值。
5.根据权利要求1所述的非统一内存访问系统中线程化串行程序的方法,其特征在于,所述将所述控制线程分配至处理器核为:根据所述延时信息,将所述控制线程分配至所述可用处理器核中相互访存平均延时时间最小的处理器核。
6.根据权利要求1至5任一项所述的非统一内存访问系统中线程化串行程序的方法,其特征在于,所述根据所述互联结构信息和所述延时信息中的至少一项,将所述推测线程分配至处理器核包括:
根据所述互联结构信息确定与控制线程所在的处理器核位于同一个处理器模块的处理器核;
将推测线程优先分配至与控制线程所在的处理器核位于同一个处理器模块的处理器核。
7.根据权利要求6所述的非统一内存访问系统中线程化串行程序的方法,其特征在于,所述根据所述互联结构信息和所述延时信息中的至少一项,将所述推测线程分配至处理器核还包括:
在没有被分配的推测线程中,获得推测线程相互间的数据依赖及数据传输量。
将有具有数据依赖的推测线程中的数据传输量大的推测线程优先分配至位于同一个处理器模块中的处理器核。
8.根据权利要求7所述的非统一内存访问系统中线程化串行程序的方法,其特征在于,所述根据所述互联结构信息和所述延时信息中的至少一项,将所述推测线程分配至处理器核还包括:
将其余没有被分配的推测线程优先分配至延时时间与控制线程所在处理器核的延时时间的差值小的处理器核。
9.一种非统一内存访问系统中线程化串行程序的装置,其特征在于,包括:
接收模块,用于接收待处理的串行程序;
提取模块,获取多核处理器的信息,所述多核处理器的信息包括所述多核处理器的互联结构信息、所有处理器核的延时信息中的至少一项,所述延时信息包含每个所述处理器核的访存延时;
线程化模块,用于将所述串行程序中的可用循环部分线程化为推测线程,将所述串行程序中的串行部分和非可用循环部分线程化为控制线程;
分配模块,用于根据所述互联结构信息和所述延时信息中的至少一项,将所述控制线程和所述推测线程分配至处理器核。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司;清华大学,未经华为技术有限公司;清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110381862.X/1.html,转载请声明来源钻瓜专利网。