中国料学火计算机科学与波术系 niversity of Science and Technology of China DEAT三 NT OF C口 MPUTER SCIENGE AND TECHNOLOr 3并行性问题 3.2静态和动态并行性 程序的结构:由它的组成部分构成程序的方法 静态并行性:程序的结构以静态并行性的例子 及进程的个数在运行之前(如 parbegin P,Q, R parend 编译时,连接时或加载时)就 可确定,就认为该程序具有 其中P,QR是静态的 静态并行性 动态并行性:否则就认为该动态并行性的例子 程序具有动态并行性.即意hle(cO)begm 味着进程要在运行时创建和 fork(foo(C) 终止 C: =boo(C) end 国家高性能计算中心(合肥 2021/2/19
国家高性能计算中心(合肥) 11 2021/2/19 3.2 静态和动态并行性 程序的结构: 由它的组成部分构成程序的方法 静态并行性的例子: parbegin P, Q, R parend 其中P,Q,R是静态的 动态并行性的例子: while (C>0) begin fork (foo(C)); C:=boo(C); end 3 并行性问题 静态并行性: 程序的结构以 及进程的个数在运行之前(如 编译时, 连接时或加载时)就 可确定, 就认为该程序具有 静态并行性. 动态并行性: 否则就认为该 程序具有动态并行性. 即意 味着进程要在运行时创建和 终止
中国料学火计算机科学与波术系 静态和动态并行性 niversity of Science and Technolo ogy of China DEAT三 NT OF C口 MPUTER SCIENGE AND TECHNOLOr 3并行性问题 开发动态并行性的一般方法:Fork/Join Process a: Process B: rocess C begin begin begin Z:=1 fork) Y: =foo(z) fork(B) X: =foo(z end T:=foo( 3) join(c) end output(×+Y) end Fork:派生一个子进程 Join:强制父进程等待子进程 国家高性能计算中心(合肥 2021/2/19 12
国家高性能计算中心(合肥) 12 2021/2/19 Process A: begin Z:=1 fork(B); T:=foo(3); end Process B: begin fork(C); X:=foo(Z); join(C); output(X+Y); end Process C: begin Y:=foo(Z); end 开发动态并行性的一般方法: Fork/Join 静态和动态并行性 3 并行性问题 Fork: 派生一个子进程 Join: 强制父进程等待子进程
中国料学火计算机科学与波术系 niversity of Science and Technolo ogy of China DEAT三 NT OF C口 MPUTER SCIENGE AND TECHNOLOr 3并行性问题 3.3进程编组 目的:支持进程间的交互,常把需要交互的进程调度在同一组中 个进程组成员由:组标识符+成员序号唯一确定. 34划分与分配 原则:使系统大部分时间忙于计算,而不是闲置或忙于交互 同时不牺牲并行性(度) 划分:切割数据和工作负载 分配:将划分好的数据和工作负载映射到计算结点(处理器)上 分配方式 显式分配:由用户指定数据和负载如何加载 隐式分配:由编译器和运行时支持系统决定 就分吧(进程所需的数据嘉活使用它的进程代福
国家高性能计算中心(合肥) 13 2021/2/19 3.3 进程编组 目的:支持进程间的交互,常把需要交互的进程调度在同一组中 一个进程组成员由:组标识符+ 成员序号 唯一确定. 3.4 划分与分配 原则: 使系统大部分时间忙于计算, 而不是闲置或忙于交互; 同时不牺牲并行性(度). 划分: 切割数据和工作负载 分配:将划分好的数据和工作负载映射到计算结点(处理器)上 分配方式 显式分配: 由用户指定数据和负载如何加载 隐式分配:由编译器和运行时支持系统决定 就近分配原则:进程所需的数据靠近使用它的进程代码 3 并行性问题
中国料学火计算机科学与波术系 niversity of Science and Technolo ogy of China DEAT三 NT OF C口 MPUTER SCIENGE AND TECHNOLOr 3并行性问题 并行度 Degree of Parallelism,DOP):同时执行的分进程数 并行粒度( Granularity):两次并行或交互操作之间所执行的 计算负载 >指令级并行 >块级并行 进程级并行 >任务级并行 并行度与并行粒度大小常互为倒数:增大粒度会减小并行度 增加并行度会增加系统(同步)开销 国家高性能计算中心(合肥 2021/2/19
国家高性能计算中心(合肥) 14 2021/2/19 并行度(Degree of Parallelism, DOP):同时执行的分进程数. 并行粒度(Granularity): 两次并行或交互操作之间所执行的 计算负载. ➢指令级并行 ➢块级并行 ➢进程级并行 ➢任务级并行 并行度与并行粒度大小常互为倒数: 增大粒度会减小并行度. 增加并行度会增加系统(同步)开销 3 并行性问题
中国料学火计算机科学与波术系 niversity of Science and Technolo ogy of China DEAT三 NT OF C口 MPUTER SCIENGE AND TECHNOLOr 4交互/通信问题 交互:进程间的相互影响 4.1交互的类型 今通信:两个或多个进程间传送数的操作 通信方式: >共享变量 >父进程传给子进程(参数传递方式) >消息传递 国家高性能计算中心(合肥 2021/2/19 15
国家高性能计算中心(合肥) 15 2021/2/19 4 交互/通信问题 交互:进程间的相互影响 4.1 交互的类型 ❖通信:两个或多个进程间传送数的操作 通信方式: ➢共享变量 ➢父进程传给子进程(参数传递方式) ➢消息传递