并行计算及并行算法

您所在的位置:网站首页 并行计算程序的测试方法 并行计算及并行算法

并行计算及并行算法

2024-06-30 04:29| 来源: 网络整理| 查看: 265

一、并行计算

  简单地说,并行计算就是在并行计算机上所做的计算。从普通意义上讲,它和常说的高性能计算、超级计算等是同义词。并行计算的初衷是为了努力仿真自然世界中一个序列中含有众多同时发生的、复杂且相关事件的事务状态。   为了利用并行计算求解一个计算问题,通常基于以下考虑:1.将计算任务分解成多个子任务,有助于同时解决;2.在同一时间,由不同的执行部件可同时执行多个子任务;3.多计算资源下解决问题的耗时要少于单个计算资源下的耗时。   并行计算可分为:1.计算密集型:如大型科学工程计算与数值模拟等;2.数据密集型:如数字图书馆、数据仓库、数据挖掘和计算可视化等;3.网络密集型:如协同计算和远程诊断等。

二、并行计算机体系结构 1.并行计算机结构模型

(1)结构类型

SISD:单指令流单数据流计算机(冯诺依曼机)SIMD:单指令流多数据流计算机MISD:多指令流单数据流计算机MIMD:多指令流多数据流计算机

(2)几种MIMD

PVP并行向量处理机:多VP(向量处理器)通过交叉开关和多个SM(共享内存)相连SMP对称多处理机:多P/C(商品微处理器)通过交叉开关/总线和多个SM(共享内存)相连MPP大规模并行处理机:处理节点有商品微处理器+LM(分布式本地内存),节点间通过高带宽低延迟定制网络互联,异步MIMD,多个进程有自己的地址空间,通过消息传递机制通信COW工作站机群:节点是完整操作系统的工作站,且有磁盘DSM分布共享存储处理机:高速缓存目录DIR确保缓存一致性,将物理分布式LM组成逻辑共享SM从而提供统一地址的编程空间

注:对称指所有处理器都能同等地访问I/O很同样的运行程序(如OS和I/O服务程序),而非对称主从式是仅有主处理器运行OS和控制访问I/O并监控从处理器执行

2.并行计算机访存模型

UMA(Uniform Memory Access)均匀存储访问:物理存储器被所有处理器均匀共享,所有处理器对所有SM访存时间相同,每台处理器可带有高速私有缓存,外围设备共享。 - NUMA非均匀存储访问:共享的SM是由物理分布式的LM逻辑构成,处理器访存时间不一样,访问LM或CSM(群内共享存储器)内存储器比访问GSM(群间共享存储器)快 - COMA(Cache-Only MA)全高速缓存存储访问:NUMA的特例、全高速缓存实现 - CC-NUMA(Coherent-Cache NUMA)高速缓存一致性NUMA:NUMA+高速缓存一致性协议 - NORMA(No-Remote MA)非远程存储访问:无SM,所有LM私有,通过消息传递通信

3.Cache一致性协议 监听总线协议:总线连接通信,写无效和写更新策略基于目录的协议:目录记录共享数据缓存状态,读缺失时查看目录D,写更新时通知目录D 4.其他并行计算概念

衡量并行计算机性能单位:

PFLOPS:每秒1千万亿 (=10^15) 次的浮点运算TFLOPS:每秒1万亿 (=10^12) 次的浮点运算GFLOPS:每秒10亿 (=10^9) 次的浮点运算

TOP500前500名超级计算机排名指标(GFLOPS): Rmax:Maximal LINPACK(Linear system package) performance achieved Rpeak:Theoretical peak performance

三、并行计算性能评测 1、机器级的性能测评

主要包括CPU和存储器的某些基本性能指标,并行通信开销以及机器的成本、价格和性能价格比等。 (1)CPU和存储器的某些基本性能指标

工作负载:指计算操作的数目,通常可用执行时间、所执行的指令数目和所完成的浮点运算数3个物理量来度量。

并行执行时间: Tn=Tcomput+Tparo+Tcomm T n = T c o m p u t + T p a r o + T c o m m 。其中 Tcomput T c o m p u t 为计算时间, Tparo T p a r o 为并行开销时间,包括进程管理(生成、切换和结束等)、组操作(进程组的生成与消亡等)时间,和进程查询(询问进程的标志、等级和组大小等)时间; Tcomm T c o m m 为相互通信时间,包括同步(如路障、临界区、事件等)、通信(如点到点通信、整体通信、读/写共享变量等)时间和聚操作(如归约和前缀运算等)时间。

存储器的层次结构:各层存储器的容量、延迟和带宽。

存储器带宽的估算

(2)通信开销 Tcomm T c o m m

(3)机器的成本、价格和性能价格比

2、算法级的性能测评

包括加速、效率和可扩放性等。

(1)并行系统的加速(比) 指对于一个给定的应用,并行算法(或并行程序)的执行速度相对于串行算法(或串行程序)的执行速度加快了多少倍。

加速比性能定律: Amdahl加速定律(固定计算负载) Gustafson定律(适用于可扩放问题) Sun&Ni定律(受限于存储器)

约定:

p是处理器数问题规模W=程序中串行分量Ws+可并行部分Whf为串行部分比例,f=Ws/WS为加速比

(2)扩放性 最朴素的含义是在确定的应用背景下,计算机系统(或算法或编程等)性能随处理器数的增加而按比例提高的能力。被广泛用来描述并行算法能否有效利用可扩充的处理器的能力。

3、程序级的性能测评

基本测试程序、数学库测试程序和并行测试程序等

四、并行计算理论基础:并行算法设计 1、并行算法

并行算法是一些可同时执行的诸进行的集合,这些进程互相作用和协调动作从而实现给定问题的求解。 从不同角度分类成数值计算和非数值计算的并行算法;同步、异步和分布的并行算法;共享存储和分布存储的并行算法;确定的和随机的并行算法等。

2、并行算法的表达

(1)par-do

n个节点并行完成for循环(每个节点不同,和i相关):

for i = 1 to n par-do ... endfor

(2)for all

所有节点都执行相同语句:

for all Pi, where 0


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3