期刊文献+

SW26010众核任务并行调度系统及其嵌套并行算法应用 被引量:3

Task Parallel Framework and Its Application in Nested Parallel Algorithms on the SW26010 Many-core Platform
下载PDF
导出
摘要 任务并行是并行程序设计的基础设计模式.但由于算法本身的复杂性及目标平台的特殊性,设计实现高效率的任务并行程序对程序员来说往往充满挑战.基于新兴的SW26010众核CPU,提出了支持任务嵌套并行模式的通用运行时框架SWAN.SWAN对任务并行程序的实现提供了高层次的抽象,使程序员能够专注于算法逻辑本身而提高开发效率.在性能方面,SWAN框架对诸多共享资源进行了细粒度的划分,从而有效地避免了众多线程间对共享资源的高强度争用.充分利用平台的高速访存机制、高速可控缓存和原子操作等特性,对SWAN框架的核心数据结构进行优化设计以降低其本身的性能开销.SWAN还具备动态负载均衡能力,使各个处理器核心的资源得以充分利用.基于SWAN框架,在目标平台上实现了若干典型的具有递归特性的嵌套并行算法,包括N-皇后问题、二叉树遍历、快速排序和凸包求解.实验结果表明,这些通过使用SWAN框架得以并行化的算法相对于其串行版本取得了4.5~32倍的加速,充分说明了SWAN框架具有较高的实用性及性能. Task parallelism is one of the fundamental patterns for designing parallel algorithms. Due to algorithm complexity and distinctive hardware features, however, implementation of algorithms in task parallelism often remains to be challenging. On the newly SW26010 many-core CPU platform, a general runtime framework, SWAN, which supports nested task parallelism is proposed in this study. SWAN provides high-level abstractions for programmers to implement task parallelism so that they can focus mainly on the algorithm itself, enjoying an enhanced productivity. In the aspect of performance, the shared resources and information manipulated by SWAN are partitioned in a fine-grained manner to avoid fierce contention among working threads. The core data structures within SWAN take advantage of the high-bandwidth memory access mechanism, fast on-chip scratchpad cache as well as atomic operations of the platform to reduce the overhead of SWAN itself. Besides, SWAN provides dynamic load-balancing strategies in runtime to ensure a full occupation of the threads. In the experiment, a set of recursive algorithms in nested parallelism, including the N-queens problem, binary-tree traversal, quick sort, and convex hull, are implemented using SWAN on the target platform. The experimental results reveal that each of the algorithms can gain a significant speedup, from 4.5 x to 32 x, against its serial counterpart, which suggests that SWAN has a high usability and performance.
作者 孙乔 黎雷生 赵海涛 赵慧 吴长茂 SUN Qiao;LI Lei-Sheng;ZHAO Hai-Tao;ZHAO Hui;WU Chang-Mao(Laboratory of Parallel Software and Computational Science,Institute of Software,Chinese Academy of Sciences,Beijing 100190,China)
出处 《软件学报》 EI CSCD 北大核心 2021年第8期2352-2364,共13页 Journal of Software
基金 中国科学院战略性先导科技专项(C类)(XDC01030200)。
关键词 任务并行框架 并行计算 嵌套并行算法 SWAN SW26010众核CPU task parallel framework parallel computing nested parallel algorithm SWAN SW26010 many-core CPU
  • 相关文献

参考文献3

二级参考文献42

  • 1American National Standards Institute. ANSI Technical CommitteeX3H5. Parallel Processing Model for High-Level Programming Languages, 1993.
  • 2IEEE. POSIX P1003.4a: Threads Extension for Portable Operating Systems. Piscataway,NJ: IEEE Press, 1994.
  • 3OpenMP Standards Board. OpenMP: a Proposed Industry Standard API for Shared MemoryProgramming. 1997. http://www. openmp.org/openmp/mp-documents/paper/paper.Html.
  • 4Parallel Computing Forum. PCF: parallel Fortran extensions. Fortran Forum,1991,10(3):1.
  • 5Silicon Graphics, IRIS Power C User's Guide, Silicon Graphics Computer Systems,Mountain View, CA, 1989.
  • 6Tucker, L.W., Mainwaring, a. CMMD: active messages on the CM-5. Parallel Computing,1994,20(4):481-496.
  • 7Kolawa, A. Parasoft: a comprehensive approach to parallel and distributedcomputing. In: IEEE Computer Society, ed. Proceedings of the Workshop on ClusterComputing. Los Alamitos, CA: IEEE Press, 1992.
  • 8Pierce, P., Regnier, G. The paragon implementation of the NX message passinginterface. In: IEEE Computer Society, ed. Proceedings of the Scalable High-PerformanceComputing Conference. Los Alamitos, CA: IEEE Press, 1994, 184~190.
  • 9Foster, I., Chandy, K.M. Fortran M: a language for modular parallel programming.Journal of Parallel and Distributed Computing, 1995,26(1):24~35.
  • 10CORPORATE the MPI Forum. MPI: a message passing interface. In: ACM, ed.Proceedings of the conference on Supercomputing'93. New York: ACM, 1993. 878~883.

共引文献109

同被引文献35

引证文献3

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部