基本概念 并行程序的基本计算单位是进程,它与 有关代码段执行的操作相对应。进程的 粒度在不同的程序设计模型和应用程序 中是不一样的
基本概念 • 并行程序的基本计算单位是进程,它与 有关代码段执行的操作相对应。进程的 粒度在不同的程序设计模型和应用程序 中是不一样的
基本概念 并行程序设计的模型: 1.共享变量模型 是目前最灵活, 最常用的模型 消息传递模型 3.数据并行模型 新的并行模型 4.面向对象模型
基本概念 • 并行程序设计的模型: – 1. 共享变量模型 – 2. 消息传递模型 – 3. 数据并行模型 – 4. 面向对象模型 是目前最灵活, 最常用的模型 新的并行模型
基本概念 1.共享变量模型 共享变量模型用限定作用范围和访问权限的办法,对进程寻 址空间实行共享或限制,即利用共享变量实现并行进程间的 通信。为了保证能有序地进行 IPC(Inter-Process Communication),可利用互斥特性保证数据一致性与同步。 共享变量模型与传统的顺序程序设计有许多相似之处。程序 员只需关心程序中的可并行进程,而无需关心进程间的数据 交换问题。共享变量的数据一致性、临界区的保护性访问由 编译器与并行系统来维护。 共享变量模型具有编程简单、易于控制的特点,但若在多处 理机、机群系统上实现时则会导致系统开销增大,因此共享 变量模型常常用于共享存储多处理机,而不用于多处理机、 机群系统
基本概念 1. 共享变量模型 – 共享变量模型用限定作用范围和访问权限的办法,对进程寻 址空间实行共享或限制,即利用共享变量实现并行进程间的 通信。为了保证能有序地进行IPC(Inter-Process Communication ),可利用互斥特性保证数据一致性与同步。 – 共享变量模型与传统的顺序程序设计有许多相似之处。程序 员只需关心程序中的可并行进程,而无需关心进程间的数据 交换问题。共享变量的数据一致性、临界区的保护性访问由 编译器与并行系统来维护。 – 共享变量模型具有编程简单、易于控制的特点,但若在多处 理机、机群系统上实现时则会导致系统开销增大,因此共享 变量模型常常用于共享存储多处理机,而不用于多处理机、 机群系统
基本概念 2.消息传递模型 消息传递模型是指程序中不同进程之间通过显式方 法(如函数调用、运算符等)传递消息来相互通信, 实现进程之间的数据交换、同步控制等。消息包括 指令、数据、同步信号等。 程序员不仅要关心程序中可并行成分的划分,而且 还需关心进程间的数据交换。消息的发送、接收处 理将增加并行程序开发的复杂度。但是它适用于多 种并行系统,如多处理机、可扩展机群系统等,且 具有灵活、高效的特点
基本概念 2. 消息传递模型 – 消息传递模型是指程序中不同进程之间通过显式方 法(如函数调用、运算符等)传递消息来相互通信, 实现进程之间的数据交换、同步控制等。消息包括 指令、数据、同步信号等。 – 程序员不仅要关心程序中可并行成分的划分,而且 还需关心进程间的数据交换。消息的发送、接收处 理将增加并行程序开发的复杂度。但是它适用于多 种并行系统,如多处理机、可扩展机群系统等,且 具有灵活、高效的特点
基本概念 3.数据并行模型 数据并行模型是指将数据分布于不同的处理单元, 这些处理单元对分布数据执行相同的操作。数据并 行程序使用预先分布好的数据集。运算操作之间进 数据交换操作 数据并行操作的同步是在编译而不是在运行时完成 的。数据并行模型中的SIMD模型可用于向量机、 多处理机等并行计算机,而SPMD模型则可用于多 处理机、机群系统
基本概念 3. 数据并行模型 – 数据并行模型是指将数据分布于不同的处理单元, 这些处理单元对分布数据执行相同的操作。数据并 行程序使用预先分布好的数据集。运算操作之间进 行数据交换操作。 – 数据并行操作的同步是在编译而不是在运行时完成 的。数据并行模型中的SIMD模型可用于向量机、 多处理机等并行计算机,而SPMD模型则可用于多 处理机、机群系统