趋势和展望
对于处理器主频来说,摩尔定律已经接近极限了。普通用户也不得不面临并行的问题。多核处理器对操作系统和程序设计等都提出了很多挑战,需要思考怎么解决这些问题。应对多核处理器的软件开发,可以有几种解决思路,包括硬件隐藏、自动并行、OpenMP多线程、MPI优化、新并行语言等。一些新的高生产率和支持全局地址空间的并行程序语言已经出现了,而且正在快速发展,对我们应对多核处理器的挑战提供了可能的最终解决途径。
(本文作者介绍:张云泉,博士,副研究员,国家863“高性能计算机评测中心” 技术委员会委员,中国科学院软件研究所并行计算实验室副主任、中国计算机学会高性能计算专委会委员、中国软件行业协会数学软件分会常务理事、中科院软件所学位委员会委员)
致谢:本报告的部分内容引用了清华大学陈文光副教授的报告。
参考文献
[1]Amdahl, G.M.. Validity of single-processor approach to achieving large-scale computing capability, Proceedings of AFIPS Conference, Reston, VA. 1967. pp. 483-485.
[2] Gustafson, J.L., Reevaluating Amdahl''s Law, CACM, 31(5), 1988. pp. 532-533.
[3]Bailey, D., Twelve Ways to Fool the Masses When Giving Performance Results on Parallel Computers, RNR Technical Report, RNR-90-020, NASA Ames Research Center, 1991.
[4] OpenMP, http://www.openmp.org
[5] MPI, http://www.mpi.org
[6] DARPA HPCS Project, http://www.highproductivity.org/
[7] PGAS, http://www.ahpcrc.org/conferences/PGAS2006/
[8] GASNet Project, http://gasnet.cs.berkeley.edu/
[9] Co-Array Fortran Compiler Project, http://www.hipersoft.rice.edu/caf/index.html
[10] Titanium Compiler Project, http://titanium.cs.berkeley.edu/
[11] Berkeley UPC - Unified Parallel C, http://upc.lbl.gov/publications/
[12] IBM X10,http://domino.research.ibm.com/comm/research_projects.nsf/pages/x10.index.html
[13] The Cascade High-Productivity Language, http://chapel.cs.washington.edu/
[14] Fortress Project, http://research.sun.com/projects/plrg/
[15] IBM Power6,http://www.mozine.cn/archives/2006/10/12/1053
[16] IBM的十进制计算,http://www2.hursley.ibm.com/decimal/
[17] MPICH2实现,http://www-unix.mcs.anl.gov/mpi/mpich2/
[18] LAM/MPI 实现,http://www.lam-mpi.org/
[19] Open MPI,http://www.open-mpi.org/