logo

SCIENTIA SINICA Informationis, Volume 46 , Issue 10 : 1392-1410(2016) https://doi.org/10.1360/N112016-00144

Parallel algorithm and parallel programming: from specialty to generality as well as software reuse

More info
  • ReceivedJun 3, 2016
  • AcceptedJul 13, 2016
  • PublishedOct 25, 2016

Abstract


Funded by

国家自然科学基金重大研究计划重点项目(91430218)

国家重点研发计划项目(2016YFB0201301)

国防基础科研计划项目(C1520110002)

国家自然科学基金面上项目(11372049)


Acknowledgment

Acknowledgments


References

[1] Yang X J. Sixty years for parallel computing. China J Comput Eng Sci, 2012, 34: 1-10 [杨学军. 并行计算六十年. 计算机工程与科学, 2012, 34: 1-10]. Google Scholar

[2] Zhang Y Q, Yuan G X, Sun J C, et al. Review and perspectives of 10 years' China HPC TOP100. Comput Eng Sci, 2012, 38: 11-16 [张云泉, 袁国兴, 孙家昶, 等. 中国高性能计算机TOP100十周年回顾与展望. 计算机工程与科学, 2012, 34: 11-16]. Google Scholar

[3] Amarasinghe S, Hall M, Lethin R, et al. DOE workshop on exascale programming challenges. http://science. energy.gov/$\sim $/media/asrc/pdf/program-documents/ProgrammingChallengeWorkshopReport.pdf. 2011. Google Scholar

[4] Mo Z Y. Research on programming framework for high performance science and engineering computation. Commun CCF, 2014, 10: 8-12 [莫则尧. 面向高性能科学与工程计算的领域编程框架研究. 中国计算机学会通讯, 2014, 10: 8-12]. Google Scholar

[5] Chen G L. Parallel Computing--Architecture - Algorithm - Programming. 3rd ed. Beijing: High Education Publisher, 2011 [陈国良. 并行计算---结构$\cdot$算法$\cdot$编程. 第3版. 北京: 高等教育出版社, 2011]. Google Scholar

[6] Dongarra J, Foster I, ed. Mo Z Y, Chen J, Cao X L, et al. trans. Sourcebook of Parallel Computing. Beijing: Electronic Industry Press, 2005 [Dongarra J, Foster I, 主编. 莫则尧, 陈军, 曹小林, 等译. 并行计算综论. 北京: 电子工业出版社, 2005]. Google Scholar

[7] Bader D A. Petascale Computing: Algorithms and Applicaitions. New York: Chapman {&} Hall/CRC, Computational Science Series, 2007. Google Scholar

[8] Simon H. Exascale challenges for the applied mathematics community. In: Proceedings of DOE Applied Mathematics Program Meeting, Berkeley, 2010. Google Scholar

[9] Dubey A, Almgren A, Bell J, et al. A survey of high level frameworks in block-structured adaptive mesh refinement packages. J Parallel Distrib Comput, 2014, 74: 3217-3227 CrossRef Google Scholar

[10] Mo Z Y. High performance programming frameworks for numerical simulation. Nat Sci Rev, 2016, 3: 1-3. Google Scholar

[11] Mo Z Y. Concatenation algorithm for parallel numerical simulation of hydrodynamics coupled with neutron transport. Int J Parallel Program, 2005, 33: 57-71 CrossRef Google Scholar

[12] Mo Z Y, Fu L X. Parallel flux sweep algorithm for neutron transport on unstructured grid. J Supercomput, 2004, 30: 5-17 CrossRef Google Scholar

[13] Mo Z Y, Huang Z F. Application of MPI-IO in parallel particle transport Monte-Carlo simulation. Parallel Algorithm Appl, 2004, 19: 227-236 CrossRef Google Scholar

[14] Mo Z Y, Zhang B L. Multilevel averaging weight method for dynamic load imbalance problems. Int J Comput Math, 2001, 76: 463-477 CrossRef Google Scholar

[15] Mo Z Y, Zhang A Q, Cao X L, et al. Research on parallel numerical simulation for multi-media radiation hydrodynamics. China J Prog Natural Sci, 2006, 16: 287-292 [莫则尧, 张爱清, 曹小林, 等. 多介质辐射流体力学数值模拟中的并行计算研究. 自然科学进展, 2006, 16: 287-292]. Google Scholar

[16] Mo Z Y, Xu X W. Relaxed RS0 or CLJP coarsening strategy for parallel AMG. Parallel Comput, 2007, 33: 174-185 CrossRef Google Scholar

[17] MPI Forum. MPI: a message passing interface standard. Version 3.1. http://www.mpi-forum.org. 2016. Google Scholar

[18] OpenMP Forum. OpenMP: application program interface. Version 4.5. http://www.openmp.org. 2015. Google Scholar

[19] Mo Z Y, Pei W B. Scientific computing application codes. China J Physics, 2009, 38: 552-558 [莫则尧, 裴文兵. 科学计算应用程序探讨. 物理, 2009, 38: 552-558]. Google Scholar

[20] Mo Z Y, Zhang A Q, Cao X L, et al. JASMIN: a parallel software infrasture for scientific computing. Front Comput Sci China, 2010, 4: 480-488 CrossRef Google Scholar

[21] Mo Z Y, Zhang A Q. User's Guide to JASMIN: an Infrastructure for Parallel Adaptive Structured Mesh Applications. Institute of Applied Physics and Computational Mathematics, Technical Report J09-JMJL-01. 2011 [莫则尧, 张爱清. JASMIN框架用户指南(2.0版). 北京应用物理与计算数学研究所, 技术报告 T09-JMJL-01. 2011]. Google Scholar

[22] Liu Q K, Zhao W B, Cheng J, et al. A programming framework for large scale numerical simulations on unstructured mesh. In: Proceedings of the 2nd IEEE International Conference on High Performance and Smart Computing (IEEE HPSC), New York, 2016. Google Scholar

[23] Mo Z Y, Zhang A Q. Programming standards and specifications for high performance numerical simulation on structured mesh V1.0. Institute of Applied Physics and Computational Mathematics, Technical Report IAPCM-SCNS-RB01-2014. 2014 [莫则尧, 张爱清. 面向结构网格应用的高性能数值模拟编程标准与规范V1.0 版. 北京应用物理与计算数学研究所, 技术报告 IAPCM-SCNS-RB01-2014. 2014]. Google Scholar

[24] Mo Z Y, Liu Q K. Programming standards and specifications for high performance numerical simulation on unstructured mesh V1.0. Institute of Applied Physics and Computational Mathematics, Technical Report IAPCM-SCNS-RB02-2014. 2014 [莫则尧, 刘青凯. 面向非结构网格应用的高性能数值模拟编程标准与规范V1.0 版. 北京应用物理与计算数学研究所, 技术报告 IAPCM-SCNS-RB02-2014. 2014]. Google Scholar

[25] Mo Z Y, Zhang A Q, Liu Q K, et al. Research on the components and practices for domain-specific parallel programming models for numerical simulation. Sci Sin Inform, 2015, 45: 385-397 [莫则尧, 张爱清, 刘青凯, 等. 数值模拟领域并行编程模型的要素与实例研究. 中国科学: 信息科学, 2015, 45: 385-397]. Google Scholar

[26] Mo Z Y, Zhang A Q, Gabriel W. Scalable heuristic algorithms for the parallel execution of data flow acyclic digraphs. SIAM J Sci Comput, 2009, 31: 3626-3642 CrossRef Google Scholar

[27] Mo Z Y, Zhang A Q, Yang Z. A new parallel algorithm for vertices priorities of data flow acyclic digraphs. J Supercomput, 2014, 68: 49-64 CrossRef Google Scholar

[28] Liao X K, Xiao L Q, Yang C Q, et al. MilkyWay-2 supercomputer: system and application. Front Comput Sci, 2014, 8: 345-356 CrossRef Google Scholar

[29] Guo H, Mo Z Y, Zhang A Q. A parallel module for the multi-block structured mesh in JASMIN and its applications. China J Comput Eng Sci, 2012, 34: 62-67 [郭红, 莫则尧, 张爱清. JASMIN框架中多块结构网格拼接并行计算与应用. 计算机工程与科学, 2012, 34: 62-67]. Google Scholar

[30] Liu X, Zhang A Q, Xiao L, et al. A fast communication algorithm for parallel structured mesh applications. Chinese J Comput Phys, 2012, 29: 38-44 [刘旭, 张爱清, 肖丽, 等. 面向结构网格并行应用的一类快速通信算法. 计算物理, 2012, 29: 38-44]. Google Scholar

[31] Liu X, Cao X L, Mo Z Y. A projection load balancing algorithm for parallel adaptive computing on structured mesh. In: Proceedings of Conference on High Performance Computing China, Wuxi, 2008. 254-258 [刘旭, 曹小林, 莫则尧. 并行自适应结构网格计算中的逐层投影负载平衡算法. 见: 全国高性能计算学术年会, 无锡, 2008. 254-258]. Google Scholar

[32] Yang Z, Zhang A Q. JArena: a NUMA-aware multi-thread memory manager for parallel numerical simulation application. Institute of Applied Physics and Computational Mathematics, Technical Report IAPCM-SCNS-HPC201511. 2015 [杨章, 张爱清. JArena: 面向数值模拟混合并行应用的NUMA感知多线程内存管理器. 北京应用物理与计算数学研究所, 技术报告 IAPCM-SCNS-HPC201511. 2015]. Google Scholar

[33] Yan J, Tan G M, Mo Z Y, et al. Graphine: programming graph-parallel computation of large natural graphs for multicore clusters. IEEE Trans Parallel Distrib Syst, 2016, 26: 1-13. Google Scholar

[34] Zhang A Q, Mo Z Y, Yang Z. Three-level hierarchical software architecture for data-driven parallel computing with applications. China J Comput Res Dev, 2014, 51: 2538-2546 [张爱清, 莫则尧, 杨章. 数据驱动并行计算的三层软件架构设计及应用. 计算机研究与发展, 2014, 51: 2538-2546]. Google Scholar

[35] Zhang A Q, Mo Z Y, Cao X L, et al. Federation parallel computing in JASMIN and its application in multi-physics simulation. Comput Eng Sci, 2013, 35: 15-23 [张爱清, 莫则尧, 曹小林, 等. JASMIN框架中联邦并行计算及其在多物理耦合中的应用. 计算机工程与科学, 2013, 35: 15-23]. Google Scholar

[36] Menon H, Kale L. A distributed dynamic load balancer for iterative applications. In: Proceeding of International Conference for High Performance Computing, Networking, Storage and Analysis, Denver, 2013. 1-11. Google Scholar

[37] Huang G, Zhang L, Zhou M H, et al. Design and Implementation for Component-Based Software. Beijing: Tsinghua Publisher, 2008 [黄罡, 张路, 周明辉, 等. 构件化软件设计与实现. 北京: 清华大学出版社, 2008]. Google Scholar

[38] Evans E, ed. Zhao L, Sheng H Y, Liu X, et al. trans. Domain-Driven Design: Tackling Complexity in the Heart of Software. Beijing: Posts and Telecom Press, 2010 [Eric Evans, 著. 赵俐, 盛海艳, 刘霞, 等译. 领域驱动设计: 软件核心复杂性应对之道. 北京: 人民邮电出版社, 2010]. Google Scholar

[39] Gamma E, Helm R, Johnson R, et al. Design Patterns: Elements of Reusable Object-Oriented Software. Boston: Addison-Wesley, 1994. Google Scholar

[40] Hu X, Hao L, Liu Z, et al. The development of laser-plasma interaction program LAP3D on thousands of processors. Aip Advances, 2015, 5: 087174-13 CrossRef Google Scholar

[41] Fan Z F, Xu X W, Sun W J, et al. LARED-S: radiation fluid interface instability simulation program. In: Proceedings of the 16th National Symposium on Numerical Methods in Fluids, Fenghuang, 2013 [范征锋, 徐小文, 孙文俊, 等. 辐射流体界面不稳定性模拟程序LARED-S. 见: 第十六届全国流体力学数值方法研讨会, 凤凰, 2013]. Google Scholar

[42] Li H, Zhou H, Liu Y, et al. Massively parallel FDTD program JEMS-FDTD and its applications in platform coupling simulation. In: Proceedings of the IEEE International Symposium on Electromagnetic Compatibility (EMC Europe), Oaks, 2014. 229-233. Google Scholar

[43] Cao X L, Zheng C Y, Zhang A Q. Development of 3D plasma particle simulation program on thousands of processors. China J Prog Natural Sci, 2009, 19: 544-550 [曹小林, 郑春阳, 张爱清. 面向数千处理器的三维等离子体粒子模拟程序研制. 自然科学进展, 2009, 19: 544-550]. Google Scholar

[44] Gao X, Fang J, Wang H. Sampling the Isothermal-Isobaric ensemble by Langevin-Dynamics. J Chem Phys, 2016, 144: 124113-13 CrossRef Google Scholar