[发明专利]同步原语的按需扩展在审

专利信息
申请号: 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 代理人: 刘红,陈岚
地址: 美国华*** 国省代码: 暂无信息
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 同步 扩展
【说明书】:

背景技术

改善多处理器计算机系统的性能位于计算机体系结构和操作系统设计的最前沿。为此,操作系统典型地被设计成支持具有能够并发地(concurrently)运行在单独的处理器上以访问共享存储器(shared memory)(例如主存储器)中的对象或数据结构的进程(process)或线程(thread)的多处理器系统。

为了支持这样的多处理器系统,同步原语(primitive)典型地由操作系统采用来避免竞态条件(race condition)。竞态条件发生在多个线程同时访问和操纵相同的对象或数据结构的时候,其可以导致有缺陷的数据。同步原语在一般术语中可以强制执行(enforce)阻止线程在另一线程结束访问对象之前独家(exclusively)访问该对象的策略。这个策略的强制执行通过管理这些线程的并发交互来同步这些线程对于该对象的访问,因而避免竞态条件。

当给定线程获得同步原语以便访问共享存储器中的对象时,该线程可以执行典型地牵涉修改数据的所谓的“联锁操作(interlocked operation)”。联锁操作是要求共享存储器的高速缓存(cache)线由正在执行该线程的处理器“拥有”的原子指令。换句话说,正在针对当前驻留在另一处理器的高速缓存中的数据执行联锁操作的线程必须首先将高速缓存线带到该线程正在其上执行的处理器的本地高速缓冲存储器以便针对该数据操作。

当大量的处理器(例如数百的处理器)正在并发地执行正执行联锁操作的线程时(例如当这些线程正尝试获得同步原语以便访问数据时),称为“高速缓存线争用(cache-line contention)”的现象发生。高速缓存线争用牵涉在不同的处理器之间来回“查验(ping)”或“弹跳(bounce)”高速缓存线,以尝试由每一个处理器拥有高速缓存线。高速缓存线争用在多处理器系统的吞吐量(即,在给定单位的时间中处理的任务的数量)方面是非常昂贵的,这是因为处理器最终花费其大部分的时间来回弹跳高速缓存线而非处理任务。结果,这样的多处理器系统不是可缩放的(即,高速缓存线争用随着更多的处理器被添加而恶化,这负面地影响系统的吞吐量)。

用于在共享数据结构中缓解高速缓存线争用的一种合适方案是实现在每个处理器(per-processor)或每个节点(per-node)基础上分配共享存储器的高速缓存线的可缩放(“高速缓存感知(cache-aware)”)同步原语。通过为每一个处理器/节点分配高速缓存线,能够缓解高速缓存线争用。然而,相对于用于非高速缓存感知同步原语的少量存储器而言,具有大量处理器的系统要求高内存使用来保持(maintain)这样的高速缓存感知同步原语。结果,开发人员被迫在由于使用高速缓存感知同步原语而引起的可缩放性改善或由于使用非高速缓存感知同步原语而引起的内存益处之间选择。

发明内容

在本文描述用于提供非高速缓存感知同步原语至高速缓存感知形式的按需扩展的技术和系统。尽管利用高速缓存感知同步原语提供了可缩放性益处,但是认识到:高速缓存线争用是间歇性发生。因而,高速缓存感知同步原语在对于增加吞吐量而言实际上不需要其时可能有时占据宝贵的内存占用(memory footprint)。同时,也认识到:在没有努力缓解高速缓存线争用的高速缓存感知同步原语的情况下,即使争用间歇性地出现,具有并行运行的许多(例如数百)处理器的多处理器系统也有可能表现不佳。

在一些实施例中,为多处理器系统提供非高速缓存感知同步原语,其中非高速缓存感知同步原语被配置成在为了性能和吞吐量目的而有必要这样做时扩展至高速缓存感知形式。为了确定何时有必要扩展非高速缓存感知同步原语,该系统可以确定由于针对非高速缓存感知同步原语的操作而导致的高速缓存线争用的等级。换句话说,针对非高速缓存感知同步原语的操作的“成本”可以采用可量化的方式来测量,并且那个测量的成本可以与阈值进行比较,其中阈值在被超过时触发非高速缓存感知同步原语至高速缓存感知形式的扩展,这导致具有每个处理器/节点状态的同步原语,其将个别高速缓存线分配给多处理器计算机系统的相应处理器。

在一些实施例中,同步原语一旦被扩展则可以被收缩(contract)或被恢复(revert)到非高速缓存感知形式。这样的收缩可以发生在自从同步原语被扩展以来时间周期(period of time)已流逝之后和/或在确定高速缓存线争用已减弱(即,降至其中不再需要高速缓存感知同步原语的等级)之后。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201580057102.X/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top