网络的分类
OCNs
SANs
LANs
WANs
网络基本概念
链路:节点或开关之间的连接线。
网络:开关为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)的限制。
标签:计算机,并行,网络,时间,处理器,串行,执行,体系结构 From: https://www.cnblogs.com/RedNoseBo/p/17174600.html