[发明专利]一种虚拟资源分配方法及装置有效
申请号: | 201310444885.X | 申请日: | 2013-09-22 |
公开(公告)号: | CN104461730B | 公开(公告)日: | 2017-11-07 |
发明(设计)人: | 唐士斌;唐志敏;宋风龙;叶笑春 | 申请(专利权)人: | 华为技术有限公司;中国科学院计算技术研究所 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京中博世达专利商标代理有限公司11274 | 代理人: | 申健 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 虚拟 资源 分配 方法 装置 | ||
技术领域
本发明涉及计算机,尤其涉及一种虚拟资源分配方法及装置。
背景技术
在进程上下文切换时,保存用户级线程的相关硬件状态。该方法被广泛的应用于事务性内存和确定性重放等硬件实现方法中。在上述应用中,需要区分不同用户级线程。例如在确定性重放中,需要检查来自不同用户级线程的访存冲突并将其记录,因此,在用户级线程发生切换时,需要保存并更新与用户线程相关的硬件资源。再例如在事务内存中,一个事务是属于一个用户级线程的,在用户级线程发生切换时,我们需要得知该事件的发生,并且保存该用户级线程事务相关的状态。否则,无法保证事务的原子性。
基于共享存储的多线程模型中的1-on-1模型中,用户级线程与轻量级进程之间是一一对应的关系,现有的方法,在保存用户级线程相关硬件资源的操作,是在进程上下文切换时发生的,在1-on-1的模型中,现有的方法是可行的。
但是,在基于共享存储的多线程模型中的M-on-N模型中,用户级线程与轻量级进程之间存在多种对应关系。其中,用户级线程,是通过用户库实现的。轻量级进程,是内核支持的用户级线程,与其它轻量级进程共享地址空间与进程资源。轻量级进程与内核态线程绑定。用户级线程通过与轻量级进程绑定获取处理器资源。内核不知道用户级线程的存在,用户级线程的切换可能发生在用户空间。而该切换的发生,内核无法得知,因此,在进程上下文切换时保存与用户级线程相关硬件资源的方法不够精确,会漏掉在用户级线程的切换,给事务内存、确定性重放及数据竞争检查等方法带来严重的准确性隐患。
发明内容
本发明实施例提供一种虚拟资源分配方法及装置,能够避免进程上下文切换过程中对用户级线程的切换遗漏,提高事务内存、确定性重放及数据竞争检查等方法的准确性。
第一方面,本发明实施例提供一种虚拟资源分配方法,包括:
在用户级线程挂起时,虚拟资源分配装置在用户级线程的控制数据块中保存所述用户级线程对应硬件资源;
所述虚拟资源分配装置在所述用户级线程对应的轻量级进程的控制数据块中保存所述用户级线程对应的硬件资源。
结合第一方面,在第一种可能的实现方式中,所述方法还包括:
所述虚拟资源分配装置读取所述用户级线程的控制数据块中保存的所述用户级线程对应硬件资源,并加载到所述硬件资源对应的硬件中;
所述虚拟资源分配装置读取所述轻量级进程的控制数据块中保存的所述用户级线程对应的硬件资源,并加载到所述硬件资源对应的硬件中。
结合第一方面和第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述虚拟资源分配装置在用户级线程的控制数据块中保存所述用户级线程对应硬件资源,具体包括:
所述虚拟资源分配装置在所述用户级线程的控制数据块中增加第一数据结构;
将所述用户级线程对应硬件资源保存至所述第一数据结构;
所述虚拟资源分配装置读取所述用户级线程的控制数据块中保存的所述用户级线程对应硬件资源,并加载到所述硬件资源对应的硬件中,具体包括:
所述虚拟资源分配装置在所述第一数据结构中读取所述用户级线程对应硬件资源,并加载到所述硬件资源对应硬件中。
结合第一方面和第一方面的第一种可能的实现方式,在第三种可能的实现方式中,所述虚拟资源分配装置在轻量级进程的控制数据块中保存所述用户级线程对应的硬件资源,具体包括:
所述虚拟资源分配装置在所述轻量级进程的控制数据块中增加第二数据结构;
将所述用户级线程对应硬件资源保存至所述第二数据结构;
所述虚拟资源分配装置读取所述轻量级进程的控制数据块中保存的所述用户级线程对应的硬件资源,并加载到所述硬件资源对应的硬件中,具体包括:
所述虚拟资源分配装置在所述第二数据结构中读取所述用户级线程对应硬件资源,并加载到所述硬件资源对应的硬件中。
结合第一方面,在第四种可能的实现方式中,所述方法还包括:
当所述用户级线程挂起时,所述虚拟资源分配装置在本地读取所述用户级线程的硬件资源。
结合第一方面,在第五种可能的实现方式中,所述方法还包括:
当所述轻量级进程挂起时,所述虚拟资源分配装置在本地读取所述轻量级进程绑定的所有用户级线程的硬件资源。
结合第一方面或第一方面任一一种可能的实现方式,在第六种可能的实现方式中,所述硬件资源包括:用户级线程对应的标量时钟、读集合和写集合或向量时钟。
第二方面,本发明实施例提供一种虚拟资源分配装置,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司;中国科学院计算技术研究所,未经华为技术有限公司;中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310444885.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:针对终端应用的处理方法和系统
- 下一篇:一种信息处理方法及电子设备