1 / 55

第四章 性能评测

第四章 性能评测 . 第一节 性能评测概述. 一、并行计算机性能指标. 1 、硬件性能 参数 -- 反映硬件系统基本性能. * 硬件性能 的辅助 参数: 存储系统 — 主存 /Cache 容量、页 / 块大小、关联度等; 通信系统 — 通信服务、 IN 及 NIC 性能参数. 2 、系统性能 指标 -- 反映软硬件系统性能和可扩放性. * 程序参数: 问题规模、工作负载、负载不平衡开销、工作集尺寸、通信 - 计算比、通信与同步开销、并行性开销 等.

kyran
Télécharger la présentation

第四章 性能评测

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第四章 性能评测

  2. 第一节 性能评测概述 一、并行计算机性能指标 1、硬件性能参数 --反映硬件系统基本性能 *硬件性能的辅助参数: 存储系统—主存/Cache容量、页/块大小、关联度等; 通信系统—通信服务、IN及NIC性能参数

  3. 2、系统性能指标 --反映软硬件系统性能和可扩放性 *程序参数:问题规模、工作负载、负载不平衡开销、工作集尺寸、通信-计算比、通信与同步开销、并行性开销等 *影响系统性能因素:硬件参数(结构与速度)、程序参数(应用与算法),及两者的相互作用 回24页 回23页 回27页 回7页 回13页

  4. 二、为何要进行性能评测 1、购买者进行性能评测的目的 主要是降低投资风险,提高投资效益 ·有利于选择并行机型号(性/价、RARS、可扩展性) ·有利于配置系统相关参数(需求、性能、性/价) 2、设计者进行性能评测的目的 主要是为优化设计提供量化依据 ·有利于发现系统设计中存在的问题 ·有利于合理地进行软/硬件功能分配,提高系统性/价 ·有利于优化结构-算法-应用的组合,设计高效算法

  5. 三、如何进行性能评测 *系统性能指标:不同测试者所关心的性能指标种类不同 *性能评测层次:机器级、算法级、程序级 1、机器级性能评测 *评测内容: CPU及存储器基本性能(Tn、Rn等); 并行与通信开销(Tpar、t0、R∞等); 可用性、好用性(运行正常百分比、环境及界面); 性能与成本 *评测方法:通过基准测试程序, 不断改变硬件参数进行测试 回7页

  6. 2、算法级性能评测 *评测内容:应用-算法-结构组合的可扩放性; 即给定应用背景,系统扩放时的性能 *评测方法:通过基准测试程序, 不断改变问题规模及机器规模进行测试 3、程序级性能评测 *评测内容:各种系统性能(如Tn、Rn、U、TP等) *评测方法:通过基准测试程序进行测试 *基准测试程序种类: 按生成方式—真实、核心、小、综合程序; 按应用类型—科学计算、商业应用、信息处理等; 按程序功能—宏观测试程序、微观测试程序 回15页

  7. 并行度 n 1 时间 第二节 机器级性能评测 一、 CPU及存储器的基本性能指标 1、CPU性能指标 *基本参数:工作负载(W)、顺序执行时间(T1) 工作负载—计算量,常用指令或浮点运算表示;(算法相关) 顺序执行时间—工作负载在单处理器上的执行时间 *基本性能指标: 并行执行时间—Tn=Tcomput+Tcomm+Tsync+Tpara 速度--Rn=W/Tn,为系统实际速度(非峰值) 转5页 转3页

  8. 2、存储器性能指标 *存储器层次结构: REG 一级Cache 二级Cache 主存 磁盘 远程存储器 各层性能指标—容量C、延迟L、带宽B; 相关参数—交换粒度、一致性粒度、层间管理方案等 *影响容量C设计的因素: 与应用的进程数及各进程工作集尺寸等有关 *影响延迟L设计的因素: 与CPU主频f、指令系统CPI及带宽B等有关 *影响带宽B设计的因素: 与应用的数据通信量、通信频率和通信延迟等有关

  9. 二、 并行及通信开销 1、开销来源 *并行开销:包括进程/进程组管理、数据分配等时间 *通信开销:包括通信及同步操作时间(软硬件) 2、开销量化方法 *测量准备:选择测量所用的参数,它们会影响测量结果 (数据结构、语言及编译器、通信硬件及协议、计时方法等) *测量方法: 点点通信—乒-乓法、热土豆(又称救火队)法等 集合通信—较复杂,原则是尽量避免/减少额外干扰 *测量结果表示: 表格法、曲线法、表达式法等

  10. 3、开销量化 *并行性开销: 特性--生命周期中分期偿还(总开销/计算量); 量化—测量并行性开销对应的计算量; 如:POWER2处理器的T进程创建=372,000T浮点运算 结果—计算粒度较大时,才有创建进程的可能 *点点通信(通信、互斥/事件等)开销: 量化--测量t(m)=t0+m/R∞的各项参数; 结果--根据t0与R∞关系确定最佳m(平衡设计原理) *集合通信(广播、集合、栅障等)开销: 量化--测量t(m,n)=t0(n)+m/R∞(n)的各项参数; 结果--根据测量确定软/硬件功能分配(高性/价)

  11. 三、 可用性与好用性 1、可用性 指系统正常运行时间占总时间的百分比 *量化方法:根据实际使用情况进行测量与统计 注意—排除环境、人为等因素的干扰 *可用性的提高: 方法--增加MTTF,或减少MTTR; 技术—分隔的冗余设备(双管理机), 故障诊断、通知与接管(如系统监控), 故障恢复(如检查点)等

  12. 2、好用性 指用户环境的好用性,包括环境系统及界面2方面 *并行机用户环境:命令行+远程登录、GUI+X协议、 客户GUI+服务器、浏览器+WEB服务器 *用户环境系统的好用性: ·灵活、易扩充和易集成; ·使应用软件开发与平台无关; ·用户可不了解低层系统的实现细节; ·提供单一系统映像 *用户界面的好用性: 实用性(提供服务)、高效性(提供帮助)、易学习性(简单/易理解/风格统一)、交互性(交互手段多)、美观性(感觉好)

  13. 四、 性能与成本 1、成本与价格 常见关系为: 平均折扣 33.3% 毛利润 毛利润 价格 50% 33.3% 直接成本 25% 直接成本 8.3% 直接成本 12.5% 成本 原料成本 原料成本 原料成本 原料成本 100% 75% 37.5% 25.1% 2、性能/价格 指性能/买价,性能常用速度(Rn)表示 ※高性能/价格—性能或性能/成本不一定好 3、成本有效性 指性能/成本,性能通常用利用率(U)表示 ※高性能/成本—体系结构较为合理 转3页

  14. 第三节 算法级性能评测 一、 并行计算性能参数 1、加速比 指对给定应用,并行相对于串行的性能提高程度 即 Sn=T1/Tn=Rn/R1,通常 1≤Sn≤n ※给定应用--指工作负载W、处理器数n为给定值 *影响Sn的因素:算法并行性、并行机体系结构 *研究加速比的目的: +对并行算法,研究顺序/并行部分对性能的影响; +对算法/结构,研究基于结构的并行性开发方法 ※性能提高方法—有并行化和容量增加2方面

  15. 2、可扩放性 指对给定应用背景,性能随P增加(n)的按比例提高能力 即 Ψ(n,n’)=[Sn(W)/n]/[Sn’(W’)/n’ ],Ψ(n,n’)∈(0,1) ※应用背景—扩放时对W及Tn的要求或限制; Ψ(n,n’)—为曲线,希望很快接近常数 *特征:反映应用-算法-结构组合的有效性(有效利用n) *影响Ψ(n,n’)的因素: 算法并行性、并行体系结构、应用背景等 *研究可扩放性的目的: +对给定问题,选择算法及结构,以充分利用可扩充资源 +对给定应用及算法,评测体系结构的扩放性能 +对给定结构,评测并行算法的扩放性能 +对给定可扩充资源,指导改进体系结构和并行算法 转6页 回下页 回23页

  16. 二、扩放模型及性能分析 1、应用背景与扩放模型 *应用背景种类: ①实时性要求较高—关注Tn,W可不变,如Web服务 ②结果精度要求较高—关注Δ,Tn可不变,如天气预报 ③充分利用硬件资源—关注Un,Tn及W均可变,如计算中心 └→充分利用CPU和MEM等 *扩放模型种类: ①固定负载扩放模型—增加n(W固定),以减小Tn ②固定时间扩放模型—增加n及W,以提高精度(保持Tn) ③存储器受限扩放模型—增加n及W,以提高Un *扩放模型性能分析: 可用3个加速比性能定律进行性能分析 转上页 回下页 回19页 回21页

  17. 2、Amdahl定律 --适用于固定负载扩放模型 *基本思想:W不变,增加n,以提高处理速度(减小Tn) *定律公式:设W =fW +(1-f)W,f 为顺序部分比例,则 *定律几何意义: 加速比Sn 工作负载 执行时间 W1 W1 W1 W1 T1 1024 × Wp Wp Wp Wp Tp T1 Tp T1 91 T1 × Tp 48 31 24 Tp × × × n n f 1 2 3 4 1 2 3 4 0% 1% 2% 3% 4% (b)减少执行时间 (a)固定负载 (c)固定负载的加速比 回下页 转上页 回19页

  18. *定律含义: --性能分析 ①对给定工作负载,Sn≤1/f; ②仅增加n,顺序部分依然是瓶颈 *引入开销的加速比:设额外开销为T0(含通信/同步/并行化) 转上页

  19. 3、Gustafson定律 --适用于固定时间扩放模型 *基本思想:保持Tn不变,增加n及W,以增加计算量(精度) *定律公式:设W’ =fW +(1-f)nW,f为顺序部分比例,则 *定律几何意义: 加速比Sn 工作负载 执行时间 W1 1024 1004 983 × × × Wp × × 1014 993 W1 Wp W1 S1024=1024-1023f W1 T1 T1 T1 T1 Wp Wp Tp Tp Tp Tp n n f 1 2 3 4 1 2 3 4 0% 1% 2% 3% 4% (b)固定执行时间 (a)规模扩展的负载 (c)固定时间的加速比 回下页 转16页 转17页 回21页

  20. *定律含义: --性能分析 ①当W可扩展以保持Tn不变时,Sn是n的线性函数 ②当n充分大、W’成比例增加时,顺序部分不再是瓶颈 └→关键:顺序部分fW基本不变 *引入开销的加速比:设额外开销为T0(含通信/同步/并行化) 转上页

  21. 4、Sun和Ni定律 --适用于存储器受限扩放模型 *基本思想:增加n及W ,以提高Un(充分利用CPU和MEM资源) *定律公式:设W’=fW +(1-f)G(n)W,f为顺序部分比例,则 *定律几何意义: 工作负载 执行时间 加速比Sn W1 1024 1007 991 × × × Wp × × W1 1016 999 T1 W1 Wp G(n)=1.25n T1 Tp T1 Wp W1 T1 Tp Tp Wp Tp n n f 1 2 3 4 1 2 3 4 0% 1% 2% 3% 4% (b)执行时间稍增 (a)规模扩展的负载 (c)存储器受限的加速比 回下页 转16页 转19页

  22. δ Sn 存储器受限 扩放模型 γ 存储器界限 存储器受限扩放模型 固定时间 扩放模型 工作负载W(问题规模) 固定时间扩放模型 固定负载 扩放模型 α 固定负载扩放模型 通信界限 n 机器规模 n *定律含义: --性能分析 ①若G(n)=1,Sn性能与Amdahl定律等效; ②若G(n)=n,Sn性能与Gustafson定律等效; ③若G(n)>n,Sn性能比固定负载、固定时间扩放模型都高 └→即W增加速度>MEM增长速度(n增长速度) *引入开销的加速比:设额外开销为T0(含通信/同步/并行化) 转上页 回下页

  23. 三、可扩放性评测标准 1、可扩放性评测标准 *可扩放性的特征:可用效率、速度、利用率等反映 *可扩放性的度量: 存在问题—W较大时T1(W)无法测量→Sn等无法测量 解决方法—同时增加n及W,以保持性能不变,用所增加的W来衡量可扩放性 度量方法—解析法、测量法 *可扩放性评测标准: 现状—无公认的、定义严格的评测标准 标准--等效率标准、等速度标准、等延迟标准 (解析法) (测量法) (测量法) 回下页 转15页 转上页 转3页 回28页

  24. 2、等效率标准 用维持效率不变时,所需增加的W来度量可扩放性 (1)等效率函数 设问题规模为s,工作负载W(s)为s的函数, 并行开销为T0(s,n)为s及n的函数 则 解析法 *等效率需求:增大n时,需增大s,E才可能保持不变 *等效率函数:为保持效率E不变,增大n时增加W(s),此时W(s)与n的函数关系即为等效率函数 由效率公式得,W(s)=E/(1-E)×nT0(s,n) 因E为常数,则对上式求解方程,可得s=y(n) 等效率函数为 fE(n)=W(s)=W(y(n)) 回下页 回26页 转3页

  25. 效率E 等效率函数fE(n) 系统3 1 系统2 E系统1=E系统2=E系统3 系统1 n n 可扩放性排序(好→差)结果:系统1→系统2→系统3 效率E 等效率函数fE(n) 系统1 系统2 1 E系统1=E系统2 0.5 0.3 n n (2)可扩放性评测 *度量:对给定的等效率值,可获得具体的等效率函数 *评价:等效率函数fE(n)越小,可扩放性越好 *等效率值的特性:等效率值E越小,可扩放性越好 转上页

  26. 例—两个N×N矩阵相乘,W(s)=cN3,A、B两系统运行时间分别为 、 ,评价等效率值Ec分别保持1/3和1/4时,哪个系统具有更好的可扩放性。 (1)当Ec=1/3时,1/3=cN3/(cN3+T0) 对A系统有 ,即 , 等效率函数 对B系统,等效率函数 (2)当Ec=1/4时,1/4=cN3/(cN3+h) 对A系统有 ,即 , 等效率函数 对B系统,等效率函数 即当Ec=1/3时,可扩放性A、B系统相同 即当Ec=1/4时,可扩放性B系统比A系统好 转24页

  27. *平均速度: 3、等速度度量标准 用维持平均速度不变时,所需增加的W来度量可扩放性 (1)等平均速度(简称等速度)可扩放性 *等速度特性:Rn与n呈线性关系(∵Rn=Rn×n) *等速度可扩放性:增大n时增大W,若能够保持平均速度不变,则称该算法(或结构)是可扩放的 即 ,Ψ值越大,可扩放性越好 *等速度可扩放性测量: 问题—无法保持平均速度不变 方法—因平均速度不变时,有 则有 ,即可测量并行时间 回下页 转3页

  28. 1 2 4 8 16 32 1.0 0.8 0.6 0.4 0.2 0.0 Ψ(n,n’)-n’ 曲线簇 (2)可扩放性度量 *度量方法:测量法、计算法、预计法 *计算法度量步骤: ①对各种n,分别测得W→W’时的Rn-Tn曲线; (已知W为s的函数,测得Tn后,可求得Rn) ②对选定的平均速度RSel,求得各种n时的等速度Tn; RSel ③根据公式,求得Ψ(n,n’) 矩阵,可画出曲线簇 T1T2T3T4 Rn n1 n2 n3 n4 W’ W T Ψ(n,n’)矩阵 Rn-T曲线及等速度的Tn 转上页 转23页

  29. 第四节 程序级性能评测 一、 性能评测与测试程序 1、性能评测 *性能指标:不同评测者关心的系统性能指标不同 *性能度量:均通过在机器上运行测试程序来测量 2、测试程序 *种类:多种,可反映不同应用领域的特征 *级别:多级别,可反映不同机器层次的性能 *参数:参数可选,可调节不同的工作负载及机器规模 ※基准测试程序:相对公正的、业界可接受的测试程序 ※基准测试程序组件:能反映特定领域、不同层次系统性能的一组测试程序 回下页

  30. 二、 基准测试程序分类 *按生成方式分: 真实程序、核心程序、小测试程序、综合测试程序 (实际的程序) (人为编写的程序) *按应用方式分:科学计算、商业应用、信息处理、网络服务等 *按性质与功能分:宏观测试程序、微观测试程序 三、 基准测试程序 *基本基准测试程序:Whetstone、LinPACK、LMBENCH等 *并行基准测试程序:NPB、PARKBENCH、STAP等 *商用基准测试程序:TPC系列等 *基准测试程序组件:SPEC、WinBench等 转上页

  31. 第五节 如何提高性能 一、 并行程序设计过程 1、系统性能 *并行执行时间:Tn=Tcomput+Tcomm+Tsynch+Tpara *影响性能的主要因素: ①并行处理能力— 硬件—节点结构及性能(CPU、MEM及NIC),可扩放性等 软件—算法并行性及可扩放性、负载平衡等 ②通信/同步/管理开销-- 硬件—通信、同步及一致性模型,IN性能等 软件—数据组织、任务粒度、OS性能等

  32. 划分 分 解 分 配 P2 P3 P0 P1 P2 P0 P0 P1 P2 P3 P1 P3 协 调 映 射 串行计算 并行程序 处理器 任务 进程 2、并行程序设计步骤 *设计过程: ①David E. Culler—分为分解、分配、协调、映射4个阶段 ②Bal H E等—分为划分、通信、组合、映射4个阶段 △比较—David的协调阶段=Bal的通信及组合阶段 *基本要点:①开拓算法的并发性和可扩放性; ②优化算法的全局执行时间和通信成本 回下页 回37页

  33. 并行度DOP 并行度DOP n n k 1 1 时间 时间 fk 串行算法 并行算法并发态曲线 (1)问题的分解 *目的:选择最佳算法,将计算分解成多个任务 *目标:开发并行性(数据并行及功能并行)、兼顾管理开销 可扩放性较好←┘ └→可扩放性有限 *分解方法: 数据分解(域分解)—数据片尽量小、计算与数据关联; 功能分解(任务分解)—开发并行化、兼顾开销 *分解要点: 使数据集和功能集互不相交←避免复制 转上页 回下页 回39页

  34. (2)任务的分配 *目的:将各任务分配到进程中 *目标:平衡负载,减少通信量、管理分配开销 *任务分配方法: --各进程负责哪些任务 静态分配—编程时分配,无管理开销、负载平衡不好; 动态分配—运行时分配,有管理开销,负载平衡好 *任务调度方法: --各进程中任务何时执行 √静态调度—按空间或轮转调度; (适用于静态分配) 动态调度—维护任务队列,按一定算法、适时调度 *任务划分特性: (划分=分解+分配) 侧重算法性能的分析与设计, 独立于编程模型和体系结构 回40页 转上页 回下页

  35. (3)进程的协调 *目的:选择有效机制,以高效实现划分阶段的算法 *目标:降低通信开销及同步开销,降低并行性管理开销 └→可重新选择任务划分阶段的算法 *实现机制: 开发进程中数据局部性,减少附加通信量; 通信结构化,以降低通信开销; 减少操作序列化现象,降低同步开销 *协调的特性: 侧重算法性能的分析与实现; 与编程模型和体系结构及程序语言有很大关系 回41页 回下页 转上页

  36. (4)处理器的映射 *目的:将进程映射到处理器上 *目标:最小化全局执行时间和通信成本 └→从处理器角度平衡负载(任务分配是从进程角度平衡) *映射策略: ①可并发执行的进程映射到不同处理器上; ②需频繁通信的进程映射到同一处理器上 *映射方法: --系统常2者都支持 ①绑定—程序可将进程静态映射(绑定)到处理器上; 例—作业脚本实现静态映射 ②调度—OS可将进程动态映射(调度)到处理器上 例—进程调度及迁移实现动态映射 转上页

  37. 3、程序并行化与体系结构关系 转32页

  38. 4、并行程序设计例题 (0)有限差分方法求解偏微分方程(串行)程序 int n; float **A, diff=0; main() { read(n); A←malloc(n+2,n+2); initialize(A); Solve(A); } procedure Solve(float **A) { inti, j, done = 0; float temp=0; while (!done) { diff = 0; for (i = 0, i<n; i++) for (j = 1, j<=n; j++) { temp = A[i,j]; A[i,j]=0.2*(A[i,j]+A[i,j-1] +A[i-1,j]+A[i,j+1]+A[i+1,j]); diff += abs(A[i,j]-temp); } if (diff/(n*n) < TOL ) done = 1; } } 回下页

  39. 反对角线法 红-黑序法 区域法 (1)问题分解 *功能分解方法:相同次迭代操作并行,不同次迭代操作串行 *域分解方法: 全并行法—DOP=n2,点点同步增加,迭代次数增多 反对角线法—DOP≤n1/2(不稳定),全局同步频繁 红-黑序法—DOP=n2/2,迭代次数翻倍(计算量相近) 区域法—DOP=n,全局同步次数少 *问题分解结果:红-黑序法、区域法 转上页 转33页

  40. P0 P1 P2 P0 P1 P2 P0 P1 P2 轮转调度方式 空间调度方式 (2)任务分配 *问题分解方案确定: 区域法(负载平衡较好、通信量小) *分配方法:静态分配(任务可预测), 每进程负责1行或1块 *调度方法:静态,按空间调度较好 按条的区域法 转34页

  41. (3)进程的协调 *基于共享变量模型的进程协调: 通信及同步机制—隐式通信,显式进程创建及同步; 数据局部性—增加冗余计算(减少通信); 增加私有变量操作(减少通信及同步) 转35页 回下页 回43页

  42. 并行程序—基于共享变量编程模型 int n, nproc; float **A, diff; LOCKDEC(diff_lock); BARDEC(bar1); main() { read(n); read(nproc); A←G_MALLOC(n+2,n+2); initialize(A); CREATE(nproc-1,Solve,A); Solve(A); WAIT_FOR_END(nproc-1); } procedure Solve( float **A) { inti,j,pid,done = 0; float temp, mydiff=0; …… } intmymin = 1+(pid*n/nproc); intmymax = mymin+n/nproc-1; while (!done) { mydiff= diff = 0; BARRIER(bar1, nproc); for (i = mymin, i<mymax; i++) for (j = 1, j<=n; j++) { temp = A[i,j]; A[i,j]=0.2*(A[i,j]+A[i,j-1] +A[i-1,j]+A[i,j+1]+A[i+1,j]); mydiff+= abs(A[i,j]-temp); } LOCK(diff_lock); diff += mydiff; UNLOCK(diff_lock); BARRIER(bar1,nproc); if (diff/(n*n) < TOL ) done = 1; BARRIER(bar1,nproc); } 转上页

  43. *基于消息传递模型进程的协调: 通信及同步机制—显式通信,显式进程创建, Send/Recv匹配实现一个同步事件 数据局部性—各进程增加2个边界行(减少通信开销), 各进程每次迭代开始产生一次通信 回下页 转41页

  44. 并行程序— 基于消息传递编程模型 intn,,nproc; float **myA; main() { read(n); read(nproc); CREATE(nproc-1,Solve); Solve(A); WAIT_FOR_END(nproc-1); } procedure Solve() { inti, j, pid, done = 0; intn’=n/nprocm; intnsize=n*sizeof(float); float temp, tempdiff,mydiff=0; myA←malloc(n’+2,n+2); initialize(myA); …… } while (!done) { mydiff = 0; if (pid != 0) SEND(&myA[1,0],nsize,pid-1,ROW); if (pid != nproc-1) SEND(&myA[n’,0],nsize,pid+1,ROW); if (pid != 0) RECEIVE(&myA[0,0],nsize,pid-1,ROW); if (pid != nproc-1) RECEIVE(&myA[n’+1,0],nsize,pid+1,ROW); //省略有限差分求和 if (pid != 0) { SEND(mydiff,sizeof(float),0,DIFF); RECEIVE(done,sizeof(int),0,DONE); } else { for (i=1;i<=nproc-1;i++) { RECEIVE(tempdiff,sizeof(float),*,DIFF); mydiff += tempdiff; } if (diff/(n*n) < TOL ) done = 1; for (i=1;i<=nproc-1;i++) SEND(done,sizeof(int),i,DONE); } } 转上页

  45. 二、划分阶段的性能提高 *并行程序的执行时间: T(n)=Tcomput+Tlocal+Tcomm+Tsynch+Tpara,Tcomm=T固有+T附加 *划分阶段可提高的性能: Tcomput、Tcomm中T固有、Tsynch和Tpara 1、平衡负载与同步等待时间 *目标:极小化同步等待时间,使各进程任务量相近 *过程:识别足够的并发性、决定并发性的管理方式、 确定任务的粒度、降低序列化现象 (1)识别足够的并发性 *数据并发性:充分开发并行性(nTcomput→Tcomput) *功能并发性:尽量减少全局同步量(min{Tsynch}) 回48页 回下页 回47页

  46. (2)决定并发性的管理方式 *静态/动态分配特征: 在负载平衡效果、管理开销、通信代价等方面不同 *选择:常选静态分配方式(∵ΔTcomput<<Δ(Tcomm+Tpara)) (3)确定任务的粒度 *粒度特征:并行性粒度—通信/同步/管理开销性能矛盾 *粒度确定:折中并行性与三种开销(∵ΔTcomput<<ΔTcomm) *折中方法:粒度组合、重复计算、静态分配等 (4)降低序列化现象 序列化现象—此处指同步点上的串行化现象 *影响因素:同步类型、同步粒度、同步次数 *措施:使用最适宜的同步类型(最小化参与者数), 折中同步粒度与同步次数(开销最小化)等 转上页

  47. 2、减少固有的通信开销 *方法一:减少通信-计算比 例—区域法分解中,块划分通信量少于行或条划分 *方法二:尽量使访问相同数据/频繁通信的任务在同一进程 优点—Tcomm→Tlocal; 缺点—负载可能不平衡; 折中—倾向性取决于系统的通信代价大小 注:通信代价为实现延迟,与通信量概念不同 转45页

  48. 3、减少划分的额外开销 *额外开销类型一:分配及调度算法增加的管理开销 处理方法—权衡负载不平衡—划分算法的代价 如:对可预测任务,尽量采用静态分配及调度方法 对不可预测任务,则采用半静态/动态方法 *额外开销类型二:并行化管理带来的开销 处理方法—减少进程管理开销(Tpara) 如:减少进程创建次数! 可通过冗余计算减少同步等待时间 转45页

  49. 三、协调阶段的性能提高 *并行程序的执行时间: T(n)=Tcomput+Tlocal+Tcomm+Tsynch+Tpara,Tcomm=T固有+T附加 *协调阶段可提高的性能: T附加,Tcomm代价 1、附加通信产生原因 (1)人为产生的附加通信 回下页 回51页

  50. 数据通信量 程序第一工作集 因容量不够所产生的 通信量(包括冲突扑空) 程序第二工作集 其他和容量无关的通信 固有通信量 冷启动(强迫)通信量 Cache容量 (2)扩展存储层次结构产生的附加通信 *扑空类型:冷启动扑空、容量扑空、冲突扑空,通信扑空 ※通信扑空—多处理机系统才有(Cache-本地MEM-远程MEM) 由程序固有通信及附加通信引起 *Cache容量与程序的数据通信量: Cache中工作集—算法的工作集(反映访问数据的时间局部性) 其它层中工作集—与算法工作集、层次管理有关 转上页

More Related