摘要
循环并行化是OpenMP并行化程序中最重要的部分,线程数、循环体大小、调度策略等是并行化过程需要考虑的主要因素。为了在调度开销与负载均衡之间获得更好的权衡,在OMPi编译器中实现了梯式trapezoid调度策略,以提高OpenMP多线程程序的运行性能。实验结果表明,梯式调度策略应用在递减以及某些极不规则的循环结构中,在适当的线程数下,与指数调度相比,该调度策略能表现出更好的性能。
Loop is one of the most important structures that can be parallelized effectively with OpenMP.However,the performance outcome will depends on the threads number,size of loop body and scheduling scheme.In order to get better performance and reach a better trade-off between scheduling overhead and load balance,this paper implemented the trapezoid scheduling scheme using OMPi,a open-source compiler that supports OpenMP API.The evaluation results show that:with normal threads number,the trapezoid self-scheduling will yield better performance than guided selfscheduling in case of the decreasing-and irregular-loop structure.
出处
《计算机科学》
CSCD
北大核心
2010年第11期148-151,183,共5页
Computer Science
基金
国家自然科学基金项目(60973030)
广东省教育部科技部企业科技特派员行动计划基金项目(2009B090600078)资助