1. 并行计算
1.1. 相关背景
1.2. 什么是并行计算

并行计算(Parallel Computing)是指同时使用多种计算资源解决计算问题的过程,是提高计算机系统计算速度和处理能力的一种有效手段。它的基本思想是用多个处理器来协同求解同一问题,即将被求解的问题分解成若干个部分,各部分均由一个独立的处理机来并行计算。并行计算系统既可以是专门设计的、含有多个处理器的超级计算机,也可以是以某种方式互连的若干台的独立计算机构成的集群。通过并行计算集群完成数据的处理,再将处理的结果返回给用户。
并行计算或称平行计算是相对于串行计算来说的。所谓并行计算可分为时间上的并行和空间上的并行。时间上的并行就是指流水线技术,而空间上的并行则是指用多个处理器并发的执行计算。

并行计算科学中主要研究的是空间上的并行问题。从程序和算法设计人员的角度来看,并行计算又可分为数据并行和任务并行。空间上的并行导致了两类并行机的产生,按照Flynn(弗林)分类法为:单指令流多数据流(SIMD)和多指令流多数据流(MIMD)。我们常用的串行机也叫做单指令流单数据流(SISD)。

图1 弗林分类法划分的四类计算机
MIMD类的机器又可分为以下常见的五类:并行向量处理机(PVP)、对称多处理机(SMP)、大规模并行处理机(MPP)、工作站机群(COW)、分布式共享存储处理机(DSM)。
1.3. 主要目的
1.4. 并行计算与分布式计算
并行计算不同于分布式计算(distributedcomputing)。分布式计算主要是指,通过网络相互连接的两个以上的处理机相互协调,各自执行相互依赖的不同应用,从而达到协调资源访问,提高资源使用效率的目的。但是,它无法达到并行计算所倡导的提高求解同一个应用的速度,或者提高求解同一个应用的问题规模的目的。对于一些复杂应用系统,分布式计算和并行计算通常相互配合,既要通过分布式计算协调不同应用之间的关系,又要通过并行计算提高求解单个应用的能力。
1.5. 并行的基本条件
1.6. 主要的并行系统
1.6.1. 共享内存模型
共享内存系统即单机并行,在一台机器上运行程序时分配多个进程或线程来达到加速的目的。比如用OpenMP和Pthreads进行共享内存编程,在程序中加入相关并行语句实现线程的创建和销毁。
1.6.2. 消息传递模型
1.6.3. 数据并行模型
1.6.4. 对比分析
2. MPI
2.1. 什么是MPI
剩余内容详见
https://download.csdn.net/download/tomjchan/
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/225671.html原文链接:https://javaforall.net
