[发明专利]无锁参考计数在审
申请号: | 201880015203.4 | 申请日: | 2018-03-01 |
公开(公告)号: | CN110352406A | 公开(公告)日: | 2019-10-18 |
发明(设计)人: | 雷扎·亚达尼称;王海川;马林 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 计数器 父线程 子线程 数据结构 分层 无锁 更新 引用 参考 创建 指向 传递 | ||
本发明涉及用于参考计数的技术。与对象对应的父线程计数器由父线程创建,其中所述父线程计数器包括分层计数器数据结构。创建子线程的子线程计数器,包括分层计数器数据结构,并将对所述对象的所述引用从所述父线程传递到所述子线程。更新所述父线程计数器中的所述分层计数器数据结构以引用所述子线程计数器,并更新所述子线程计数器中的所述分层计数器数据结构以指向所述父线程计数器。然后,当所述子线程完成处理时通知所述父线程计数器。作为所述更新的一部分,所述父线程和子线程计数器采用无锁机制。
相关申请案交叉申请
本发明要求于2017年3月10日递交的发明名称为“无锁参考计数”的第15/456,140号美国非临时专利申请案的在先申请优先权,该在先申请的内容以引入的方式并入本文。
技术领域
本发明涉及使用参考计数器进行存储器管理的技术。
背景技术
存储器管理系统通常跟踪创建后的存储器对象,并删除不再需要的那些对象,以使所使用的存储器再次变为可用。这种系统也称为垃圾收集器,其通常的工作是维护与每个存储器对象关联的引用计数。例如,引用计数用于跟踪存储器中正在创建或分配的对象,随后删除这些对象。当线程(或进程或其它实体)访问或以其它方式引用该存储器对象时,引用计数会增加。当所述线程对所述存储器对象删除引用时,所述引用计数会减少。当所述引用计数达到零时,假设所述存储器对象不再使用,所述存储器管理器可以释放所述存储器以进行重复使用,从而降低存储器耗尽的可能性。
此外,计算系统通常有多个处理器,通过在这些处理器上分配给定的工作负载可以提高计算吞吐量。每个处理器可以具有关联存储器,其运行速度高于主存储器。当多个线程在不同的处理器上执行并访问或共享通用存储器对象时,通常需要将该对象的引用计数从一个存储器传输到另一个存储器,这可能会导致延迟增加和处理效率降低。随着计算系统的规模不断扩大,并行执行的线程数量大幅增加,所述存储器管理可能会导致发布的参考计数指令数量增加,同时系统整体性能也会下降。
发明内容
在第一实施例中,提供一种计算机实现的参考计数方法,包括:创建与父线程引用的对象对应的父线程计数器,所述父线程计数器包括分层计数器数据结构;创建子线程的子线程计数器,所述子线程计数器包括所述分层计数器数据结构,并将对所述对象的所述引用从所述父线程传递到所述子线程;更新所述父线程计数器中的所述分层计数器数据结构以引用所述子线程计数器,并更新所述子线程计数器中的所述分层计数器数据结构以指向所述父线程计数器;当所述子线程完成处理时通知所述父线程计数器。
在根据前述任一实施例的第二实施例中,创建所述父线程计数器包括:创建所述父线程计数器包括初始化所述分层计数器数据结构,以将父计数值设置为初始值1,将所述父线程的状态设置为活动,将子项列表设置为空,并将指针设置为空;创建所述子线程计数器包括初始化所述分层计数器数据结构,以将子计数值设置为初始值1,将所述父线程的状态设置为活动,将子项列表设置为空,并将指针设置为指向所述父线程计数器。
在根据前述任一实施例的第三实施例中,更新所述分层计数器数据结构包括:当所述父线程添加对所述对象的引用时,增加所述父线程计数器的所述父计数值;当父线程删除对所述对象的所述引用时,减少所述父线程计数器的所述父计数值;当所述子线程添加对所述对象的引用时,增加所述子引用计数器的所述子计数值;当所述子线程删除对所述对象的所述引用时,减少所述子引用计数器的所述子计数值。
在根据前述任一实施例的第四实施例中,所述计算机实现的方法还包括:完成处理后,将所述父线程和所述子线程的所述状态从活动改变为非活动;独立修改所述父线程和所述子线程中的子项列表,以添加或删除子计数器;将用于新添加子项的所述指针设置为指向直接父计数器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201880015203.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:计算机可读介质、计算系统、方法以及电子装置
- 下一篇:纠错码存储器