首页 | 本学科首页   官方微博 | 高级检索  
     

面向DSWP并行的OpenMP任务调度机制的扩展与实现
引用本文:刘晓娴,赵荣彩,丁锐.面向DSWP并行的OpenMP任务调度机制的扩展与实现[J].计算机科学,2013,40(9):38-43.
作者姓名:刘晓娴  赵荣彩  丁锐
作者单位:解放军信息工程大学 郑州450002
基金项目:本文受国家“核高基”重大专项(2009ZX01036-001-001-2)资助
摘    要:多核处理器能够提升多线程程序的性能,但早已存在的诸多单线程程序无法从中获益,程序员也习惯于编写单线程程序.自动并行化技术是将单线程程序移植到多核上的重要手段,但是当循环中存在无法确定的数据依赖或复杂的控制流时,传统的自动并行化技术无法取得良好效果.Ottoni等人针对传统自动并行失败的循环提出了Decoupled Software Pipelining(DSWP)算法用以实现指令级的细粒度并行,但其需要对处理器体系结构的深入了解以及对核间通信队列和专用指令的硬件支持,并行性能和应用广泛性受到限制.基于OpenMP应用编程接口实现的DSWP并行不依赖于硬件上对核间通信队列和专用指令的支持,且不受平台的限制,但现有的OpenMP任务调度机制无法满足DSWP并行中对任务调度的需求.对现有的OpenMP任务调度机制进行扩展,增加了任务与线程绑定的属性,保证了基于OpenMP的DSWP并行程序的正确执行.在GCC的OpenMP运行库libgomp中扩展了任务绑定属性子句的功能,扩展后的GCC作为OpenMP DSWP程序的基础编译器,为自动并行提供支持.通过对基准测试集NPB3.3.1的测试表明,传统自动并行失败的循环,经OpenMP DSWP自动并行后在双核处理器上平均加速比达到1.23以上;使用添加了OpenMP DSWP算法的Open64编译器生成的并行程序,与仅使用传统自动并行方法的Intel 编译器和Open64编译器所得程序相比,平均加速比分别高出22%和26%.

关 键 词:自动并行化  OpenMP  DSWP  任务调度机制  GCC
收稿时间:2012/11/12 0:00:00
修稿时间:2/2/2013 12:00:00 AM

Extension to OpenMP Task Scheduling Mechanism for DSWP Parallelization and its Implementation
LIU Xiao-xian,ZHAO Rong-cai and DING Rui.Extension to OpenMP Task Scheduling Mechanism for DSWP Parallelization and its Implementation[J].Computer Science,2013,40(9):38-43.
Authors:LIU Xiao-xian  ZHAO Rong-cai and DING Rui
Affiliation:PLA Information Engineering University,Zhengzhou 450002,China;PLA Information Engineering University,Zhengzhou 450002,China;PLA Information Engineering University,Zhengzhou 450002,China
Abstract:
Keywords:Automatic parallelization  OpenMP  Decoupled software pipelining  Task scheduling mechanism  GCC
本文献已被 万方数据 等数据库收录!
点击此处可从《计算机科学》浏览原始摘要信息
点击此处可从《计算机科学》下载全文
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号