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

来源 :华中科技大学 | 被引量 : 0次 | 上传用户:nieyuhan
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
在并行程序编写过程中,用锁来保护共享内存比无锁操作更直观。因此,并行程序通常采用锁来保护共享内存。在某些场景下,锁竞争问题导致工作线程阻塞,从而使并行程序无法充分利用多核平台充足的计算资源,严重影响系统的执行效率。因此,如何设计缓解锁竞争问题的运行时系统成为步入多核时代之后所面临的一大挑战。  多核/众核平台下,缓解锁竞争的运行时系统(LLCR),结合动态分析与运行时调度的方法,解决由大型临界区导致的锁竞争问题。首先,重封装Pthreads运行时库,以插桩检测的方式将原始锁操作重定向至自定义的锁结构以截获锁操作的运行时信息。然后,以锁操作的运行时信息为输入,提出结合多核处理器使用率的多项式级别的分析算法来指明大型临界区的位置并反馈给程序员。进而,在运行时支撑库中提供非阻塞的任务级粒度的锁(TLock)来保护大型临界区,并以任务锁为标注,利用运行时动态调度的方式缓解由大型临界区造成的锁竞争问题,提高多核平台计算资源的利用率。LLCR运行时系统中复杂调度逻辑对用户来说是透明的,只提供简单直观的接口供用户调用,降低了编程复杂度。  缓解锁竞争的LLCR运行时系统能解决多核/众核平台下大型临界区造成的锁竞争问题。相比于未优化的OpenMP及Function Flow并行编程框架,LLCR运行时系统使锁竞争激烈的基准程序的加速比有了显著提升。同时,LLCR运行时系统对基准程序加速比的提升与多核平台的核数正相关,这符合多核平台的发展趋势,证明LLCR运行时系统具有良好的可扩展性。
其他文献
本文在分析中小型医院基本需求的基础上,以Powerbuilder和Oracle9i作为开发平台,采用快速原型开发方法,研究和开发了中小型医院信息管理系统的检查检验子系统和院长管理子系统。
数据受损检测作为入侵容忍技术的重要组成部分,有助于保护数据库应用系统的可生存性。但是已有的数据受损检测技术不满足数据库应用系统受损分析的要求,数据受损检测结果存在过
基于策略的网络管理以整个网络为管理对象,能解决传统网络管理不能解决的一些问题,正逐渐成为一种新的网络管理方案。因此将策略管理和传统的SNMP管理结合起来,提出了基于策略的
基于构件的软件工程能够有效地提高软件开发的质量和效率,而构件组装技术是实现基于构件的软件工程的关键。快速发展的Internet计算平台与软件工程的结合更使软件工程具有了更
随着半导体技术和发热量的限制,处理器频率的发展已经不再适用于摩尔定律,处理器频率的提高越来越缓慢,因此通过增加处理器上面的核心数量来提高处理器性能是一个有效的方法。多
目前流行的在线社交网络服务特别是微博客正在改变信息的传播和共享模式。微博服务允许用户轻松的发布和接收消息。推特(Twitter)每天有超过1亿用户发布2.3亿条微博。与其将查
随着计算机网络技术应用的日益普及,关于网络攻击和入侵的问题也日益严重。入侵检测作为系统的最后一道防线,对整个系统安全有着至关重要的作用,现有入侵检测的审计数据缺乏足够
传统的认证机制是基于用户名和密码的,用户要进入系统就必须输入相应的帐号才可以进入。对于一个要访问处于不同系统中资源的用户,他每进入一个系统就要登录一次,这无疑会耗
本文研究对象是WCDMA基站测试系统,针对怎样自动控制硬件完成测试、怎样输出测试报告,提出解决方案,建立高性能的测试系统。 总体设计部分描述了系统硬件环境和总体软件设计
随着能耗问题的日趋严重,多核/众核异构体系结构逐渐盛行。自2013年Intel正式商业化MIC(Many Integrated Core)协处理器以来,CPU/MIC异构体系结构受到了广泛的重视。虽然如此,CPU/