首页> 中文学位 >多核/众核环境下的锁竞争分析与优化
【6h】

多核/众核环境下的锁竞争分析与优化

代理获取

目录

封面

声明

中文摘要

英文摘要

目录

1 绪 论

1.1 问题提出

1.2相关技术

1.3 国内外研究现状

1.4 论文研究内容

1.5 文章框架结构

2 多核环境下缓解锁竞争的运行时系统设计

2.1 缓解锁竞争的运行时系统简介

2.2 缓解锁竞争的运行时系统设计思路

2.3 缓解锁竞争的运行时系统的体系结构与功能模块

2.4 缓解锁竞争的运行时系统中任务锁的工作流程

2.5 小结

3 多核环境下缓解锁竞争的运行时系统的关键技术

3.1 并行编程模型锁竞争插桩检测技术

3.2大型关键临界区的分析定位算法

3.3 缓解锁竞争的运行时系统支撑技术

3.4 小结

4 系统测试与分析

4.1 测试环境

4.2系统功能测试

4.3系统性能测试

4.4 小结

5 总结与展望

致谢

参考文献

附录1 攻读学位期间参加的主要科研项目

附录2 攻读学位期间申请的国家发明专利

展开▼

摘要

在并行程序编写过程中,用锁来保护共享内存比无锁操作更直观。因此,并行程序通常采用锁来保护共享内存。在某些场景下,锁竞争问题导致工作线程阻塞,从而使并行程序无法充分利用多核平台充足的计算资源,严重影响系统的执行效率。因此,如何设计缓解锁竞争问题的运行时系统成为步入多核时代之后所面临的一大挑战。
  多核/众核平台下,缓解锁竞争的运行时系统(LLCR),结合动态分析与运行时调度的方法,解决由大型临界区导致的锁竞争问题。首先,重封装Pthreads运行时库,以插桩检测的方式将原始锁操作重定向至自定义的锁结构以截获锁操作的运行时信息。然后,以锁操作的运行时信息为输入,提出结合多核处理器使用率的多项式级别的分析算法来指明大型临界区的位置并反馈给程序员。进而,在运行时支撑库中提供非阻塞的任务级粒度的锁(TLock)来保护大型临界区,并以任务锁为标注,利用运行时动态调度的方式缓解由大型临界区造成的锁竞争问题,提高多核平台计算资源的利用率。LLCR运行时系统中复杂调度逻辑对用户来说是透明的,只提供简单直观的接口供用户调用,降低了编程复杂度。
  缓解锁竞争的LLCR运行时系统能解决多核/众核平台下大型临界区造成的锁竞争问题。相比于未优化的OpenMP及Function Flow并行编程框架,LLCR运行时系统使锁竞争激烈的基准程序的加速比有了显著提升。同时,LLCR运行时系统对基准程序加速比的提升与多核平台的核数正相关,这符合多核平台的发展趋势,证明LLCR运行时系统具有良好的可扩展性。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号