国内刊号:11-2560/TP
国际刊号:1000-9825
发布日期:
作者:孙乔,黎雷生,赵海涛,赵慧,吴长茂
单位:孙乔,中国科学院 软件研究所 并行软件与计算科学实验室, 北京 10019011,黎雷生,中国科学院 软件研究所 并行软件与计算科学实验室, 北京 10019002,赵海涛,中国科学院 软件研究所 并行软件与计算科学实验室, 北京 10019003,赵慧,中国科学院 软件研究所 并行软件与计算科学实验室, 北京 10019004,吴长茂,中国科学院 软件研究所 并行软件与计算科学实验室, 北京 10019005
关键词:任务并行框架;并行计算;嵌套并行算法;SWAN;SW26010众核CPU
基金:中国科学院战略性先导科技专项(C类)(XDC01030200)
任务并行是并行程序设计的基础设计模式.但由于算法本身的复杂性及目标平台的特殊性,设计实现高效率的任务并行程序对程序员来说往往充满挑战.基于新兴的SW26010众核CPU,提出了支持任务嵌套并行模式的通用运行时框架SWAN.SWAN对任务并行程序的实现提供了高层次的抽象,使程序员能够专注于算法逻辑本身而提高开发效率.在性能方面,SWAN框架对诸多共享资源进行了细粒度的划分,从而有效地避免了众多线程间对共享资源的高强度争用.充分利用平台的高速访存机制、高速可控缓存和原子操作等特性,对SWAN框架的核心数据结构进行优化设计以降低其本身的性能开销.SWAN还具备动态负载均衡能力,使各个处理器核心的资源得以充分利用.基于SWAN框架,在目标平台上实现了若干典型的具有递归特性的嵌套并行算法,包括N-皇后问题、二叉树遍历、快速排序和凸包求解.实验结果表明,这些通过使用SWAN框架得以并行化的算法相对于其串行版本取得了4.5~32倍的加速,充分说明了SWAN框架具有较高的实用性及性能.
来源:2021年第8期
《软件学报》期刊编辑部