并行计算(Parallel Computing)是指同时使用多种计算资源解决计算问题的过程,是提高计算机系统计算速度和处理能力的一种有效手段。它的基本思想是用多个处理器来协同求解同一问题,即将被求解的问题分解成若干个部分,各部分均由一个独立的处理机来并行计算。并行计算系统既可以是专门设计的、含有多个处理器的超级计算机,也可以是以某种方式互连的若干台的独立计算机构成的集群。通过并行计算集群完成数据的处理,再将处理的结果返回给用户。
并行计算可分为时间上的并行和空间上的并行。
时间上的并行:是指流水线技术,比如说工厂生产食品的时候步骤分为:
1. 清洗:将食品冲洗干净。
2. 消毒:将食品进行消毒处理。
3. 切割:将食品切成小块。
4. 包装:将食品装入包装袋。
如果不采用流水线,一个食品完成上述四个步骤后,下一个食品才进行处理,耗时且影响效率。但是采用流水线技术,就可以同时处理四个食品。这就是并行算法中的时间并行,在同一时间启动两个或两个以上的操作,大大提高计算性能。
空间上的并行:是指多个处理机并发的执行计算,即通过网络将两个以上的处理机连接起来,达到同时计算同一个任务的不同部分,或者单个处理机无法解决的大型问题。
比如小李准备在植树节种三棵树,如果小李1个人需要6个小时才能完成任务,植树节当天他叫来了好朋友小红、小王,三个人同时开始挖坑植树,2个小时后每个人都完成了一颗植树任务,这就是并行算法中的空间并行,将一个大任务分割成多个相同的子任务,来加快问题解决速度。
为利用并行计算,通常计算问题表现为以下特征:
(1)将工作分离成离散部分,有助于同时解决;
(2)随时并及时地执行多个程序指令;
(3)多计算资源下解决问题的耗时要少于单个计算资源下的耗时。
空间上的并行导致了两类并行机的产生,按照Flynn的说法分为:单指令流多数据流(SIMD)和多指令流多数据流(MIMD)。我们常用的串行机也叫做单指令流单数据流(SISD)。MIMD类的机器又可分为以下常见的五类:并行向量处理机(PVP)、对称多处理机(SMP)、大规模并行处理机(MPP)、工作站机群(COW)、分布式共享存储处理机(DSM)。
访存模型
并行计算机有以下五种访存模型:
均匀访存模型(UMA)
非均匀访存模型(NUMA)
全高速缓存访存模型(COMA)
一致性高速缓存非均匀存储访问模型(CC-NUMA)
非远程存储访问模型(NORMA)。
计算模型
并行计算机是靠网络将各个处理机或处理器连接起来的,一般来说有以下几种方式:处理单元间有着固定连接的一类网络,在程序执行期间,这种点到点的链接保持不变;典型的静态网络有一维线性阵列、二维网孔、树连接、超立方网络、立方环、洗牌交换网、蝶形网络等。静态连接
节点度:射入或射出一个节点的边数。在单向网络中,入射和出射边之和称为节点度。
对剖宽度:对分网络各半所必须移去的最少边数。
对剖带宽:每秒钟内,在最小的对剖平面上通过所有连线的最大信息位(或字节)。
基本指标
执行时间
工作负载
存储性能
加速比评测
Amdahl定理
Gastofson定理
Sun-Ni定理
可扩放性标准
等效率标准
等速度标准
并行计算与云计算
但并行计算不等于云计算,云计算也不等同并行计算。两者区别如下。
(1)云计算萌芽于并行计算
云计算的萌芽应该从计算机的并行化开始,并行机的出现是人们不满足于CPU摩尔定率的增长速度,希望把多个计算机并联起来,从而获得更快的计算速度。这是一种很简单也很朴素的实现高速计算的方法,这种方法后来被证明是相当成功的。
(2)并行计算、网格计算只用于特定的科学领域,专业的用户
并行计算、网格计算的提出主要是为了满足科学和技术领域的专业需要,其应用领域也基本限于科学领域。传统并行计算机的使用是一个相当专业的工作,需要使用者有较高的专业素质,多数是命令行的操作,这是很多专业人士的噩梦,更不用说普通的业余级用户了。
(3)并行计算追求的高性能
在并行计算的时代,人们极力追求的是高速的计算、采用昂贵的服务器,各国不惜代价在计算速度上超越他国,因此,并行计算时代的高性能机群是一个“快速消费品”,世界TOP500高性能计算机地排名不断地在刷新,一台大型机群如果在3年左右不能得到有效的利用就远远的落后了,巨额投资无法收回。
(4)云计算对于单节点的计算能力要求低
而云计算时代我们并不去追求使用昂贵的服务器,我们也不用去考虑TOP500的排名,云中心的计算力和存储力可随着需要逐步增加,云计算的基础架构支持这一动态增加的方式,高性能计算将在云计算时代成为“耐用消费品”。
转载至:https://baike.baidu.com/item/%E5%B9%B6%E8%A1%8C%E8%AE%A1%E7%AE%97