暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
分布式与并行计算报告.doc
12
8页
0次
2025-04-09
免费下载
1
并行计算技术及其应用简介
并行计算技术及其应用简介
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
计算中,当前常用的容错和多模冗余带来的开进行了分析,提出了一种可
分布式与并行计算程设计报告
2
并行计算技术及其应用简介
冗余容错。文
[3]
则阐述了并行计算和云计算间的关系,并介绍了并行计算在云计算中运用的一
些指导原则。文
[4]
分析了在大数据时,并行计算面临的挑战和基于,述了面向批处理、面流处理、
向图数据以及面内存等几类并行计算模型的相关研究。文
[5]
对并行计算模型进行了述,介绍了理想
计算模型的特,讨了一些型的计算模型,述了目前并行计算模型在构计算环境的发展情况。文
[6]
统单一的并行计算模型得越来越复杂,对并行计算个对性不强,提出了一种分并行计算
模型的思想。文
[7]
对在专集群中进行并行计算的处理,存在用高、困难操作复杂等问题,利
PC
和以太网的实验环境用集群工作框架和并行计算的关键技术,提出基于
Linux
集群的并行计
算系统环境,并在该环境上对系统性能进行了测试。文
[8]
CPU/GPU
协同并行计算这一新兴领域,对当
前的研究工作进行了述。据所用计算资源的规模将
CPU/GPU
协同并行计算研究分为三类后从立
项依据、研究内和研究方法等方面重点介绍了合计算目,并指出了可进一研究的方,以
领域科学家进行协同并行计算研究提一定参考。文
[9]
中对图形处理器中的相关问题进行研究。提出了
一计算架构(
CUDA
)为实现
GPU
通用计算提了高效、简便的方法.因此立了基于
GPU
通用
计算平台的中心差式的显式有限元并行计算方法.该方法
GPU
计算的特点,对串行算法的流
程进行了优化和调,通过用线程与单点的一一映射策略,实现了迭代过程的完并行
2
并行计算发展的个重要
并行计算是实现超高计算性能的主要技术手段,回其发展的历进程,可以出并行计算的发展从
越了段。
2
1 Amdahl
式与适度并行
四十中后,现电子算机祖冯·依曼提出用并计算高计算机
的技术途径。所并行计算,就是用多个运算部件或多台计算机同开展计算任务。理上,并行多
计算机就可以获得多少倍运算速度,速能往往和应用征密相关 1967 年,Amdahl 提出
著名的计算性能速比式(也称 Amdahl ):
)1(1
nf
n
T
T
S
n
s
A
1
式(1)中的
s
T
表示应用的串行本程序的执行时间,f 表示应用中不能被并行部分的工作量占整
个程序工作量的比率n 表示并行系统的处理器数目
n
T
表示用的并程序和 n 个处理器上的执行
时间。这些概念和理方面的基研究地推动了适度并行计算技术的实用
2
2 Gustafson
式与大规模并行
80 期学展开了一次大的讨,大对并行是有前途众纷坛,问题的点是-------能不
能通过并行规模大来持续提高计算机性能。
1988 Gustafson
Communication of ACM上。篇论揭示一个,即 Gustafson 通过应用
发现,多程序随着应用规模的扩大,程序中不能被并行部分工作量基本保持。而不能被并
部分工作量占工作量的相对比 f 会相应减。基于这个规提出了著名 Gustafson 速比式:
)1( fnf
T
T
S
n
s
G
2
可以得出,当 f 随着计算规模扩大而不缩小,处理器数多,一个程序的
随着处理器的多而提的。这个式不是一个精细的性能评估公式,而是一个思想性的式,它揭示
大规模并行的要:并行计算机的实性能和它所运行的并行程序特征密切相关。在大规模并行计算机上要
得高实用计算性能,在其上运行的并行程序必须具有串行计算负载保持,并行计算负载随着计算机规
模的扩大而扩大的特点,这的程序通常成为可扩展并行程序。在提高大规模并行计算使用效率的过程中,
设计出可扩展并行算法和可扩展并行程序,与大规模并行计算机系统的研同等重要。
2
3
效能评价模型与高效能并行
分布式与并行计算程设计报告
3
并行计算技术及其应用简介
高性能计算机该向什么发展
2002
美国国防
DARPA
)提出效能计算系统
HPCS
着眼于高性能高效能的转变为高效能计算机系统不仅要关注高的计算性能,要关注系统的
实用性能、可编程性、可移植性、系统鲁棒性和经可行性。于是基于经济学生率的概念和效用理论逐
渐取代了以单一的计算性能评价模型。效能模型框架下:
),,(
),(
),,,(
TMPC
TPU
UTMP
3
其中
T
为问
P
解决的时间(
Time-to-solution
),
M
是并行计算机系统
U
为效用函数,
C
为在系统
M
T
时间内解决问
P
成本函数效能模型考虑了并行系统开发(
Development
和运行(
Execution
种状,将开发的时间和系统运行的时间统一问题解决时间
T
中。虽然,围这一
标志着高性能计算机产业界对大规模并行计算机发展趋势产生了认识
3 并行编程模型
线
MPI
PVM
OpenMP
TBB
Cilk++
等。
3.1 MPI
简介
MPI
Message Passing Interface
)是基于息传递的并行编程模型。息传递指的是并行执行的各
个进程自己独立的堆栈代码段,为互相关的多个程序独立执行,进程间的通通过显式调用
函数来完成。
1
MPI
程序基本函数
MPI_Init MPI MPI
MPI_Finalize 则是结 MPI 执行环境。这个函数间定 MPI 程序的并行区域
MPI_Comm_rank 表示各个 MPI 进程。
MPI_Comn_size
MPI_Comn 的通信域识参与计算的 MPI 进程 MPI_COMM_WORLD;数指,返回相应进
中的进程数。
2MPI 性能分析与优化举例
MPI 消息传递部分成:一部分是通信固有的延迟一部分是消息传递,与消息的数据
网络带宽有关。时间消耗可以用下面的式子表示
serialcommTotal
TTT
4
其中,
Total
T
serial
T
分别表示程序总用时、通用时和串行部分用时。而通用时一
作如下分解:
m
i
Ci
n
i
iscomm
i
TTwBntT
11
/
5
其中n 对点m 集群
s
t
为通
i
B
i 容量w
网络带环
i
T
负载不平成的时间消耗
i
C
T
集群通信耗时。
3)解决负载问题
在并行计算中,若各个处理器上的执行时间不同,会使完成的处理器等完成的处理器,
该考虑负载问题,是的资源得合理利用。负载分为:态负载及动态负载态负载
使用与计算前可以算总的负载这些负载容平均分给各个进程的情况。对于实现不知道
总数,或负载平均分的情况,需要动态负载衡策略来解决。
3.2 PVM
简介
PVM
是一个在上的虚拟行机系统的软,它允许网络上基于
UNIX
操作系统的并行机和单处
理机的集合当成一台单一的并虚拟机来使用
PVM
用户消息传递方式编写并行程序。计算以
为单,一个任务就是一个
UNIX
进程,任务有一个
taskid
标识(不同于进程)。
分布式与并行计算程设计报告
of 8
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。