[发明专利]一种NUMA架构下平衡多线程间访存延迟的调度系统及方法有效
申请号: | 201610024295.5 | 申请日: | 2016-01-15 |
公开(公告)号: | CN105700946B | 公开(公告)日: | 2019-03-05 |
发明(设计)人: | 金海;廖小飞;朱亮;曾丹 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 华中科技大学专利中心 42201 | 代理人: | 曹葆青 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种NUMA架构下平衡多线程间访存延迟的调度系统及方法,所述系统包括检测模块、采样模块、分析模块、判断模块和调度模块,通过采样保存多线程程序运行过程中每个线程的访存信息,预测分析该多线程程序中各线程的访存延迟是否不平衡,根据分析结果进行合理的调度,对远端访存的线程访问变量进行迁移调度至线程所在节点或使用交错存放将其平均分配到各节点上,从而保证各线程的访存延迟基本相等。本发明通过平衡多线程间访存延迟的方式,优化多线程程序在NUMA架构下的运行性能,本发明通过一种细粒度,有针对性的方式进行实时调度,使多线程程序取得并行区域的性能优化。 | ||
搜索关键词: | 一种 numa 架构 平衡 多线程 间访存 延迟 调度 系统 方法 | ||
【主权项】:
1.一种NUMA架构下平衡多线程间访存延迟的调度系统,其特征在于,所述系统包括检测模块、采样模块、分析模块、判断模块和调度模块,其中,检测模块,用于探测程序是否进入多线程并行执行区域,还用于在探测程序进入多线程并行执行区域后,启动采样模块;采样模块,用于对多线程程序运行过程中每个线程的访存行为进行采样,并将采样过程中获取的访存信息保存;分析模块,一方面用于根据所述采样模块获取的访存信息,定期对所述多线程程序中各线程的访存延迟不平衡度进行评估,还用于针对发生不平衡现象的多线程程序进行访存行为分析,此外,所述分析模块还用于根据所述采样模块获取的访存信息进行访存规律分析;判断模块,用于根据所述访存延迟不平衡度判断是否发生多线程间访存延迟不平衡现象,同时,还用于在访存延迟不平衡现象发生时进一步判断线程访问变量是否仅由一个线程访问、线程访问变量与访问该变量的线程是否处于同一个节点及线程访问变量大小是否小于第二阈值Size,此外,所述判断模块,还用于判断程序多线程并行执行的区域是否结束;调度模块,用于根据所述分析模块的访存行为分析和访问规律分析,及判断模块的判断结果对远端访存的线程访问变量进行迁移调度至线程所在节点或使用交错存放将其平均分配到各节点上。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610024295.5/,转载请声明来源钻瓜专利网。