[发明专利]线程迁移方法、装置和系统有效
申请号: | 201480038263.X | 申请日: | 2014-09-22 |
公开(公告)号: | CN105637483B | 公开(公告)日: | 2019-08-20 |
发明(设计)人: | 李景超 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/48 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 马爽 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 线程 迁移 方法 装置 系统 | ||
本发明实施例提供一种线程迁移方法、装置和系统,通过集群控制器根据目标集群中的各处理器核的状态信息,确定一个适合线程迁移的目标处理器核,将线程的上下文信息发送到目标处理器核,从而,实现集群之间的线程迁移。
技术领域
本发明实施例涉及通信技术,尤其涉及一种线程迁移方法、装置和系统。
背景技术
在传统的片上多核处理器系统(on-Chip Multiple Processor System,以下简称:CMPs)中,当某个核的线程请求访问的数据不在该核内的缓存(Cache)时,则将数据通过片上网络搬运到该核的缓存中,以便线程进行访问,然而,当线程需要对数据进行连续或频繁的访问时,在核间搬运数据会产生大量的流量开销。
现有技术中,通过将线程迁移到存储请求访问的数据所在的核中,对数据进行访问,在硬件实现上,线程迁移造成的流量开销远小于数据搬运造成的流量开销。然而,随着片上网络技术的发展,众核架构成为未来面向大数据应用的一个趋势,众核架构以集群(cluster)为架构单位,每个集群中包含多个核,当线程请求访问的数据不在本集群内的核中时,现有技术无法实现集群之间的线程迁移。
发明内容
本发明实施例提供一种线程迁移方法、装置和系统,以实现集群之间的线程迁移。
本发明实施例第一方面提供一种线程迁移方法,应用于众核架构的集群系统中,所述众核架构的集群系统至少包含两个集群,所述两个集群之间通过M个集群控制器相连,每个所述集群中包含若干个处理器核,每个所述集群控制器用于监控所直接连接的集群中的若干个处理器核的状态信息,所述M大于等于1且为整数,所述方法包括:
集群控制器接收源处理器核发送的线程的上下文信息和目标集群的标识,其中,所述线程的上下文信息包括:程序计数器值和寄存器值;
所述集群控制器若判断所述目标集群的标识为所述集群控制器直接连接的集群的标识,所述集群控制器根据所述目标集群中的各处理器核的状态信息,确定所述线程迁移的目标处理器核;
所述集群控制器将所述线程的上下文信息发送到所述目标处理器核。
结合第一方面,在第一种可能的实现方式中,所述集群控制器根据所述目标集群中各处理器核的状态信息,确定所述线程迁移的目标处理器核,包括下述任一种方式:
所述集群控制器根据所述目标集群中各处理器核的访存指令队列的状态信息,确定所述线程迁移的目标处理器核;
所述集群控制器根据所述目标集群中各处理器核的线程上下文的存储单元的状态信息,确定所述线程迁移的目标处理器核;
所述集群控制器根据所述目标集群中各处理器核的访存指令队列的状态信息和线程上下文的存储单元的状态信息,确定所述线程迁移的目标处理器核。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述访存指令队列的状态信息包括所述访存指令队列中所有访存指令的个数;
所述集群控制器根据所述目标集群中各处理器核的访存指令队列的状态信息,确定所述线程迁移的目标处理器核,包括:
所述集群控制器根据所述目标集群中各处理器核的访存指令队列中所有访存指令的个数,确定访存指令队列中所有访存指令的个数最少的处理器核为线程迁移的目标处理器核。
结合第一方面的第一种可能的实现方式,在第三种可能的实现方式中,所述线程上下文的存储单元包含若干表项,每个所述表项用于存储一个线程的上下文信息,所述线程上下文的存储单元的状态信息包括所述线程上下文的存储单元中空余表项的个数;
所述集群控制器根据所述目标集群中各处理器核的线程上下文的存储单元的状态信息,确定所述线程迁移的目标处理器核,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201480038263.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:结算媒介读取装置及其控制方法以及结算处理系统
- 下一篇:计算会话的管理