[发明专利]用于实现可扩展争用自适应统计计数器的系统和方法有效
申请号: | 201380072247.8 | 申请日: | 2013-12-19 |
公开(公告)号: | CN105103130B | 公开(公告)日: | 2018-10-12 |
发明(设计)人: | D·戴斯;Y·列夫;M·S·莫尔 | 申请(专利权)人: | 甲骨文国际公司 |
主分类号: | G06F9/52 | 分类号: | G06F9/52;G06F9/50 |
代理公司: | 中国国际贸易促进委员会专利商标事务所 11038 | 代理人: | 罗亚男 |
地址: | 美国加*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 实现 扩展 自适应 统计 计数器 系统 方法 | ||
1.一种用于实现统计计数器的方法,包括:
由一个或多个计算节点执行以下操作,其中每个节点包括至少一个处理器核心以及存储器:
开始包括一个或多个递增共享计数器的操作的多线程应用的执行,其中共享计数器实现为能够由所述多线程应用的多个线程访问的数据结构;
由所述应用的给定线程启动以所述共享计数器为目标的递增操作;
响应于所述启动,确定是否或者何时更新所述数据结构;及
响应于确定所述数据结构要被更新,更新存储在所述数据结构中的值;
其中所述确定是否或何时所述更新数据结构的步骤或者所述更新存储在所述数据结构中的值的步骤包括依赖于对共享计数器的当前或历史争用量来选择用于执行所述确定或所述更新的多种技术之一。
2.如权利要求1所述的方法,其中所述选择用于执行所述确定或所述更新的多种技术之一依赖于重试限制条件是否已经通过递增共享计数器的之前尝试满足或者将通过所述更新满足。
3.如权利要求1所述的方法,其中所述选择用于执行所述确定或所述更新的多种技术之一依赖于是否已经有多于预定最大次数的响应于所述启动而递增共享计数器的失败尝试。
4.如权利要求1所述的方法,其中所述选择用于执行所述确定或所述更新的多种技术之一依赖于争用管理策略。
5.如权利要求1所述的方法,
其中所述数据结构包括计数值部分和节点标识符部分;及
其中选择用于执行所述更新的多种技术之一包括选择以下之一:
其中只有数据结构的计数值部分被更新的技术;及
其中数据结构的计数值部分和节点标识符部分都被更新的技术。
6.如权利要求1所述的方法,
其中所述数据结构包括:
存储计数值或指针值的计数器部分;及
计数器部分是存储计数值还是指针值的指示符,其中存储在计数器部分标识符中的指针值识别包括一个或多个值的备选计数器结构;
其中选择用于执行所述更新的多种技术之一包括选择以下之一:
其中计数器部分存储计数值并且所述更新包括递增存储在计数器部分中的计数值的技术;或者
其中计数器部分存储指针值并且所述更新包括更新由该指针值识别的备选计数器结构中的值之一的技术。
7.如权利要求1所述的方法,
其中选择用于执行所述更新的多种技术之一包括选择以下之一:
其中所述更新包括响应于所述启动而递增精确计数值的技术;或者
其中预计计数值能够从更新概率值计算并且所述更新包括响应于所述启动而以等于其当前值的概率更新更新概率值的技术。
8.如权利要求7所述的方法,
其中数据结构既存储精确计数值又存储更新概率值;及
其中该方法还包括:
由所述多个线程之一启动以所述共享计数器为目标的读操作;及
响应于所述多个线程之一启动读操作:
生成共享计数器的合成值,合成值包括共享计数器的预计值与精确计数值的聚合;及
返回共享计数器的合成值。
9.如权利要求1所述的方法,
其中数据结构存储概率计数器值的表示,其中共享计数器的预计值能够从概率计数器值的表示计算,并且其中所述更新导致减小存储在数据结构中的概率计数器值的表示将响应于后续递增操作的启动而被更新的概率;及
其中选择用于执行所述更新的多种技术之一包括:
响应于对共享计数器的高争用,选择其中概率计数器值的表示将被更新的概率比对共享计数器的争用低时更频繁地减小的技术;或者
响应于对共享计数器的低争用,选择其中概率计数器值的表示将被更新的概率比对共享计数器的争用高时更不频繁地减小的技术。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于甲骨文国际公司,未经甲骨文国际公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201380072247.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:共享和受管的存储器统一访问
- 下一篇:时钟中断信号的获取方法和NFV装置