[发明专利]面向多核处理器的实时线程迁移方法无效
申请号: | 200910095958.2 | 申请日: | 2009-02-26 |
公开(公告)号: | CN101504618A | 公开(公告)日: | 2009-08-12 |
发明(设计)人: | 施青松;陈度;马建良;吴斌斌;王超;曹满;冯德贵;王勇刚;胡威;陈天洲 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 杭州求是专利事务所有限公司 | 代理人: | 林怀禹 |
地址: | 310027浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种面向多核处理器的实时线程迁移方法。本发明是充分利用了共享二级cache和内存的多核硬件体系架构的特点从而有效地实现了多核处理器上的实时线程迁移方法。本发明实现了硬件支持的线程迁移初始化和处理器核之间的线程迁移,在线程运行时不需要花任何时间来轮询系统变量,减少了线程迁移时处理器核之间的数据传输,明显提高了线程执行时的性能和缩短了线程迁移的时间。本发明可以用在各种多核处理器上。 | ||
搜索关键词: | 面向 多核 处理器 实时 线程 迁移 方法 | ||
【主权项】:
1. 一种面向多核处理器的实时线程迁移方法,其特征在于:1)在处理器核之间进行线程迁移,所有的处理器核都有私有的一级cache,共享的二级cache和内存;2)硬件支持的线程迁移初始化:第一步,当每一个线程开始运行后,这个线程的所有的迁移点地址都记录在操作系统中;第二步,操作系统把所有的迁移点地址保存到每个线程各自的一个数据结构中,并把每个处理器核上正在运行的线程的迁移点地址写到核上的调试寄存器中,当发生上下文切换时,操作系统就更新调试寄存器中的数据;第三步,当操作系统决定迁移一个线程的时候,操作系统就设置这个线程所在处理器核上的调试寄存器中的标志位来激活调试寄存器;第四步,当线程执行指令到达线程的迁移点地址时,就会产生一个硬件中断并开始线程迁移;3)线程迁移方法:当开始线程迁移时,操作系统唤醒线程迁移的目标处理器核,接着根据源处理器核的指令执行结果对目标处理器核进行训练;当训练过程结束后,操作系统首先释放源处理器核上的线程并清空源处理器核的流水线,接着把源处理器核的一级cache中的数据写回到二级cache中,然后把源处理器核寄存器中的数据通过总线传输给目标处理器核。最后目标处理器核把接收到数据存储到寄存器中,然后开始执行在目标处理器核上产生的线程。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200910095958.2/,转载请声明来源钻瓜专利网。