[发明专利]利用同步开销以改善多线程性能的机制有效
申请号: | 201210460430.2 | 申请日: | 2006-03-01 |
公开(公告)号: | CN102968302A | 公开(公告)日: | 2013-03-13 |
发明(设计)人: | N.英赖特;J.科林斯;P.王;H.王;X.田;J.沈;G.肖弗;P.哈马伦德 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 徐予红;卢江 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 利用 同步 开销 改善 多线程 性能 机制 | ||
1.一种设备,包括:
能够同时执行多个线程的执行资源;
检测与同步对象相关联的缓存缺失事件的事件检测器硬件逻辑,所述事件检测器引发第一线程切换;以及
检测同步对象为受争夺的同步对象的旋转检测器,所述旋转检测器引发第二线程切换。
2.如权利要求1所述的设备,其中所述旋转检测器包括存储在机器可读取介质内的事件检测器编程程序,所述事件检测器编程程序对事件检测器逻辑进行编程以检测所述同步对象受争夺。
3.如权利要求1所述的设备,还包括存储器,所述存储器存储利用所述同步对象的应用和将被第一线程切换启动的未来锁模块,其中所述未来锁模块将获得所述应用的未来锁。
4.如权利要求3所述的设备,其中所述未来锁模块将获得多个未来锁,所述设备还包括节流模块以防止过量的锁预取出。
5.如权利要求3所述的设备,其中所述未来锁模块将通过预取出数据而获得未来锁。
6.如权利要求3所述的设备,还包括剖析模块,以收集关于同步争夺的剖析数据。
7.如权利要求6所述的设备,其中用户线程调度模块将所述剖析数据用于用户线程调度。
8.如权利要求1所述的设备,其中所述受争夺的同步对象是受争夺的锁,所述旋转检测器将检测受争夺的锁。
9.如权利要求8所述的设备,还包括存储器,所述存储器将存储应用,所述应用包括含有受争夺的锁的锁部分以及模块,以使用由于在所述锁部分外部有效的受争夺的锁而导致的开销延迟。
10.如权利要求1所述的设备,还包括存储器,所述存储器将存储同步改进模块,以向调度器提供重新调度提示,其中所述同步改进模块将在生产者线程之前检测调度消费者线程的线程调度低效率并提供提示以在消费者线程之前调度生产者线程。
11.如权利要求1所述的设备,其中所述事件检测器被编程,以便响应于锁部分中遇到的缓存缺失而分叉未来锁辅助线程。
12.一种方法,包括:
在第一线程内遇到涉及锁变量的锁部分;
响应于尝试取出所述锁变量时出现的缓存缺失而启动第一辅助线程来为第一线程取出未来锁,将至少部分地并行执行所述第一辅助线程和其它线程。
13.如权利要求12所述的方法,还包括:
检测所述锁变量受争夺;
启动第二辅助线程以利用锁同步开销。
14.如权利要求12所述的方法,其中利用锁同步开销包括响应于正受争夺的锁变量而执行分别同步循环的叠代。
15.如权利要求13所述的方法,其中启动第一辅助线程包括分叉第一线程并切换到第一辅助线程,并且其中启动第二辅助线程包括分叉第二辅助线程并切换到第二辅助线程。
16.如权利要求12所述的方法,其中利用锁同步开销包括:
收集同步剖析信息;
基于该同步剖析信息而提供线程调度提示。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210460430.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种可折叠的电吹风
- 下一篇:具有基于触摸的反射式显示的信息处理装置