并行程序设计的一般性问题 历些毛子科枚大多 XIDIAN UNIVERSITY )并行性问题 口进程编组、划分与分配 ■进程编组 >目的:支持进程间的交互,常把需要交互的进程调度在同一组中 >一个进程组成员由:组标识符+成员序号唯一确定 ■划分与分配 >原侧:使系统大部分时间忙于计算,而不是闲置或忙于交互 >划分:切割数据和工作负载 >分配:将划分好的数据和工作负载映射到计算结点/处理器上 多机 多核 决定并行性与并行粒度 6
划分与分配 ➢ 原则: 使系统大部分时间忙于计算,而不是闲置或忙于交互 ➢ 划分: 切割数据和工作负载 ➢ 分配: 将划分好的数据和工作负载映射到计算结点/处理器上 并行程序设计的一般性问题 并行性问题 进程编组、划分与分配 进程编组 ➢ 目的:支持进程间的交互,常把需要交互的进程调度在同一组中 ➢ 一个进程组成员由:组标识符+成员序号 唯一确定 多机 多核 决定并行性与并行粒度 6
并行程序设计的一般性问题 历粤毛子种拔大学 XIDIAN UNIVERSITY )并行性问题 ■分配方式 >显式分配:由用户指定数据和负载如何加载 >隐式分配:由编译器和运行时支持系统决定 ■分配原则 >就近分配原则:进程所需的数据靠近使用它的进程代码 口并行性与并行粒度 ■并行性或并行度(Degree of Parallelism,DOP) >同时执行的分进程数
并行程序设计的一般性问题 并行性问题 分配方式 ➢ 显式分配: 由用户指定数据和负载如何加载 ➢ 隐式分配:由编译器和运行时支持系统决定 分配原则 ➢ 就近分配原则:进程所需的数据靠近使用它的进程代码 7 并行性与并行粒度 并行性或并行度(Degree of Parallelism, DOP) ➢ 同时执行的分进程数
并行程序设计的一般性问题 历些毛子科枚大多 XIDIAN UNIVERSITY )并行性问题 ■ 并行粒度(Granularity) >两次并行或交互操作之间所执行的计算负载 指令级并行 小粒度 块级并行 中粒度 进程级并行 任务级并行 大粒度 ■ 并行度与并行粒度常为负相关关系 >增大粒度会减小并行度 >一味增加并行度会增加系统开销(主要体现在进程同步开销上) 8
并行粒度(Granularity) ➢ 两次并行或交互操作之间所执行的计算负载 指令级并行 块级并行 进程级并行 任务级并行 并行程序设计的一般性问题 并行性问题 小粒度 中粒度 大粒度 并行度与并行粒度常为负相关关系 ➢ 增大粒度会减小并行度 ➢ 一味增加并行度会增加系统开销(主要体现在进程同步开销上) 8