并行计算技术及其应用简介
并行计算技术及其应用简介
XX
(
XXX
,
XX
,
XXX
)
摘 要: 并行计算是实现高性能计算的主要技术手段。在本文中从并行计算的发展历程开始介绍,总
结了并行计算在发展过程中所面临的问题以及其发展历程中出现的重要技术。通过分析在当前比较常用的实
现并行计算的框架和技术,来对并行计算的现状进行阐述。常用的并行架构分为
SMP
(多处理系统)、
NUMA
( 非 统 一 内 存 存 储 ) 、
MPP
( 巨 型 并 行 处 理 ) 以 及 集 群 。 涉 及 并 行 计 算 的 编 程 模 型 有
MPI
、
PVM
、
OpenMP
、
TBB
及
Cilk++
等。并结合当前研究比较多的云计算和大数据来探讨并行计算的应用。
最后通过
MPI
编程模型,进行了并行编程的简单实验。
关键词: 并行计算;框架;编写模型;应用;实验
A Succinct Survey about Parallel Computing Technology and It’s
Application
Abstract: Parallel computing is the main technology to implement high performance computing. This paper starts
from the history of the development of Parallel Computing. It summarizes the problems faced in the development of
parallel computing and the important technologies in the course of its development. Through the analysis of
framework and technology commonly used in parallel computing currently,to explain the current situation of parallel
computing.Framework commonly used in parallel are SMP(multi processing system),NUMA(non uniform memory
storage),MPP(massively parallel processing) and cluster.The programming models of parallel computing are MPI,
PVM, OpenMP, TBB and Cilk++, etc.Explored the application of parallel computing combined with cloud computing
and big data which are very popular in current research.Finally ,through the MPI programming model,a simple
experiment of parallel programming is carried out.
Key words: parallel computing; framework; programming model; application; experiment
1
引言
近年来多核处理器的快速发展,使得当前软件技术面临巨大的挑战。单纯的提高单机性能,已经不能满
足软件发展的需求,特别是在处理一些大的计算问题上,单机性能越发显得不足。在最近
AlphaGo
与李世石
的围棋大战中,
AlphaGo
就使用了分布式并行计算技术,才能获得强大的搜索计算能力。并行计算正是在这
种背景下,应运而生。并行计算或称平行计算时相对于串行计算来说的。它是一种一次可执行多个指令的算
法,目的是提高计算速度,及通过扩大问题求解规模,解决大型而复杂的计算问题。可分为时间上的并行和
空间上的并行。时间上的并行就是指流水线技术,而空间上的并行则是指用多个处理器并发的执行计算。其
中空间上的并行,也是本文主要的关注点。
并行计算(
Parallel Computing
)是指同时使用多种计算资源解决计算问题的过程,是提高计算机系统计
算速度和处理能力的一种有效手段。它的基本思想是用多个处理器来协同求解同一问题,即将被求解的问题
分解成若干个部分,各部分均由一个独立的处理机来并行计算。并行计算系统既可以是专门设计的,含有多
个处理器的超级计算机,也可以是以某种方式互联的若干台的独立计算机构成的集群。通过并行计算集群完
成数据的处理,再将处理的结果返回给用户。
目前常用的并行计算技术中,有调用系统函数启动多线程以及利用多种并行编程语言开发并行程序,常
用的并行模型有
MPI
、
PVM
、
OpenMP
、
TBB
、
Cilk++
等。利用这些并行技术可以充分利用多核资源适应目
前快速发展的社会需求。并行技术不仅要提高并行效率,也要在一定程度上减轻软件开发人员负担,如近年
来的
TBB
、
Cilk++
并行模型就在一定程度上减少了开发难度,提高了开发效率,使得并行软件开发人员把更
多精力专注于如何提高算法本身效率,而非把时间和精力放在如何去并行一个算法。
文献
[1]
回顾了并行计算技术六十多年的发展历史,并分析了其发展的未来趋势和所面临的可拓展性“墙”。
文献
[2]
对大规模
MPI
计算中,当前常用的容错机制和多模冗余带来的开销进行了分析,提出了一种可拓展
分布式与并行计算课程设计报告
相关文档
评论