开发计算机并行性的方法【理论】

原创 2016年08月30日 15:48:21

并行性主要是指同时性或并发性,并行处理是指对一种相对于串行处理的处理方式,它着重开发计算过程中存在的并发事件。

并行处理(Parallel Processing)是计算机系统中能同时执行两个或更多个处理的一种计算方法。并行处理可同时工作于同一程序的不同方面。并行处理的主要目的是节省大型和复杂问题的解决时间。为使用并行处理,首先需要对程序进行并行化处理,也就是说将工作各部分分配到不同处理进程(线程)中。并行处理由于存在相互关联的问题,因此不能自动实现。另外,并行也不能保证加速。从理论上讲,在 n 个并行处理的执行速度可能会是在单一处理机上执行的速度的 n 倍。

并行性通常划分为作业级、任务级、例行程序或子程序级、循环和迭代级以及语句和指令级。作业级的层次高,并行处理粒度粗。粗粒度开并行性开发主要采用MIMD方式,而细粒度并行性开发则主要采用SIMD方式。


开发计算机并行性的方法主要有:资源重复、时间重叠和资源共享三种方法。

1、资源重复

资源重复是在并行性概念中引入空间因素。这种措施提高计算机处理速度最直接,但由于受硬件价格昂贵的限制而不能广泛使用。目前,随着硬件价格的降低,已在多种计算机系统中使用,如多处理机系统、陈列式处理机等。

2、时间重叠

时间重叠是在并行性概念中引入时间因素,即多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部件,以加快硬件周转而赢得速度。这各并行措施表现在指令解释的重叠及流水线部件与流水线处理机。

3、资源共享

资源共享也是在并行性概念中引入时间因素,它是通过软件的方法实现的。即多个用户按一定的时间顺序轮流使用同一套硬件设备;既可以是按一定的时间顺序共享CPU,也可以是CPU与外围设备在工作时间上的重叠。这种并行措施表现在多道程序和分时系统中,而分布式处理系统和计算机网络则是更高层次的资源共享。


并行处理的三种形式

1、时间并行

时间并行指时间重叠,在并行性概念中引入时间因素,让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。
时间并行性概念的实现方式就是采用流水处理部件。这是一种非常经济而实用的并行技术,能保证计算机系统具有较高的性能价格比。目前的高性能微型机几乎无一例外地使用了流水技术。

2、空间并行

空间并行指资源重复,在并行性概念中引入空间因素,以“数量取胜”为原则来大幅度提高计算机的处理速度。大规模和超大规模集成电路的迅速发展为空间并行技术带来了巨大生机,因而成为实现并行处理的一个主要途径。空间并行技术主要体现在多处理器系统和多计算机系统。但是在单处理器系统中也得到了广泛应用。

3、时间并行+空间并行

指时间重叠和资源重复的综合应用,既采用时间并行性又采用空间并行性。显然,第三种并行技术带来的高速效益是最好的。


在并行处理技术中所使用的算法主要遵循三种策略:

1.分而治之法

也就是把多个任务分解到多个处理器或多个计算机中,然后再按照一定的拓扑结构来进行求解。

2.重新排序法

分别采用静态或动态的指令词度方式。

3.显式/隐式并行性结合

显式指的是并行语言通过编译形成并行程序,隐式指的是串行语言通过编译形成并行程序,显式/隐式并行性结合的关键就在于并行编译,而并行编译涉及到语句、程序段、进程以及各级程序的并行性。

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

开发计算机并行性的方法【理论】

并行性主要是指同时性或并发性,并行处理是指对一种相对于串行处理的处理方式,它着重开发计算过程中存在的并发事件。 并行处理(Parallel Processing)是计算机系统中能同时执行两个或更多个处...

并行算法设计--Foster的设计方法论

1  划分 1.1 计算划分 数据划分 1.2 划分质量的评估: a 原始任务数至少比目标并行计算机上的处理器数高一个数量级(如果该条件不能满足的话,则后面的设计将受到很大限制) b...

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

并行计算复习————第二篇 并行计算理论基础:并行算法设计

并行计算复习第二篇 并行计算理论基础:并行算法设计Ch5 并行算法与并行计算模型5.1 并行算法的基础知识1.并行算法的表达(1)par-don个节点并行完成for循环(每个节点不同,和i相关):fo...

并行计算复习————第三篇 并行计算理论基础:并行数值算法

第三篇 并行计算理论基础:并行数值算法

并发计算 VS 并行计算

上一篇文章中,我们学习了如何在CUDA中隐藏数据传输,而其中用到的主要技术就是并发计算。这时你可能会问,这个专栏不是CUDA并行计算吗?怎么又说什么并发计算呢?其实,这里所说的“CUDA并行计算”并

深入理解计算机系统--->并发与并行

并发与并行数字计算机的整个历史中,有两个需求是驱动进步的持续动力:一个是我们想要计算机做的更多,另一个是我们想要计算机运行的更快。当处理器同时能够做更多事情时,这两个因素都会改进。并发(concurr...

并行计算机系统与结构模型(一)

并行计算机系统与结构模型的学习最前面先学习一下计算机系统结构的分类方法flynn方法flynn分类法计算机系统结构的分类方法之一1966年flynn先生提出了如下的定义: 指令流——机器执行的指令序...

并行计算起源与基本概念

本章主要讲并行计算出现的原因,以及一些并行中的一些基本概念,如果有疏漏麻烦大家指出

并行计算与计算机集群

并行计算与计算机集群 (2011-10-09 11:56:37) 标签: 校园 分类: 工作篇 并行计算模型 并行计算模型通常...

计算机的并行接口,计算机的并行接口大全

IEEE1284信号及脚序 IEEE-1284定义了一对一的异步双向并行接口。其中PC机使用A型接头,DB-25孔型插座,包括17条信号线和8条地线,信号线又分为3组,控制线4条,状态线5条,数据线...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)