[发明专利]非统一内存访问系统中线程化串行程序的方法及装置有效
申请号: | 201110381862.X | 申请日: | 2011-11-25 |
公开(公告)号: | CN102520915A | 公开(公告)日: | 2012-06-27 |
发明(设计)人: | 李艳华;张悠慧;谭玺 | 申请(专利权)人: | 华为技术有限公司;清华大学 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F9/50 |
代理公司: | 北京中博世达专利商标代理有限公司 11274 | 代理人: | 申健 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 统一 内存 访问 系统 线程 串行 程序 方法 装置 | ||
技术领域
本发明涉及多线程技术领域,尤其涉及一种非统一内存访问系统中线程化串行程序的方法及装置。
背景技术
随着多核芯片(Chip Multi-Processor,CMP)技术的发展,多核处理器得到广泛应用。现有的多核处理器主要有UMA(Uniform Memory Access,统一内存访问)和NUMA(Non-Uniform Memory Access,非统一内存访问)这两种结构形式。
在UMA中,设备中有多个CPU(Central Processing Unit,中央处理器/处理器)对称工作,共享相同的物理内存,除CPU以外的所有资源都是共享的,每个CPU访问内存中的任何地址所需时间相同的;在NUMA中具有多个CPU模块,每个CPU模块由多个CPU核组成并且具有独立的本地内存、输入输出接口等。不同CPU模块可以进行连接和信息交互,故每个CPU模块可以访问其他CPU模块的内存。
在使用多核处理器处理传统的串行程序时,需要将串行程序线程化,从而加速串行程序在多核处理器上的执行速度,并使多核处理器的获取资源得到更充分的利用。推测多线程技术(Speculative Multithreading,SMT)就是线程化串行程序的一种方案。
推测多线程技术的基本思路是:将串行程序的串行部分和循环部分(循环部分包含串行程序中的多个循环体)划分为新的线程,并将这些线程分配至多个CPU(Central Processing Unit,中央处理器)核上执行。
在NUMA中实行推测多线程技术的方法与在UMA中实行推测多线程技术的方法基本相同。即将串行程序线程化为多线程程序,并将不同的线程随机分配至CPU核上执行;CPU核在执行线程的过程中,需要不断访问内存以支持CPU核的获取功能,具体的,就是CPU核在执行线程的过程中根据线程的具体执行代码,访问本地内存,或是通过NUMA中CPU模块之间的互联网络访问其他CPU模块中的内存,从而完成线程的执行过程。
在将上述方案应用在NUMA中时,CPU核在访问内存时存在访存延时,访存延时会影响推测多线程机制的执行效果,从而降低多核处理器的性能。
发明内容
本发明的实施例提供一种非统一内存访问系统中线程化串行程序的方法及装置,能够缓减在非统一内存访问系统中由于访存延时所导致的多核处理器性能的降低。
本发明的实施例采用如下技术方案:
一方面,本发明的实施例提供一种非统一内存访问系统中线程化串行程序的方法,包括:
接收待处理的串行程序;
获取多核处理器的信息,所述多核处理器的信息包括所述多核处理器的互联结构信息、所有处理器核的延时信息中的至少一项,所述延时信息包含每个所述处理器核的访存延时;
将所述串行程序中的循环部分线程化为推测线程,将所述串行程序中的串行部分线程化为控制线程;
根据所述互联结构信息和所述延时信息中的至少一项,将所述控制线程和所述推测线程分配至处理器核。
另一方面,本发明的实施例提供一种非统一内存访问系统中线程化串行程序的装置,包括:
接收模块,用于接收待处理的串行程序;
提取模块,获取多核处理器的信息,所述多核处理器的信息包括所述多核处理器的互联结构信息、所有处理器核的延时信息中的至少一项,所述延时信息包含每个所述处理器核的访存延时;
线程化模块,用于将所述串行程序中的循环部分线程化为推测线程,将所述串行程序中的串行部分线程化为控制线程;
分配模块,用于根据所述互联结构信息和所述延时信息中的至少一项,将所述控制线程和所述推测线程分配至处理器核。
本发明实施例提供的方法和装置,能够在非统一内存访问系统中,根据CPU核访问内存时的延迟信息、各多核处理器的互联结构信息和各CPU核的状态信息等对串行程序进行线程划分,并根据这些信息,通过相应的调度计划,将推测线程调度至CPU核上执行。与现有技术相比,本发明实施例能够对串行程序进行合理的线程划分,并将这些线程以最佳策略分配至CPU核上执行,从而缓减在非统一内存访问系统中由于访存延时所导致的多核处理器性能的降低。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司;清华大学,未经华为技术有限公司;清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110381862.X/2.html,转载请声明来源钻瓜专利网。