[发明专利]同步原语的按需扩展在审
申请号: | 201580057102.X | 申请日: | 2015-10-14 |
公开(公告)号: | CN107077425A | 公开(公告)日: | 2017-08-18 |
发明(设计)人: | M.伊冈;Y.巴克;C.P.克利恩汉斯;S.A.H.拉扎;T.J.乌特耶斯;N.K.辛赫 | 申请(专利权)人: | 微软技术许可有限责任公司 |
主分类号: | G06F12/0871 | 分类号: | G06F12/0871;G06F12/0893 |
代理公司: | 中国专利代理(香港)有限公司72001 | 代理人: | 刘红,陈岚 |
地址: | 美国华*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 同步 扩展 | ||
1.一种方法,包括:
在具有共享存储器的多处理器计算机系统中提供非高速缓存感知同步原语;
确定由于针对非高速缓存感知同步原语的操作而导致的高速缓存线争用的等级;和
响应于高速缓存线争用的等级满足或超过阈值的确定,将非高速缓存感知同步原语变成高速缓存感知同步原语,其中所述高速缓存感知同步原语将所述共享存储器的个别高速缓存线分配给所述多处理器计算机系统的相应处理器。
2.根据权利要求1所述的方法,其中确定高速缓存线争用的等级包括:在所述操作的执行期间测量参数,所述参数至少包括循环计数、InterlockedCompareExchange重试的数量或所述操作的频率之一。
3.根据权利要求1所述的方法,其中确定高速缓存线争用的等级包括:
收集非高速缓存感知同步原语的统计数据,所述统计数据包括在时间周期上在针对非高速缓存感知同步原语的操作的执行期间采取的参数的测量;和
至少部分基于所收集的统计数据来计算所述参数的统计值,以及
其中确定高速缓存线争用的等级满足或超过阈值包括:将所述参数的统计值与所述参数的基线值进行比较,其中所述基线值表示在没有高速缓存线争用的情况下执行所述操作时所述参数的值。
4.根据权利要求3所述的方法,其中所述参数的基线值至少以下之一:(i)通过在所述多处理器计算机系统的启动时间上所述操作之中的一个或多个操作的执行期间测量所述参数来计算;(ii)在所述多处理器计算机系统内静态地被硬编码;或者(iii)由所述多处理器计算机系统的管理员来配置。
5.根据权利要求3所述的方法,其中所述统计数据进一步包括:
所述非高速缓存感知同步原语在所述时间周期上的独家获得的数量或独家释放的数量;和
所述非高速缓存感知同步原语在所述时间周期上的共享获得的数量或共享释放的数量,
其中所述扩展以独家获得或释放的数量与共享获得或释放的数量之比率低于阈值比为条件。
6.根据权利要求1所述的方法,其中所述非高速缓存感知同步原语是锁。
7.根据权利要求1所述的方法,其中所述操作包括与所述非高速缓存感知同步原语的获得或释放相关联的联锁操作。
8.根据权利要求1所述的方法,其中所述扩展包括:
设置所述非高速缓存感知同步原语的转换状态;
将所述共享存储器的个别高速缓存线分配给所述多处理器计算机系统的相应处理器;和
将所述转换状态变成所述非高速缓存感知同步原语的扩展状态。
9.根据权利要求8所述的方法,其中设置转换状态发生在至少一个线程基于来自所述至少一个线程的共享获得而正持有所述非高速缓存感知同步原语的同时。
10.根据权利要求1所述的方法,进一步包括:收缩所述高速缓存感知同步原语以便在自从所述扩展以来时间周期已流逝之后恢复到所述非高速缓存感知同步原语。
11.根据权利要求10所述的方法,进一步包括:等待解放所分配的高速缓存线的共享存储器,直至没有线程持有所述高速缓存感知同步原语。
12.根据权利要求11所述的方法,进一步包括:
在所述多处理器计算机系统的多个处理器上执行操作系统中断;和
检查是否具有任何的线程持有所述高速缓存感知同步原语。
13.根据权利要求10所述的方法,进一步包括:
确定是否任何的线程是所述高速缓存感知同步原语的所分配的高速缓存线的待定获得,所述确定至少部分基于:(i)检查所述线程之中的个别线程的进行中的锁获得的列表;或者(ii)检查是否针对所述线程之中的个别线程来设置线程局部比特;和
如果所述确定指示具有将要获得所述高速缓存感知同步原语的所分配的高速缓存线的至少一个线程,则制止收缩。
14.根据权利要求10所述的方法,其中所述收缩进一步以所述多处理器计算机系统上的高速缓存感知同步原语的数量超过高速缓存感知同步原语的阈值数量为条件。
15.根据权利要求10所述的方法,进一步包括:在收缩之前,收集所述高速缓存感知同步原语的统计数据,所述统计数据包括:
所述高速缓存感知同步原语在所述时间周期上的独家获得的数量或独家释放的数量;和
所述高速缓存感知同步原语在所述时间周期上的共享获得的数量或共享释放的数量,
其中所述收缩进一步以共享获得或释放的数量与独家获得或释放的数量之比率低于阈值比为条件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201580057102.X/1.html,转载请声明来源钻瓜专利网。