[发明专利]使用编译器的线程数据亲和性优化无效
申请号: | 200680035461.6 | 申请日: | 2006-08-26 |
公开(公告)号: | CN101273332A | 公开(公告)日: | 2008-09-24 |
发明(设计)人: | X·田;M·吉尔卡;D·谢尔;R·格罗夫;W·李;H·王;C·纽伯恩;P·王;J·沈 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/45 | 分类号: | G06F9/45 |
代理公司: | 中国专利代理(香港)有限公司 | 代理人: | 曾祥夌;魏军 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 使用 编译器 线程 数据 亲和性 优化 | ||
技术领域
本文所包含的是受到著作权保护的资料。著作权人不反对任何人复制此专利公开,因为它出现在专利及商标局专利文件或记录中,但在其它方面仍保留所有著作权。
本发明的实施例一般涉及并行处理领域。更具体来说,本发明的实施例涉及多线程环境中的线程数据亲和性。
背景技术
并行处理涉及同时执行两个或两个以上指令线程。使用多个处理器同时进行任务可极大地提高各种应用程序的性能。存在若干并行处理体系结构,包括共享存储器多核处理器、多处理器以及连贯缓冲非统一内存寻址(cc-NUMA)体系结构。在共享存储器多核处理器和多处理器系统中,多个处理元件(例如中央处理器(CPU))由操作系统并行操作,并经由总线互连来访问存储器。
相反,cc-NUMA多处理体系结构具有分为近存储体和远存储体的存储器。在共享存储器多核处理器和多处理器系统中,所有处理元件以相同速度访问公共存储器。在cc-NUMA中,访问与处理元件在相同的处理器板上的存储器(本地存储器)比访问其它处理器板上的存储器(共享存储器)更快,因而使用术语“非统一”。因此,cc-NUMA体系结构对于较大数量的处理元件能远比共享存储器多核处理器和多处理器系统更好地进行缩放。“连贯缓冲NUMA”表示在本地系统中支持高速缓存。在实践方面,大多数大规模NUMA系统是cc-NUMA系统,在本说明书中交替使用NUMA和cc-NUMA。NUMA与cc-NUMA之间的差别对于理解本文所述的本发明的各种实施例没有特别的关联。
图1是示例cc-NUMA体系结构的框图。图1示出节点1-4。较大的并行系统可具有更多节点,但为了简洁起见仅示出四个。每个节点表示为具有作为处理元件5-11示出的一个或多个处理元件(有时又称作“核心”)。每个节点还具有表示为存储器13-16的本地存储器。这只是说明;节点可具有两个以上处理元件以及经由总线连接到这类处理元件的一个以上本地存储器。
一个处理元件本地的存储器对于另一个处理元件可能不是本地的。例如,对于处理元件5,存储器13是本地的并且可快速存取。但是,对于处理元件5,存储器15不是本地的。处理元件5可经由连接节点1和节点3的链路来访问存储器15;但是,这种访问比本地存储器访问具有明显更高的等待时间。从处理元件5访问存储器16甚至具有更高的等待时间,因为必须经过两个独立链路。
因此很明显,希望在本地存储器中具有由执行线程所使用的数据。这种情况的技术术语是“线程数据亲和性”。在多线程系统中,数据可在一个时间由一个处理元件使用,然后在另一个时间由另一个非本地处理元件使用。线程数据亲和性表示将数据移动到采用该数据来执行线程的处理元件本地的存储器的问题。
已经进行了若干尝试来解决线程数据亲和性问题。一种方式是扩展高级编程语言,以便允许由编程人员插入数据分布指示。但是,这种方法损害了程序模型的简单性,并且无法及时处理不规则存储器存取模式。此外,它要求进行额外的编程。
第二种方式采用由操作系统在后台执行的守护程序(demon)(又称作服务)来进行认为适合于由操作系统所执行的应用程序的页迁移。但是,这种方法没有利用页迁移策略与程序语义之间的相关性,并且具有不良响应性。
第三种方式为用户提供可插入程序中以触发页迁移的库例程集合。但是,在进行编译器优化时,这种方法易于在编译时产生副作用。
附图说明
结合附图对本发明的实施例进行作为实例而不是限制的说明,附图中,相似的参考标号表示相似的元件,附图包括:
图1是框图,说明连贯缓冲非统一内存寻址(cc-NUMA)处理平台;
图2是流程图,说明根据本发明的一个实施例的两遍(two-pass)编译;
图3是流程图,说明根据本发明的一个实施例的线程数据亲和性优化;
图4是流程图,说明根据本发明的一个实施例进行优化的程序线程数据亲和性的执行;
图5是框图,说明根据本发明的一个实施例的编译器体系结构;以及
图6是框图,说明根据本发明的一个实施例的示例计算系统。
具体实施方式
两遍编译和剖析工具
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200680035461.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:具保护装置的燃料电池
- 下一篇:压缩机改进结构
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置