并行计算机体系结构

网络基本概念

链路:节点或开关之间的连接线。

网络:开关为V,链路为E组成的图;当开关之间全连接,称为全连接网络;

网络分类

间接网络

Ω网络

任意两个节点之间可以进行通信。

baseline网络

butterfly网络

直接网络

超立方互连

胖树互连

2D Torus

 

并行计算基本概念

并行计算系统类型

MPP

SMP

Cluster

Hybrid

需要混合编程,MPI+OpenMPI+CUDA

CPU类型

单指令单数据流(SISD):如今的普通计算机(2023)

多指令单数据流(MISD):没有实际的计算机

单指令多数据流(SIMD):向量计算机,共享存储计算机

多指令多数据流(MIMD):大规模并行处理系统,机群。

并行计算基本定义

粒度:二次通讯之间每个处理机计算的工作量大小。

复杂性:所有处理机上,计算量最大者一个(不考虑通讯开销)。

并行度:算法可并行的程度。

加速比:串行执行的时间与并行执行的时间之比。

 

效率:

Amdahl定律

α:串行执行部分

q:处理器个数

Gustafson定律

Amdahl定律推导

设加速比为α,程序运行的总时间为Tbefore(串行),程序优化后所用的时间Tafter。串行部分所占的比例为f

那么优化后的总时间由 两部分组成:

Tbeforef:串行部分所占比例 乘以 优化前总时间,也就是串行部分代码花费的时间

Tbefore*(1-f)/n:并行部分所占比例为(1-f),这些部分由n个处理器分摊处理,所以每个处理器所负责的比例为(1-f)/n。那么并行所花费的时间就是(1-f)/n * Tbefore

代入加速比公式得到:

当n趋于无穷大时:

也就是处理器个数趋于无穷大时,决定加速比的就是串行部分的比例。

Gustafson公式推导

假设n个处理器并行化执行时间:

其中a为串行执行时间,b为并行执行的时间

那么串行执行的时间为:

也就是串行部分执行时间a,加上用1个处理器串行处理之前n个处理器处理的任务的时间,并行时候每个处理器执行时间b,那么单个处理器执行时间就是nb。

带入加速比公式得到:

注意到a+b是并行的总时间,a是串行部分的时间,所以令串行所占的比例为:

其中F为串行所占比例,n为处理器的个数。表面上看似乎处理器个数n越大,加速比越高,但是实际上n收到(1-F)的限制。

 

 

 

 

 

 

 

 

 

 

posted @ 2023-03-03 13:52  Laplace蒜子  阅读(148)  评论(0编辑  收藏  举报