发明名称 经由动态聚合操作的快速且线性化并发优先级队列
摘要 本发明的实施例通过串行化并发优先级队列操作来提高吞吐量从而改善了多线程应用的并行性能。一个实施例使用同步协议和聚合技术,其使得单个线程能够以高速缓存友好的方式处理多个操作,同时等待这些操作完成的线程自旋等待局部堆栈变量,即线程继续轮询堆栈变量直到其被适当地设置或清除,而不是依赖于中断通知。用于入队/出队(推入/弹出)优化的技术使用聚合操作的重新排序,以使能在一些情况下以一个操作的代价执行两个操作。描述并要求保护其它实施例。
申请公布号 CN103262030A 申请公布日期 2013.08.21
申请号 CN201180059844.8 申请日期 2011.11.18
申请人 英特尔公司 发明人 T·威尔马思
分类号 G06F9/38(2006.01)I;G06F9/06(2006.01)I 主分类号 G06F9/38(2006.01)I
代理机构 永新专利商标代理有限公司 72002 代理人 张晰;王英
主权项 一种计算机实现系统,包括:耦合到存储器的处理器,所述处理器被配置为执行多线程应用程序;在所述处理器上执行的多线程应用,多线程应用程序被配置为使用并发实体,并且其中所述多线程应用的多个线程被配置为生成多个操作节点,以与其它线程并发地在所述并发实体上操作;同步和聚合逻辑部件,其耦合到所述多线程应用,并被配置为接受来自所述多个线程的操作节点,每个操作节点对应于单个线程,被接受的操作节点放置于临时列表中,所述操作节点定义在并发实体上执行的操作,其中,只有已知为处理程序线程的一个线程被允许在临时列表上操作,以在所述并发实体上执行操作,并且其中,在被允许向第二临时列表提供另一操作节点之前,每个线程被允许向所述临时列表仅提供一个操作节点,并且等待直到所述处理程序线程已经处理了相应的操作节点;并且所述并发实体存储于所述多线程应用程序可访问的存储器中。
地址 美国加利福尼亚