630 likes | 792 Views
第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序 加速比模型: (1) Amdahl( 阿姆达尔)定理(1967) (2) Gustafson 可扩展加速比(1988) (3) Sun & Ni 受限存储器加速比模型(1993) 研制大规模并行系统,首先要解决可扩展性问题. 3.1 性能指标和测量 分析:并行性分布图(不考虑通信时延、资源限制) 定义:渐近加速比因子 介绍概念:并行计算系统的效率、利用率、冗余度、质量 探讨:这些性能指标之间折中的可能性(从性能价格比)
E N D
第三章 可扩展性能原理 • 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) • 标准的性能度量方法基准测试程序 • 加速比模型: (1)Amdahl(阿姆达尔)定理(1967) (2)Gustafson可扩展加速比(1988) (3)Sun & Ni受限存储器加速比模型(1993) • 研制大规模并行系统,首先要解决可扩展性问题
3.1 性能指标和测量 分析:并行性分布图(不考虑通信时延、资源限制) 定义:渐近加速比因子 介绍概念:并行计算系统的效率、利用率、冗余度、质量 探讨:这些性能指标之间折中的可能性(从性能价格比) 常用性能指标:MIPS,Mflops,TRS
3.1.1 程序的并行性分布图 并行度:并行计算机执行一个程序。可在执行过程的不同时间范围内,使用不同数目的处理机。每个时间范围内,使用处理机的数目称为并行度(DOP) 并行性分布图:并行度是一个离散时间函数,它的时间函数曲线则称并行性分布图。(分布图变化与算法结构、程序优化、资源利用率、其他所需资源有关。在实际使用上,资源是有限制的,因此一般达不到DOP值) “受资源限制”的含义: DOP需要的PE数目超过实际系统所能提供的数目,意味一些并行分支必须成块顺序执行。 受限于存储器和其他非处理机资源。
平均并行性:求并行性分布图的平均值(例3.1,图3。1)平均并行性:求并行性分布图的平均值(例3.1,图3。1) 设:并行计算资源:n台同构处理机 最大并行度m(一个时间范围内,最多使用处理机的数目) 单台处理机处理能力Δ(用MIPS等执行速率估算) 不考虑存储器访问、通信时延、系统开销等因素。 观察期(总执行时间t2-t1): i台PE忙碌,即DOP=I,,希望n 》m 则 完成工作量 w =△∫DOP(t)dt 即曲线面积 平均并行性 A=1/(t2-t1) ∫DOP(t)dt 离散求和形式:A=∑ (Mi*ti)/(Mti) (i与ti的乘积[i=1到m]的总和)
例:分治算法(Sun & Ni,1993),图3-1 • 并行性分布图:m=8,观察期(t1~t2) • 平均并行性 A=(1x5+2x3+3x4+4x6+5x2+6x2+8x3)/(5+3+4+6+2+2+3) • =93/25 • =3.72
有效并行性: • DOP与计算机系统结构,算法结构,程序优化,资源利用率,运行条件等有关。 • 乐观: • (Manoj Kumar 1988)理想的环境,计算密集代码 • 每个时钟周期可并行执行500~3500个算术运算 • 即DOP=500~3500,如n=3500,则可达到最大DOP. • (Nicolau & Fisher 1984)标准Fortran在VLSI运行 可 使并行性提高90倍 • 悲观:(David Wall 1991) • 指令集并行性极限=5(极少>7) • 例:超标量计算机2.0~5.8条指令/周期 • 去除约束条件,DOP=17
小结: 应用程序可经过编译器优化、算法重新设计来提高有效并行性; 但通过抽取并行性而形成“基本程序块”(具有单入口,单出口一个指令序列或指令块),会使原来程序中的潜在指令级并行性局限在2~5倍; 当同时用多台处理机开发超过基本程序块界限的并行性时,有些科学计算程序的DOP可高达数千。
渐近加速比 Δ—单处理机计算能力 W—运行工作量,当DOP=I时,Wi=iΔti 单处理机上(顺序运行),Wi的运行时间ti(1)=Wi/Δ k台处理机上,Wi的运行时间ti(k)=Wi/kΔ 无穷多台处理机上,Wi的运行时间ti(∞)=Wi/iΔ (1≤i≤m) 响应时间:T(1)= ∑ti(1) (1≤i≤m) =∑Wi/Δ T(∞) = ∑ti(∞) (1≤i≤m) = ∑Wi/iΔ 渐近加速比S∞=T(1)/ T(∞) 理想加速比S∞=A,即平均并行性。考虑开销,S∞≤A (渐近加速比、固定负载加速比)
3.1.2 调和均值(harmonic mean)性能 一个n台PE的并行计算机系统,以不同性能级别、不同模式执行m个程序。要用“加权分布”方法,确定多模式计算机的“平均性能”,即“性能表达式”。 调和均值性能是通过大量程序以不同模式运行所显示的平均性能。 James Smith (1988) 算术平均性能表达式 几何均值性能表达式 调和均值性能表达式,调和均值加速比,Amdahi定律
算术平均性能(arithmatic mean)表达式 设{Ri}为程序i=1,2,…,m 的执行速率 算术均值执行速率Ra=∑Ri/m (1≤i≤m) 加权算术均值执行速率Ra*=∑(fi*Ri) (1≤i≤m) 其中分布加权(fi,i=1,2,…,m) 上式表明:算术均值执行速率 与执行时间倒数之和成正比, 而不是与执行时间之和成正比。 所以,Ra 不能代表基准程序实际执行时的真正耗时
几何平均的特点:在对各种机器性能比较进行性能规格化过程中,不论取哪一台作参考机,均能保持比较结果的一致性。几何平均的特点:在对各种机器性能比较进行性能规格化过程中,不论取哪一台作参考机,均能保持比较结果的一致性。
几何均值性能(geometric mean)表达式 • 与算术均值性能类似: • 几何均值执行速率 • 加权分布几何均值执行速率 • 几何均值执行速率不是全部实际性能之和,它与总时间没有倒数关系。 • 几何均值性能表达式用于设计的机器与参考机器规格化后性能的比较。
调和均值性能(harmonic mean)表达式 • 程序i的每条指令平均执行时间:Ti=1/Ri • 每条指令的算术均值执行时间:Ta=1/m∑(1/Ri) • 对m个基准程序的调和均值执行速率:Rh=1/Ta • 分布加权调和均值执行速率:Rh*=1/ ∑(fi/Ri) • 表明:最接近实际性能的一种表达式。 • 因为,该表达式对应“总时间除总操作数(集中在一个单位时间内)”
调和均值加速比 • 定义:若程序(一个程序或多个程序组合的工作负载)使用i台PE,则称程序以模式i运行,相应的运行速率Ri则表示i台PE的“群体速度” • 设给定程序以加权分布{f, i=1,2,…,n} 的n种执行模式运行,则加权调和均值加速比可表示为 • S=T1/T*=1/(∑(fi/Ri), • 其中T*= 1/Rh* 是对n种执行模式的加权算术均值执行时间
四种加速比曲线比较(Hwang & Briggs,1984) • 例3.2 图3-2 • 理想情况(虚线):设Ti=1/i (i=1,2,…,n) • 即i台PE在最短时间内完成一个单位时间作业(也即i台PE全部被利用,无空闲),执行速率将从Ri=1增加i倍,即Ri=i • 三种概率分布对应三种处理机应用模式。 • 设加权调和均值加速比S=∑i (1≤i≤m) • (1)对n种模式均匀分布对应(1/n,1/n,.,1/n) • (2)有利于使用多PE(1/s,2/s,…,n/s) • (3)有利于使用较少PE(n/s,(n-1)/s,…,2/s,1/s)
Amdahl(阿姆达尔)定律 定性说明: 在计算机系统结构设计中,需要平衡各功能部件之间的速度,为此IBM360系列机主要设计者Amdahl提出了一个反映部件速度与系统整体性能关系的定律。 该定律指出:系统中对某一部件采用某种更快执行方式所能获得的系统性能改进程度,取决于这种执行方式被使用的频度,或所占总执行时间的比例。 也就是说:该定律实际上定义了采用增强(加速)某部分功能处理后可获得的性能改进或执行时间的加速比。
定量分析: 若以To表示采用增强功能措施之前完成某一任务所需的时间, 而以Te表示采用某种增强功能措施后完成同一任务所需的时间, 以fe表示可采取增强功能措施的部分的使用频度(0≦fe≦1), 而以re表示采用增强功能措施比不采用增强功能措施可加快执行的倍数。 则性能(或时间)加速比Sp可用以下公式表示: Sp=To/Te=1/(1-fe+(fe/re)) 说明: 该公式分母中的1-fe表示不可增强性能部分:显然当fe为0,即没有增强性能的部件时,Sp为1。当re→∞,分母中fe/re项趋向于0,此时Sp=1/(1-fe)。因此,可获得性能改善的极限值受fe值的约束。 根据本定律,在采用措施提高计算机系统的速度时,应当首先提高使用率最高的部件的速度。这已成为计算机系统设计的一条基本准则。 在确定计算机软硬件界面时,也应该按照这个准则,将使用频率高的功能用硬件实现,其余功能用软件实现。
Amdahl(阿姆达尔)定律 形式表示: 设执行速率Ri=i,加权分布概率=(,0,0,…,0,1-) 即1=, n= 1-,而i≠1与i≠n时, i=0 物理意义:系统不是用于概率为的一台处理机纯顺序模式,就是用于概率为1-的n台处理机完全并行模式。 其加速比表达式:Sn=n/(1+(n-1) ) 当n时,S1/.即在上述概率假设条件下,不管采用多少台处理机,可达到的最好加速比的上限是1/ 本定律指出:只要存在串行因子,系统性能就不可能高。 图3-3中, =0.9,说明几乎都是串行,即使处理机用1024个,其加速比仍然很低。
3.1.3 效率、利用率、质量 这些是评价并行计算的参数,在实际应用中常常将这些性能因子折中。 (1)系统效率E(n): 设O(n)--n台处理机系统完成总的单元操作数 T(n)--用单位时间步表示的执行时间 则 单处理机系统 T(1)=O(1) 加速比因子 S(n)=T(1)/T(n) n台处理机系统的系统效率 E(n)=S(n)/n =T(1)/(nT(n)) 因此1S(n)n,所以1/nE(n)1 实际所达到的加速比性能程度与其最大值之比。 效率最低:单处理机按顺序执行全部程序代码; 效率最高:n台处理机在整个执行过程中全部被利用。
(2)冗余度和利用率 并行计算的冗余度R(n): n台处理机完成总的单元操作数O(n)与单处理机完成总的单元操作数O(1)之比: R(n)= O(n)/O(1) 表明:软件并行性与硬件并行性之间的匹配程度。 并行计算的系统利用率U(n): U(n)=R(n)n =O(n)/(nT(n)) 表明:并行程序在执行过程中资源保持在“忙”状态下 的百分比。
(3)并行性的质量Q(n): 并行计算的质量Q(n)与加速比S(n)和效率E(n)成正比,而与冗余度R(n)成反比。 Q(n)=(S(n)n)/R(n) 图3-4 理想的工作负载和性能曲线
总结: 加速比S(n):表示并行计算的速度增益程度; 效率E(n):衡量n台处理机所完成总工作量的有用部分; 冗余度R(n):衡量工作负载增加的程度; 利用率U(n):表示并行计算中资源被利用的程度; 质量Q(n):把加速比、效率和冗余度所产生的效果综合成一个表达式来评价计算机系统上并行计算的相对性能。
3.1.4 标准性能测量 • 计算科学四大部分之一: • 系统结构(体系结构) • 系统软件 • 算法及程序设计 • 性能评测 • 性能评测的二个部分 • 评估-原始数据进行逻辑推算:MIPS,TP,PDR…. • 测试-度量计算机系统性能(基准测试程序):SPEC….
TP-理论峰值,一般生产制造商提供 • 主频 • 每机器周期的结果数 • 处理机个数 • 三个参数之积 • 以自强2000为例: • Intel 处理机单片有 • 四条浮点操作流水线 • 二条整数操作流水线 • 一条混合流水线 • 可以组合:以四条计算:PIII500MHz • 则 TP=500X4=20亿次/秒浮点操作
PDR-数据处理速率 L-加权平均的每条指令传输的位数 R-加权平均的每条指令的时间
测试组织与测试程序 LINPACK-以求解密集线性代数方程组的程序包 国际科学与工程计算标准应用软件包:BLAS、BLACS、ATLAS、LAPACK、ScaLAPACK SPEC-全部选用实际的应用程序,提供标准、公正,并可在各种硬件结构间进行高强度计算性能比较的方法。
TPC(Transaction process performance Council) • 事务处理性能测试委员会: • 事务吞吐量:当系统执行Payment,Order-Status,Delivery,Stock-level等四种类型的事务时,每分钟可完成多少New-Order事务。 • 性能价格比:涵盖用户可能购买的各种系统环境的所有价格因素(硬件、软件、3年维护费用) • TPC-C:OLTP测试标准 • TPC-D:决策支持系统测试标准 • TPC-W:基于Web的测试标准
3.2 并行处理的应用 3.2.1 开发重大挑战性的大规模并行性 高性能计算技术,是各国加强国防建设和国家安全的重要手段,是解决人类21世纪面临的科学技术 “巨大挑战”(Grand Challenge)问题的必要工具;它是衡量一个国家实力的重要标志。 国防建设: 核爆炸的计算机模拟;飞行物设计(波音777的计算机模拟)等等; 国家安全:国家和军用机密通信的加密和解密; 科学技术21世纪的巨大挑战: 海洋流体循环计算、药物分子结构计算、 遗传基因研究计算、天体N-Body问题等等; 社会经济:宏观经济调控的复杂系统的解算
开发大规模并行性 • 指令级和过程级中所包含的并行性比较有限,以每个机器周期从同一程序成功执行二条以上指令。 • 数据并行性比指令并行性高得多。数据并行性指对一大组数据(操作数)执行同一操作(指令或程序)的情况。 • 已经在流水线向量处理机、SIMD阵列机等实现。
3.2.2 并行计算机的应用模型 从“工作负载”(问题规模)与“机器规模”来分析: α曲线: 问题规模s保持不变,效率E随机器规模增大而迅速下降。因为开销h比机器规模增加得快 。所谓“可扩展计算机”,使效率保持在一定要求水平上,按比例增大机器规模和工作负载。(图3-6a、b) γ曲线 α曲线对应Amdahl定律,加速比(效率)有上限 β曲线可以争取
γ曲线: 理想情况。与机器规模n成线性关系的工作负载曲线,即问题规模有线性可扩展性 β曲线: 可以争取的。接近线性关系的工作负载曲线,即问题规模有亚线性可扩展性 曲线: 问题规模按指数增长,超过了资源的限制。表明系统的可扩展性很差。
可扩展性能分析: • 确定对已知问题的并行处理是否能得到预期的性能改善。用以指导MPP设计工作。 • 提高性能而开发并行性,则对“可扩展”做结构、算法之间的折中。 • 系统结构可扩展容易受限: • 通信时延 • 有限存储容量 • 有限I/O带宽 • 有限CPU速率 • 。。。
三种应用模型(图3-6) • 工作负载是不可能无限增加。这些模型受有限存储器、有限IPC容许时延或有限I/O带宽等限制。 • 固定负载模型(对应α曲线/Amdahl定律):最终受通信界限所限制。 • 固定时间模型(对应γ曲线/Gustafson定律):要求程序执行时间固定,不管负载的增长。 • 固定存储容量模型(γ曲线与β曲线之间/受限存储容量定律):
3.2.3 并行算法的可扩展性 • 一种算法只有在实际机器上实现的价格合适时才被认为有效。所以机器可实现的算法都与结构有关,即通信开销和结构约束的影响不能忽略。 • 算法特性: • 确定性与不确定性:不确定性算法一般为NP问题 • 计算粒度:数据项和程序模块的规模 • 并行性分布图:反映利用并行处理的机会,影响并行算法效率 • 通信模式与同步要求:通信模式与存储器访问、PE间通信有关 • 操作均匀性:要完成的基本操作类型(例如流水线适合数据集进行均匀操作) • 存储需求和数据结构:算法选定的数据结构和数据传送模式会影响存储效率
恒定效率概念(Kumar & Row,1987) 通常,算法的工作负载会随问题规模s而增长。一个并行算法在并行系统上实现时,为保持效率E固定,所需的工作负载与机器规模n的相对关系。 设总通信开销h,它是工作负载与机器规模的函数h=h(s,n) 说明: 工作负载是有用计算,开销h=h(s,n)是无用计算。 当问题规模s一定,E随n增大而降低, h随n增大而增加。 当机器规模n一定,h的增长比工作负载要慢。因为效率随问题规模增大而提高。
已知算法:保持恒定的效率,工作负载可能需要对n以多项式或指数规律增长。已知算法:保持恒定的效率,工作负载可能需要对n以多项式或指数规律增长。 不同的算法:可能需要不同的工作负载增长速率,以便在n增加时保持效率不降低。 一般并行算法的恒定效率函数是n的多项式函数,恒定效率函数中n的幂越小,并行系统(包括算法和结构)的可扩展性越大。
3.3 加速比性能定律 • 三种加速比性能模型 • 固定负载模型Amdahl定律(1967):对应α曲线;以工作负载/问题规模固定为基础,最终受通信界限所限制。 • 固定时间模型Gustafson定律(1987):对应γ曲线;解决问题规模随机器规模增大而增加的可扩展性问题,要求程序执行时间固定,不管负载的增长 • 固定存储容量模型Sun & Ni(1993):对应γ曲线与β曲线之间;加速比模型适合于受存储容量限制的可扩展性问题 • 以下从定性角度,讨论其物理意义
3.3.1 Amdahl定律: 将问题规模固定(即计算机工作负载固定),原来在串行计算机上执行的改在并行计算机上执行,执行时间就大大缩短了。追求的目标是获得最短的“周转时间”(体现并行处理的好处) 固定负载加速比 Sn=T(1)/T(n) 表明该工作量在1台处理机上执行的时间与在n台处理机上执行的时间之比 如果考虑开销Q(n), Sn=T(1)/(T(n)+ Q(n)) 开销包括:存储器访问、通信时延、操作系统开销和时延等等。
Amdahl定律假设一个程序的工作量Wi分二部分: W1-顺序部分不随机器规模n而改变,是顺序执行百分比 Wn-并行部分由n台处理机均匀执行,1-是并行执行百分比 表明:由于总工作量是不变的,并行部分在处理机数增加时,每台处理机分到的工作量减少,执行时间Tn=Wn/n缩短,当n很大时,Tn0.而顺序部分则不改变(机器的性能最终由顺序部分来决定)。 显然,可扩展性的瓶颈在顺序部分。 结论:若=0(全部可并行),得到最大加速比Sn=n 若=1(全部串行),最小加速比Sn=1 当n时,加速比极限值Sn1/ 顺序瓶颈问题无法用增加系统处理机数目来解决。 劝阻制造商生产大规模并行计算机 加强开发并行编译器,以降低值 图3-8