[发明专利]经由动态聚合操作的快速且线性化并发优先级队列有效

专利信息
申请号: 201180059844.8 申请日: 2011-11-18
公开(公告)号: CN103262030A 公开(公告)日: 2013-08-21
发明(设计)人: T·威尔马思 申请(专利权)人: 英特尔公司
主分类号: G06F9/38 分类号: G06F9/38;G06F9/06
代理公司: 永新专利商标代理有限公司 72002 代理人: 张晰;王英
地址: 美国加*** 国省代码: 美国;US
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 经由 动态 聚合 操作 快速 线性化 并发 优先级 队列
【说明书】:

技术领域

发明的实施例一般涉及计算系统中并发实体的动态聚合和优化,更具体而言,涉及动态聚合操作以用可扩展和线性化方式并发地加速访问和修改列表、优先级队列或者其它并发实体,以及使用列表来优化例如优先级队列的并发实体上的操作。

背景技术

存在各种机制用于访问和修改优先级队列。优先级队列是改进的队列构造。例如,在先进先出(FIFO)队列中,放置于队列上的第一个元素(入队或推入)是第一个被移除(出队或弹出)的。在优先级队列中,待被移除(弹出)的第一个元素是当时队列中具有最高优先级的元素。因此,优先级队列可以具有基于用户定义的那些元素的优先级而对元素进行有序出队的基本表示。

优先级队列通常用于存储多线程计算系统中的信息或任务。然而,在多线程系统中,在同一时间可能会有多于一个的线程尝试访问队列。因此,现有的系统可以实施一系列锁定算法来确保对于添加和移除项目不会存在竞争,并维持优先级队列的基本表示。通常以堆数据结构来维持优先级队列,以便于定位最高优先级元素并在自堆添加和移除之后进行重构。

用于实现并发优先级队列的多种方法是基于互斥(锁定)的。然而,互斥算法会引起阻塞,这可能会降低系统的整个性能。此外,线程锁定典型地仅允许一次有一个线程操作,这将使得该方法降低为串行性能方法并且增加了锁定开销。在一些情况下,该方法的开销将导致比串行性能更糟。另一种方案是一些算法试图在队列自身内并发执行。在这种情况下,多个线程同时对队列进行操作,从而必须保护对队列的每个元素的访问。这可以使用内部锁定或其它系统来防止对具体队列元素的竞争。这种算法改善了并发性,但是多个这种算法则会太复杂并且因内部锁定而承担较高的开销,从而在实践中表现并不良好。

附图说明

根据以下本发明的详细描述,本发明的特征和优点将变得清晰,其中:

图1图示出根据本发明实施例的将项目放置于优先级队列上的示例性挂起操作列表(pending_opertaion list)的表示,还示出了等待挂起操作列表中的操作的三个线程的时间线;

图2图示出根据本发明实施例的保持优先级队列的数组,以及优先级队列的基础堆表示如何映射到数组;

图3图示出根据本发明实施例的具有堆排序项目和未排序项目的优先级队列的表示;

图4-8示出了根据本发明实施例的由处理程序(handler)在并发优先级队列上执行入队和出队操作的例子;

图9为根据本发明实施例的示例性出队列表或弹出列表(pop_list)的图示;

图10为图示出根据本发明实施例的用于集成同步和聚合以及用于向并发优先级队列推入/从其弹出项目的入队/出队优化的方法的流程图;

图11示出了与基准度量相比用于本发明实施例的各种吞吐量测量;

图12为可以实施本发明实施例的示例性计算系统的框图。

具体实施方式

本发明的实施例通过以改善吞吐量的方式串行化并发优先级队列操作而改善了并行性能。可以理解的是,虽然使用优先级队列阐示本发明的示例性实施例,但是也可以在其它类型的并发实体或者并发数据结构上操作其它实施例。一个实施例具有两个部件:(1)同步协议和聚合技术,其使得单个线程能够以高速缓存友好的方式处理多个操作,同时等待这些操作完成的线程自旋等待(spin-wait)局部堆栈变量,即线程继续轮询堆栈变量直到其被适当地设置或清除,而不是依赖于中断通知;以及(2)入队/出队(推入/弹出)优化,其使用聚合操作的重新排序,以使能以一个操作的代价执行两个操作。

在本发明的说明书中对“一个实施例”或“一实施例”的引用指的是,关于实施例描述的特定特征、结构或特性包含于本发明的至少一个实施例中。因此,出现在整个说明书各处的短语“在一个实施例中”并不必都指的是同一实施例。

出于解释的目的,阐述了具体的配置和细节以便提供对本发明的透彻理解。然而,对于本领域普通技术人员而言,显然可以不用本文所呈现的具体细节而实践本发明的实施例。此外,将对公知的特征进行省略或简化,从而不会模糊本发明。贯穿本说明书将给出多个例子。这些仅是对本发明的具体实施例的描述。本发明的范围并不局限于给出的例子。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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