[发明专利]用于利用工作窃取支持进行有效同步屏障的技术有效
申请号: | 201580061987.0 | 申请日: | 2015-11-11 |
公开(公告)号: | CN107250984B | 公开(公告)日: | 2020-09-29 |
发明(设计)人: | A·D·罗宾森;A·D·冈萨雷斯 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/30 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 姬利永 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 利用 工作 窃取 支持 进行 有效 同步 屏障 技术 | ||
用于多线程化同步和工作窃取的技术包括执行线程队中的两个或更多个线程的计算设备。线程执行其任务队列中的所有任务,并且然后将其关联任务失窃标志值与假进行交换,并且将所述值存储在临时标志中。随后,线程进入基本同步屏障。所述计算设备对所述线程队的所述临时标志执行逻辑OR规约,以产生规约值。在等待所述线程队的其他线程进入所述屏障时,所述线程可以从受害者线程中窃取任务并且将所述受害者线程的任务失窃标志设置为真。在退出所述基本同步屏障之后,如果所述规约值为真,则所述线程重复交换所述任务失窃标志值并且进入所述基本同步屏障。描述并要求保护其他实施例。
相关美国专利申请的交叉引用
本申请要求于2014年12月12日提交的题为“TECHNOLOGIES FOR EFFICIENTSYNCHRONIZATION BARRIERS WITH WORK STEALING SUPPORT(用于利用工作窃取支持进行有效同步屏障的技术)”的美国实用新型专利申请序列号14/568,831的优先权。
背景技术
对于当前的计算设备和应用,高效的多线程化性能变得越来越重要。OpenMP是一种用于共享内存并行编程的流行应用程序编程接口(API)。OpenMP指定了可以用于协调在线程队(thread team)中执行的多个线程的同步屏障特征。一般地,在对程序的执行可以进行之前,线程队的所有线程必须到达屏障。OpenMP还指定了其中多个线程可以创建和执行任务的任务系统。必须在线程可能退出同步屏障之前完成所有任务。因此,通常在线程在同步屏障中等待的同时执行任务。
许多OpenMP实施方式使用“工作窃取”,其中,线程可以“窃取”来自另一线程待执行的多项任务;也就是说,线程可以声明来自另一线程的任务并且运行所述任务直至完成。为了兼容任务需求,OpenMP同步屏障通常实现为树状或线性屏障。然而,树状屏障与非树状屏障(分发屏障(dissemination barrier))相比具有相对较长的关键路径。
附图说明
在附图中通过示例的方式而非限制性的方式展示了在此所描述的概念。为了说明的简单和清晰起见,附图中所展示的元件不一定按比例绘制。在认为适当的情况下,在附图当中重复参考标号以表示相应或相似的元件。
图1是用于利用工作窃取进行有效同步屏障的计算设备的至少一个实施例的简化框图;
图2是图1的计算设备的环境的至少一个实施例的简化框图;
图3是可以由图1和图2的计算设备执行的用于进行并行任务执行和工作窃取的方法的至少一个实施例的简化流程图;
图4是可以由图1和图2的计算设备执行的用于执行同步屏障的方法的至少一个实施例的简化流程图;并且
图5是可以由图1和图2的计算设备执行的用于在执行同步屏障的过程中进行工作窃取的方法的至少一个实施例的简化流程图。
具体实施方式
虽然本公开的概念易于经历各种修改和替代形式,但是在附图中已经通过示例的方式示出了其特定实施例并且将在此对其进行详细描述。然而,应当理解的是,并不旨在将本公开的概念限制于所公开的特定形式,而相反,意图是覆盖与本公开和所附权利要求书一致的所有修改型式、等效型式和替代型式。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201580061987.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种机顶盒自动检修工具
- 下一篇:一种沼气池试验装置