[发明专利]用于实现可扩展争用自适应统计计数器的系统和方法有效
申请号: | 201380072247.8 | 申请日: | 2013-12-19 |
公开(公告)号: | CN105103130B | 公开(公告)日: | 2018-10-12 |
发明(设计)人: | D·戴斯;Y·列夫;M·S·莫尔 | 申请(专利权)人: | 甲骨文国际公司 |
主分类号: | G06F9/52 | 分类号: | G06F9/52;G06F9/50 |
代理公司: | 中国国际贸易促进委员会专利商标事务所 11038 | 代理人: | 罗亚男 |
地址: | 美国加*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 实现 扩展 自适应 统计 计数器 系统 方法 | ||
本文所述的系统和方法可以实现适于对计数器的争用量的可扩展统计计数器。计数器可以在事务中被访问。用于确定是否或者何时响应于递增操作的启动而递增计数器的方法和/或用于更新计数器的方法可以依赖于当前、最近或历史争用量来选择。各种争用管理策略或重试条件可被用来在多种方法之间进行选择。一种计数器可以包括在低争用情况下递增的精确计数器部分和在高争用情况下更新的概率计数器部分。概率计数器递增的量可以依赖于争用。另一种计数器可以包括只有在争用情况下才鼓励由单个节点上的线程进行连续递增的节点标识符部分。另一种计数器可以响应于对计数器的争用而膨胀。
技术领域
本公开内容涉及共享的统计计数器,并且更具体而言涉及用于提高包括对共享统计计数器进行访问的应用的性能的技术。
背景技术
多核体系架构设计中当前的趋势暗示,在未来几年内,将有从简单的基于总线的设计朝分布式非一致存储器访问(NUMA)和高速缓存固有NUMA(CC-NUMA)体系架构的加速偏移。根据NUMA,对任何给定访问的存储器访问时间依赖于被访问的存储器相对于处理器的位置。这种体系架构通常包括具有快速本地存储器(例如,紧密耦合到处理器和/或位于相同的单个多核芯片上的存储器)的计算核心的集合,其中这些存储器经由较慢的(芯片间)通信介质彼此通信。在这种系统中,处理器通常可以访问其自己的比非本地存储器快的本地存储器,诸如其自己的高速缓存存储器。在一些系统中,非本地存储器可以包括一个或多个在处理器之间共享的存储器组和/或在另一处理器本地的存储器组。一些系统,包括许多NUMA系统,提供非一致的通信体系架构(NUCA)属性,其中访问其它处理器核心的高速缓存的时间随其离发出请求的核心的物理距离而变。在这些系统中,核心对其本地存储器的访问,并且尤其是对共享的本地高速缓存的访问,可以比对远程存储器(例如,位于另一芯片上的高速缓存)的访问快若干(或者许多)倍。
更大型的软件系统使用统计计数器来进行性能监视和诊断。例如,统计计数器对诸如检测各种系统事件的过高速率或者对基于事件频率而变的机制的目的具有实际重要性。虽然单线程的统计计数器微不足道,但是通常使用的单纯(naive)并发实现很快变得有问题,尤其是当线程计数增长时。例如,当系统增长并且当统计计数器在越来越多的非一致存储器访问(NUMA)系统中被使用时,常用的单纯计数器强加扩展性瓶颈和/或它们无用的此类不准确性。特别地,这些计数器(当在线程之间共享时)会对计数器的每次修改招致无效流量,这在NUMA机器上尤其昂贵。
并行执行事务的能力是可扩展性能的关键。但是,当对计数器的访问发生在事务内部时,共享计数器用于收集统计数据(例如,关于一块代码执行得多频繁、多少元素在散列表中等等的统计数据)会不利地影响事务成功率(因为由不同事务或线程对共享计数器的任何两次更新都将潜在地彼此冲突)。解决这个问题的一些之前的方法涉及把更新计数器的操作移动到事务之外,由此改变程序的语义,或者实现对“事务提升”的复杂并且昂贵的支持,这不是在所有语境下都适用。
出于这些和其它原因,应用设计者面对困难的折中,涉及强加于轻争用计数器之上的等待时间、可扩展性和(在一些情况下)重争用计数器的准确性,以及各种探针效应。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于甲骨文国际公司,未经甲骨文国际公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201380072247.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:共享和受管的存储器统一访问
- 下一篇:时钟中断信号的获取方法和NFV装置