第七章并发程序设计语言

第七章并发程序设计语言

ID:5395838

大小:583.50 KB

页数:131页

时间:2017-11-09

第七章并发程序设计语言_第1页
第七章并发程序设计语言_第2页
第七章并发程序设计语言_第3页
第七章并发程序设计语言_第4页
第七章并发程序设计语言_第5页
资源描述:

《第七章并发程序设计语言》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第七章并发程序设计语言多CPU网络ConcurrentDeclarativeImperativeConcurrentDeterministic更关注如何描述问题本身更关注描述冯诺依曼机如何执行冯诺依曼单机网络环境小规模软件大规模软件不同的软件开发方法主要内容:并发程序设计的基本概念并发程序带来的问题需要解决的基本问题程序语言示例并行与并发并发(concurrency)和并行(parallelism)的概念并发性(concurrency),又称共行性,是指能处理多个同时性活动的能力,并发事件之间不一定要同一时刻发生。

2、并行(parallelism)是指同时发生的两个并发事件,具有并发的含义,而并发则不一定并行。另一种理解:并行强调的是多个执行活动同时处于运行状态之中,强调其相互独立性。这里关心并行算法、并行系统、并行体系结构等等并发强调的是多个执行活动之间的关系和相互作用,这里关心的是互斥、同步、通讯、资源的共享和竞争等等第三种解读:并发和并行的区别就是一个处理器同时处理多个任务和多个处理器或者是多核的处理器同时处理多个不同的任务。 前者是逻辑上的同时发生(simultaneous),而后者是物理上的同时发生.基本概念并行程序设

3、计模型并行计算的硬件环境程序与进程,线程与进程原子动作进程交互基本概念并行程序的基本计算单位是进程,它与有关代码段执行的操作相对应。进程的粒度在不同的程序设计模型和应用程序中是不一样的。基本概念并行程序设计的模型:1.共享变量模型2.消息传递模型3.数据并行模型4.面向对象模型是目前最灵活,最常用的模型新的并行模型基本概念1.共享变量模型 共享变量模型用限定作用范围和访问权限的办法,对进程寻址空间实行共享或限制,即利用共享变量实现并行进程间的通信。为了保证能有序地进行IPC(Inter-ProcessCommuni

4、cation),可利用互斥特性保证数据一致性与同步。基本概念共享变量模型与传统的顺序程序设计有许多相似之处。程序员只需关心程序中的可并行进程,而无需关心进程间的数据交换问题。共享变量的数据一致性、临界区的保护性访问由编译器与并行系统来维护。共享变量模型具有编程简单、易于控制的特点,但若在多处理机、机群系统上实现时则会导致系统开销增大,因此共享变量模型常常用于共享存储多处理机,而不用于多处理机、机群系统。基本概念2.消息传递模型 消息传递模型是指程序中不同进程之间通过显式方法(如函数调用、运算符等)传递消息来相互通信

5、,实现进程之间的数据交换、同步控制等。消息包括指令、数据、同步信号等。基本概念程序员不仅要关心程序中可并行成分的划分,而且还需关心进程间的数据交换。消息的发送、接收处理将增加并行程序开发的复杂度。但是它适用于多种并行系统,如多处理机、可扩展机群系统等,且具有灵活、高效的特点。基本概念3.数据并行模型 数据并行模型是指将数据分布于不同的处理单元,这些处理单元对分布数据执行相同的操作。数据并行程序使用预先分布好的数据集。运算操作之间进行数据交换操作。基本概念数据并行操作的同步是在编译而不是在运行时完成的。数据并行模型中

6、的SIMD模型可用于向量机、多处理机等并行计算机,而SPMD模型则可用于多处理机、机群系统。基本概念4.面向对象模型 面向对象模型是近几年随着面向对象技术的发展而提出的。它基于消息传递,但并行处理单位却是对象。在这种模型中,对象是动态建立和控制的。处理是通过对象间发送和接收消息来完成。面向对象模型具有简洁灵活的特点,适合多种平台,但系统开销较大。基本概念并行程序设计语言就是在这些并行程序设计模型的基础上,提出对并行性的描述方法、并行单元间协同的描述方法,以及该语言适用的并行计算环境。基本概念无论是哪种模型,那个语言

7、,都需要解决两个问题:进程管理和通讯。事实上,模型之间的区别主要体现在对通讯实现方式的不一样上。硬件环境单机/多机:并行/并发根据Flynn的分类法:SISD:一组可执行代码装入一个机器内存后,以一个CPU,一组数据执行一次。它属于SISD执行模式(即单指令流单数据流的简写)。物理上对应为单处理器的顺序程序。SIMD:一组可执行代码装入后,可以依次执行多个进程,它属于SIMD,单指令流多数据流。对应为单机多处理器的主机或单CPU的分时系统、阵列机组。MISD:在多机或多处理器上各有自己的可执行代码。协同完成一组数据

8、的计算,是MISD多指令流单数据流系统。对应为分布数据流机。MIMD:MIMD则为多指令流多数据流系统,对应为一般分布式系统(有多个不同的处理机,运行各不相同的进程)。局域网和广域网就属于此列。如果网上协同运行一个程序作业,则为以MIMD系统实现的并发程序。基本概念并行处理器谱系并行处理器SIMDMIMD共享存储(紧耦合)分布式存储(松耦合)共享存储多用于同

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。