收藏 分享(赏)

第五章 系统性能评价1.ppt

上传人:tkhy51908 文档编号:8011230 上传时间:2019-06-04 格式:PPT 页数:68 大小:1.75MB
下载 相关 举报
第五章  系统性能评价1.ppt_第1页
第1页 / 共68页
第五章  系统性能评价1.ppt_第2页
第2页 / 共68页
第五章  系统性能评价1.ppt_第3页
第3页 / 共68页
第五章  系统性能评价1.ppt_第4页
第4页 / 共68页
第五章  系统性能评价1.ppt_第5页
第5页 / 共68页
点击查看更多>>
资源描述

1、1,第五章 并行计算机系统性能评价,2,第一节 引 言,一、基本性能指标,1、硬件性能参数反映并行计算机硬件系统的资源和性能。,硬件性能主要辅助参数:存储系统:主存/Cache容量、页/块大小、关联度等;通信系统:互连网络占用度和网络距离、通信粒度等。,3,2、系统性能参数反映系统的实际性能和性能的可扩展性。,程序参数:问题规模、工作负载、负载不平衡开销、工作集尺寸、通信/计算、通信与同步开销、并行开销等。,影响系统性能因素:硬件参数(结构和速度)、程序参数(算法与编译),及他们间的相互作用(不匹配会影响系统性能)。,4,二、为何进行性能评测,1、购买者需要性能评测的目的有利于选择适合需求的并

2、行计算机种类(应用领域);减少购买并行计算机的投资风险;有助于选择高性能/价格的并行系统(提高投资效益);有利于配置所购买系统的相关参数。,2、设计者需要性能评测的目的能够发现系统设计中存在的问题;有利于合理地进行软/硬件功能分配,提高性能/价格;为体系结构设计的改进与优化提供依据;有利于优化结构-算法-应用的组合,设计高效的算法。,5,三、如何进行性能评测系统性能指标:不同测试者所关心的性能指标种类不同。性能评测层次:机器级、算法级、程序级。,1、机器级性能评测评测内容:CPU及存储器的基本性能;并行与通信开销;可用性、好用性;性能与成本。评测方法:通过测试程序和改变硬件参数测试实现。受益者

3、:购买者和设计者。,回8页,6,2、算法级性能评测评测内容:应用-结构-算法的可扩放性。评测方法:通过测试程序和改变机器规模测试实现。受益者:并行算法的编写者;系统结构的设计者;并行系统的购买者。,回16页,7,3、程序级性能评测评测内容:系统的各种实际性能(针对基准测试程序)。评测方法:通过基准测试程序测试实现。测试程序种类:按生成方式:真实、核心、小、综合程序;按应用类型:科学计算、商业应用、信息处理等;按程序功能:宏观测试程序、微观测试程序。受益者:需要进行多个并行机性能比较的对象。,8,第二节 机器级性能评测,一、 CPU及存储器的基本性能指标 1、CPU性能主要包括并行执行时间(Tn

4、)、速度(Rn)。工作负载(W)、顺序执行时间(T1)为CPU性能评测的参数。,工作负载:计算量与具体应用程序及相关算法有关。可用顺序执行时间、指令数目和浮点运算数表示。,并行度DOP:并行机能够同时执行的最大进程数。,顺序执行时间:,转5页,转3页,9,并行执行时间:Tn=Tcomput+Tpara+Tcomm,最大并行度Nmax:Tn=T时n的最大值。最大并行度主要用于评测并行算法好坏。,速度:Rn=W/Tn,主要用于衡量系统的实际处理速度。,转3页,10,2、存储器性能存储器层次结构:,各层性能参数:容量C、延迟L、带宽B。相关参数:存储粒度、一致性粒度、层管理方案等。,影响存储器容量C

5、设计因素:与主流应用的进程数及各进程工作集尺寸等有关。,影响存储器延迟L设计因素:与CPU指令系统CPI及指令所需数据量等有关。,影响存储器带宽B设计因素:与应用的数据通信量、通信频率和延迟L等有关。,11,二、 并行与通信开销 1、开销来源并行开销:包括进程管理、分组操作、进程查询等时间;通信开销:包括交互(同步、通信)时间。,2、开销量化方法测量的条件:选择测量时使用的数据结构、程序语言及编译器、通信硬件和协议、计时方法等,这些均会影响测量结果。,测量的方法:点点通信乒-乓法、热土豆(又称救火队)法。集合通信很复杂,原则是尽量避免额外干扰。,测量结果的表示:表格法、曲线法、表达式法。,12

6、,3、开销量化并行性开销:特性:并行性开销是分期偿还的;量化:并行性开销远大于浮点计算开销。如POWER2的T进程创建=372000T浮点运算结果:创建的进程必须具有较大的粒度。,点点通信(通信、互斥事件等)开销:量化:测量得到t(m)=t0+m/r相关参数。结果:根据t0与r关系确定最佳m(平衡设计原理)。集合通信(广播、集合、栅障同步等)开销:量化:测量得到t(m,n)=t0(n)+m/r(n)相关参数。结果:根据测量确定使用时机及软/硬件功能分配。,t0是启动时间(s);r是渐近带宽(MB/S),表示传送无限长的消息时的通信速率,13,三、 可用性与好用性 1、可用性指正常运行时间占总时

7、间的百分比。,提高可用性方法:增加MTTF,或减少MTTR。,提高可用性技术:,可靠性(Reliability),可用性(Availability),与服务性(Serviceability) 可靠性平均无故障时间MTTF(Mean Time To Fail),系统失效前平均正常运行的时间; 服务性平均修复时间MTTR(Mean Time To Repair),系统失效后修理恢复正常工作的时间;,14,2、好用性用户使用环境:远程登录+命令行、GUI+X协议、客户GUI+服务器、WEB服务器+浏览器。,用户环境系统的好用性:要灵活、易扩充和易集成;使得用户应用软件的开发与平台无关;不要求用户了解

8、低层系统的实现细节;提供单一系统映像。,用户界面的好用性:实用性提供服务,帮助完成任务;高效性帮助用户方便地获得有用信息;易学习性界面简单、易理解、记忆、常用的风格;交互性提供充分的交互手段;美观性界面视觉效果好。,15,四、 性能与成本 1、成本与价格成本包括原料成本和直接成本。价格包括成本和毛利(含间接成本)及折扣。成本与价格是两个不同、但相关的概念。,2、性能/价格指速度/买价,速度(Rn)通常指实际速度(非峰值速度)。高的性能/价格,并不一定具有好的性能或性能/成本。,3、成本有效性成本有效性反映的是性能/成本,而非性能/价格。通常用利用率表示,利用率(U)指实际速度/峰值速度。,转3

9、页,16,C90、Paragon 和4种NOW系统的性能比较一览表,两台并行机(16个处理器的Cray C90 PVP和256个节点的Intel Paragon) 与由256个RS6000工作站所组成4种NOW系统的性/价比 测试程序系由并行求解常微分方程ODE,注:AM(Active Message)主动消息,17,第三节 算法级性能评测,一、 并行计算性能参数 1、加速比主要反映并行处理相对单处理的性能提高程度。Sn=T1/Tn=Rn/R1,一般而言,1Snn。,性能提高原因:主要在并行化和容量增加方面。性能评测时应能够区分哪种原因带来的性能提高。,影响性能加速比评测的因素 问题规模过大(

10、小)、机器规模(含PE数及PE结构)过大(小)会导致在单(多)处理机上性能失真(如Snn,或Sn1)。问题规模与机器规模相适应,才能准确反映并行性带来的性能提高。,18,2、可扩放性指应用、算法和结构能否充分利用不断增长的处理器的能力/程度。反映算法和体系结构在可扩放性上的好坏。,可扩放性性能指标:参数:问题规模、执行时间、处理器数量、效率、速度等。指标:要求相同处理性能(效率、速度等)时,问题规模等随处理器数增加的程度(越低越好)。,可扩放性研究内容:研究应用需求(问题规模与执行时间)在机器规模(处理器数量和结构)变化时的性能变化规律;研究系统扩放模型,以适用用户应用的扩放需求。研究系统扩放

11、后的性能,评价算法和结构的可扩放性。,19,可扩放性研究目标:*确定解决某类问题时并行算法与体系结构的最佳组合;*分析并行算法扩放后的性能;*对固定问题规模,确定使用的最优PE数及最大加速比;*指导改进并行算法和体系结构。,20,二、应用-结构的扩放模型 1、Amdahl定律:固定负载基本思想:增加PE数量,以提高处理速度。,当n,设:工作负载W=W+(1-)W,为顺序部分的比例,n个PE的固定负载的加速比为:,定律几何意义:,21,引入开销后的加速比:,当n,定律结论:性能加速比受限于顺序瓶颈和平均开销T0;顺序瓶颈无法单纯用增加处理器数量n来解决。,定律含义:对给定工作负载,最大加速比为1

12、/;为获得好的加速比,应使顺序瓶颈尽可能小。,22,2、Gustafson定律:固定时间基本思想:增加PE数量的同时,扩展工作负载,维持性能。,设:扩大后的工作负载W=W+(1-)nW,为顺序部分的比例,n个PE的固定时间加速比:,定律几何意义:,23,定律含义:若扩展工作负载以维持固定时间,则性能加速比是n的线性函数;工作负载扩展到与已扩展的计算能力相匹配时,顺序部分便不再成为瓶颈。,定律成立的关键:工作负载顺序部分W不变,工作负载并行化部分从(1-)W扩展到(1-)nW。,引入开销后的加速比:,注意:平均开销T0也是n的函数,应控制其增长的幅度;工作负载的线性扩展不是问题规模线性扩展。,转

13、上页,24,3、Sun和Ni定律:受限于存储器基本思想:充分利用CPU能力和存储器容量,扩大工作负载。,设:扩大后的工作负载W=W+(1-)G(n)W,n个PE(存储器总容量为nM)的存储器受限加速比:,有三种特殊情况:a.G(n)=1时,相当于固定负载时的情况,即PE扩大n倍时工作负载不变,该加速比与Amdahl定律等效;b.G(n)=n时,相当于固定时间时的情况,即PE扩大n倍时工作负载扩大n倍,该加速比与Gustafson定律一致;c.G(n)n时,相当于工作负载增长速度比PE增长快的情况,该加速比较固定负载加速比、固定时间加速比都高。,回下页,转21页,25,定律几何意义:,引入开销后

14、的加速比:,转上页,26,p/log pSP,加速比经验公式:,对于通信密集类的应用问题,其加速经验公式可参考下式 S = 1 / C ( p ) 其中C(p)是p个处理器的某一通信函数,或为线性的或为对数的。,线性加速的应用问题有诸如矩阵相加,内积运算等,此类问题几乎没有通信开销;对于分治类的应用问题,它类似于二叉树,树的同级可并行执行,但向根逐级推进时,并行度将逐渐减 少,此类问题可望达到p/log p的加速;,27,4、可扩放应用模型 (1)加速比定律比较,如果可用的存储器得到了充分利用,固定时间加速比和受限于存储器加速比非常接近。,28,(2)可扩放应用模型,模式扩放:采用Amdahl

15、定律(固定负载模型)扩放;,至间(含模式)扩放:采用Gustafson定律(固定时间模型)扩放;,至间(含模式)扩放:采用Sun和Ni定律(受限于存储器模型)扩放。,29,三、可扩放性评测标准不同类型(领域)应用,需要不同并行机结构的支持;不同扩放需求,需要采用不同可扩放应用模型;不同并行机的可扩放性能,需要量化评测以便比较。,1、可扩放性评测标准用户关心的性能:执行时间、速度、利用率、成本有效性、性能/价格等。可扩放性的性能指标:参数:等同速度、等同效率、等同利用率;指标:处理器数增加时要求问题规模等增加的程度。可扩放性评测标准:等效率标准、等速度标准、等利用率标准等。,30,2、等效率度量

16、标准 (1)等效率设:W(s)为问题规模s的工作负载(亦可表示为计算时间),效率:,若s不变、增大n时,h(s,n)增大,E减小。,效率越高,并不表示T(n)越小。例:负载为W,系统1的n=3、Tn=0.8T1;系统2的n=2、Tn=1.1T1。,等效率:改变W(s)和n的相对关系,以保持等同的E。,等效率值越小,W(s)对h(s,n)的限制越小;等效率值越小,增大n时,需要增加的W(s)越小。,采用较小等效率时,系统具有更好的可扩放性。,回下页,31,(2)等效率函数,对等式W(s)=Ch(s,n)求解方程,得s=y(n)。,等效率函数:,(a)(b)组合:等效率函数值越小,可扩放性越好。(

17、a)(c)组合:W(s)扩放幅度越小,并不表示效率越低。例:n相同、W2=1.5W1、Tn2=2Tn1,E2=0.75E1。,等效率模型的扩放性好坏依赖于等效率的效率水平(值)。,转上页,为了维持效率,问题规模W随处理器数p变化的函数,称为等效率函数,32,例:两个NN矩阵相乘,W(s)=cN 3,A、B两系统运行时间分别为 、 ,比较E分别保持1/3和1/4时哪个系统具有更好的可扩放性。,(1)对A系统有 ,即等效率函数为对B系统,等效率函数为,当E保持1/3时,A、B两系统具有相同的可扩放性。,(2)对A系统有 ,即等效率函数为对B系统,等效率函数为,当E保持1/4时,B系统比A系统具有更

18、好的可扩放性。,33,3、等速度度量标准,等效率标准特点:可计算出等效函数,用算法复杂性指明可扩放程度;对共享存储等不能解析计算T0的系统不适用。,(1)等速度(等平均速度)速度: Rn=W/Tn,等速度标准特点:通过试验测试手段评测可扩放性。,平均速度:,34,特性:速度与处理器数目呈线性增长关系。,可扩放性公式:,可扩放性特性:值域01。值越大,可扩放性越好。,可扩放性评测方法:测量法软件方法,用控制程序调用应用程序实现;计算法测得平均速度与执行时间关系,再计算实现;预计法用推导可扩放性公式实现。,回下页,35,用公式,计算出(n,n) 值,构成上三角矩阵。,根据矩阵,画出可扩放性变化图。

19、曲线越平坦,可扩放性越好。,转上页,36,第四节 程序级性能评测,一、 性能评测与测试程序 1、性能评测不同测试者关心的机器性能指标不同。机器性能均通过在机器上运行测试程序来反映。测试程序的实现算法影响其性能,应采用具有最佳算法。,2、测试程序不同种类测试程序,能有效反映机器应用于不同领域时的性能。不同级别测试程序,能精确反映机器不同层次的性能。不同测试程序参数,能有效反映机器的扩放性能。采用相同测试程序(基准测试程序),可反映不同机器的相对性能。,37,二、 基准测试程序分类 1、按生成方式分类真实程序、核心程序、小测试程序、综合测试程序。前两种是实际程序,后两种是人为编写的。,2、按应用方

20、式分类科学计算、商业应用、信息处理、网络服务等。,3、按性质与功能分类宏观测试程序、微观测试程序。,主流测试程序:基准测试程序组件。,38,三、 基准测试程序 1、基本基准测试程序Whetstone、Dhrystone、LinPACK、LAPACK、LMBENCH等。 2、并行基准测试程序NPB、PARKBENCH、STAP等。 3、商用基准测试程序TPC系列等。 4、基准测试程序组件SPEC、WinBench等。,39,第五节 如何提高性能,一、 系统性能与并行程序设计 1、系统性能并行计算机的高性能主要通过所运行的程序的高并行处理能力和低通信/同步/管理开销反映。Tn=Tcomput+Tc

21、omm+Tsynch+Tpara,硬件支持:节点高处理能力,通信延迟低、扩放性好;软件支持:OS高效,并行算法高效,通信/计算低。,40,2、并行程序设计设计过程:分为分解、分配、协调、映射四个步骤。分解和分配合称为划分。,基本要点:开拓算法的并发性和可扩放性;优化算法的通信成本和全局执行时间。,41,(1)问题的分解选择最佳算法将问题分解成多个任务。目标:充分开发并行性(含数据和功能并行性)和可扩放性。,并行性描述:用并发性态曲线表示。,加速比:,分解步骤:数据分解(域分解);功能分解(任务分解)。,分解要点:避免数据和计算的复制;使数据集和功能集互不相交。,回45页,42,(2)任务的分配

22、平衡工作负载,将任务分配到进程中。 目标:减少进程间通信量和管理这种分配的开销。即在并行性与通信/同步/管理开销间进行折衷和平衡。,平衡方法:粒度组合、重复计算、降低分配算法复杂性等。,分配方法:静态分配运行时无管理开销,但要求任务可预测;动态分配管理需要一定开销,不要求任务可预测。(并行程序设计内容,不再深入),任务划分(分解与分配)特性:侧重算法性能的分析与设计,独立于程序设计模型和体系结构。,回46页,43,(3)进程的协调利用有效机制实现任务划分阶段的并行算法。(可对任务划分阶段的并行算法重新考察和选择)。,涉及内容:数据结构的组织、进程中数据局部性的开发、显式/隐式通信的选择、消息大

23、小等级、进程间通信和同步的组织与表达等。,特性:侧重算法性能的分析与实现,与编程模型、体系结构及程序本身有很大关系。,目标:保持数据局部性,降低通信/同步/管理开销。,对体系结构的要求:提供适当(高频使用)、高效(硬件实现)的基本操作。,回47页,44,(4)处理器的映射平衡工作负载,将进程映射到处理器上。(并发进程不同处理器,频繁通信进程同一处理器)目标:尽量使各处理器完成任务量或时间均等。,映射方法:a.并行程序将有需求的进程映射(捆绑)到同一处理器上。 b.操作系统将其余进程动态映射(调度)到处理器上。,负载平衡:任务分配阶段减少进程通信、同步、管理时间;处理器映射阶段减少各PE执行时间

24、之差和PE间通信。,对体系结构的要求:为程序和操作系统提供进程调度的相关操作。,45,3、程序并行化与体系结构关系,46,4、并行程序设计例题有限差分方法求解偏微分方程程序 (1)串行程序,int n; float *A, diff=0; main() read(n);Amalloc(n+2,n+2);initialize(A);Solve(A); ,procedure Solve( float *A) int i, j, done = 0;float temp=0;while (!done) diff = 0;for (i = 0, in; i+)for (j = 1, j=n; j+) t

25、emp = Ai,j;Ai,j=0.2*(Ai,j+Ai,j-1+Ai-1,j+Ai,j+1+Ai+1,j);diff += abs(Ai,j-temp);if (diff/(n*n) TOL ) done = 1; ,回下页,47,(2)问题分解功能分解:同一次迭代操作并行,不同次迭代操作串行。,域分解:a.全并行方法,增加了点点同步(开销太大),忽略了格点间关系(迭代次数增加很多);b.反对角线方法,并行性不稳定、全局同步很频繁;,c.红-黑序方法,迭代次数增加23倍,计算量相近;,d.区域方法,如按行、按条(部分行)并行等。,转39页,转上页,48,(3)任务分配任务合并:根据通信/计算

26、和同步结点数分析。,结果:按条(部分行)分配较好(pnTcomm/2Tcomput)。,静态分配方法:有块方式、循环方式等。,动态分配方法:有单向队列、双向队列等。,转40页,回53页,49,(4)进程的协调共享地址编程模型:采用矩阵A共享、共享地址读写通信、显式进程、显示同步等方法。,回下页,转41页,50,int n, nproc; float *A, diff; LOCKDEC(diff_lock); BARDEC(bar1);main() read(n); read(nproc);AG_MALLOC(n+2,n+2);initialize(A);CREATE(nproc-1,Solve

27、,A);Solve(A);WAIT_FOR_END(nproc-1); procedure Solve( float *A) int i, j, pid, done = 0;float temp, mydiff=0;,int mymin = 1+(pid*n/nproc); int mymax = mymin+n/nproc-1;while (!done) mydiff = diff = 0;BARRIER(bar1, nproc);for (i = mymin, imymax; i+)for (j = 1, j=n; j+) temp = Ai,j;Ai,j=0.2*(Ai,j+Ai,j-1

28、+Ai-1,j+Ai,j+1+Ai+1,j);mydiff += abs(Ai,j-temp); LOCK(diff_lock);diff += mydiff;UNLOCK(diff_lock);BARRIER(bar1,nproc);if (diff/(n*n) TOL ) done = 1;BARRIER(bar1,nproc); ,共享地址模型并行程序如下:,转上页,51,消息传输模型:采用各进程只存储部分矩阵A、消息传递通信、显式进程、同步通过消息发送/接收实现等方法。,说明:异步互锁/非互锁通信时才用到SEND_PROBE、 RECV_PROBE。,回下页,52,int n,npro

29、c; float *myA;main() read(n); read(nproc);CREATE(nproc-1,Solve);Solve(A);WAIT_FOR_END(nproc-1); procedure Solve() int i, j, pid, done = 0;int n=n/nprocm;int nsize=n*sizeof(float);float temp, tempdiff,mydiff=0;myAmalloc(n+2,n+2);initialize(myA);,while (!done) mydiff = 0;if (pid != 0) SEND( ,消息传递模型并行程

30、序如下:,转上页,53,二、划分阶段的性能提高多处理器系统的性能:T(n)=Tcomput+Tlocaldata+Tcomm+Tsynch+Tpara,Tcomm=T固有+T附加影响性能的因素:负载平衡、通信开销、划分的额外工作。,1、负载平衡目标:在极小化同步等待时间的前提下,尽量让各进程任务量相近。,步骤:识别足够的并发性、决定并发性的管理方式、确定任务的粒度、降低串行化和同步代价。,(1)识别足够的并发性数据并行性一般随问题规模而扩大;功能并行性则不然。,并行性开发:充分开发数据并行性(nTcomputTcomput);开发功能并行性减少全局同步量(minTsynch)。,54,(2)决

31、定并发性的管理方式有静态分配、动态分配(集中、分布式)、半静态三种。性能比较:主要反映在负载平衡效果、管理代价、通信代价、限制映射方法程度等方面。选择:通常静态分配更可取(Tcomput(Tcomm+Tpara)。,(3)确定任务的粒度并行性粒度与通信/同步/管理开销相矛盾。粒度确定:在并行性与三种开销间折衷(TcomputTcomm)。折衷方法:粒度组合、重复计算、静态分配等。,(4)降低串行化和同步代价影响因素:同步类型、同步粒度、同步次数。措施:采用与同步类型对应的同步方式(最小化参与者数);在同步粒度与同步次数间折衷权衡(开销最小化)。,55,2、减少固有的通信开销优化并行算法,使高频

32、通信任务在同一进程中,并减少进程间通信量或减少通信开销(减少T固有)。,例:区域分解方法有行划分、条状划分、块状划分等。通过计算它们的通信/计算来衡量算法优劣。,结果:按块方法优于按条方法。,注意:进程间通信量与通信代价(PE间通信)概念不同;任务粒度划分可能会影响数据结构组织性能。,转46页,56,3、减少额外的工作额外工作类型:较好的划分算法,增加了算法管理的执行时间;为减少通信代价,增加的冗余计算;为协调并行程序,增加的额外工作,如进程创建、管理和同步指令等。,实现方法:a.权衡计算不平衡代价与划分算法代价;如:尽量采用静态分配方法或半静态方法b.权衡通信代价与冗余计算代价;如:考虑映射

33、阶段将高频通信的进程(少量)映射到同一PE中c.减少进程管理代价Tpara。如:减少进程创建次数,程序维持待处理任务队列,被完成任务的进程所处理,57,三、协调阶段的性能问题,1、多处理器系统性能处理器的存储层次结构:Cache+本地主存+远程存储器多处理器系统的应用性能:T(n)=Tcomput+Tlocaldata+Tcomm+Tsynch+TparaTlocaldata=HTCache+(1-H)Tmem,Tcomm=T固有+T附加改善Tcomput、Tcomm中T固有、Tsynch和Tpara性能主要靠任务划分阶段算法实现。,存储层次结构在协调阶段对并行程序(算法)的要求:有效组织数据

34、结构,改善Tlocaldata(增加H);,开发数据的局部性(时间和空间),改善Tcomm(减少T附加)。注意:T附加取决于PE结构及和并行结构的相互作用,58,2、附加通信原因 (1)并行程序人为产生的附加通信,a.数据存储分配得不好需要访问的数据存储在远程节点。解决:改进程序或算法,采用好的任务分配、数据分布,或显式数据复制等。,b.传送中的非必要数据所用数据为传送(通信)粒度(消息或Cache块)的一部分。解决:考虑减小传送粒度(但T通信=频率(T启动+L数据/B)。,c.数据一致性带来的不必要的传送一致性粒度中未使用的数据的一致性引起的传送。解决:考虑减小一致性粒度(应和存储层次结构的

35、其他因素综合考虑)。,59,d.冗余的数据通信数据使用时间与复制时间不一致引起的数据一致性通信。解决:减少数据使用时间与数据复制时间差。,e.有限的复制能力数据复制数量(多次访问的需要所致)与本地存储容量引起的数据重复传送。解决:考虑增加存储容量。,60,(2)扩展存储层次结构引起的附加通信访问扑空原因:冷启动扑空:数据首次访问引起;容量扑空:有限的复制能力引起;冲突扑空:层次结构的组织与管理引起,如Cache块的数量、关联算法、数据访问模式等;通信扑空:程序固有通信引起(不随结构改善而减少,会因结构原因而增加)及程序产生的附加通信(ad项)引起(会因为结构原因而增加)。,61,冷启动(强迫)

36、通信量,固有的通信,其他和容量无关的通信,复制容量(Cache大小),由于容量不够所产生的 通信量(包括冲突),数据通信量,第一工作集,第二工作集,Cache容量与并行程序数据通信量关系:,并行算法工作集体现出程序数据访问的时间局部性。数据访问的空间局部性主要靠存储容量(MEM/Cache大小)、存储分配粒度(页/块大小)、传送粒度(通信粒度)、一致性粒度等表现。,说明:Cache层次的工作集(拐点)对应程序算法的工作集;其他层次的工作集,还与层次结构的管理有关。,62,3、性能的协调 (1)减少附加通信,a.开发时间局部性:目标-优化程序/算法(改变局部性特征,如工作集)以适合给定的存储层次

37、结构,或扩放硬件配置(如Cache容量等)。,实现-优化分配和协调,减小程序的工作集;将访问相同数据的任务分配到同一进程/处理器;优化算法,优先保证远程数据时间局部性开发。,例:求解偏微分方程时,Cache空间不够存放3行数据,且后援MEM非本地时,时间局部性开发中,处理域可考虑从按条处理改变成按块处理。,63,b.开发空间局部性:目标优化程序/算法(改变局部性特征,如传送粒度),以适合给定的存储层次结构,或优化硬件结构(如一致性粒度)。,实现开发较大的传送粒度:T通信=T启动+T网络+L数据/B增大传送粒度,减少T启动+T网络在每字节中的分摊量;离处理器越远,传送粒度越大(保持总体频带平衡)

38、。,同一PE数据在空间上靠近,不同PE数据分开:原因:空间局部性和存储分配粒度不匹配。方案:改善数据空间局部性特性,使之适应存储层次结构特性。,64,例:偏微分方程空间局部性与存储分配粒度,使存储分配粒度和一致性粒度相对较大:从分摊通信代价与硬件代价考虑的结果;满足空间局部性随W和n变化的需求。结果:不同存储层次的存储分配粒度不同;一致性粒度一般不会很大,应与T附加权衡。,采用全相联映像解决部分冲突扑空:全相联产生的代价远小于通信的代价。,65,c.附加通信与固有通信之间的权衡固有通信在任务划分阶段产生,其实现在协调阶段可能产生大量附加通信,两者间应在性能、代价方面充分权衡。,例:偏微分方程程

39、序的域分解,究竟应采用块划分还是条划分?条划分:固有通信略大,附加通信小(代价随存储层次结构改善明显减小);块划分:固有通信略小,附加通信大(代价随存储层次结构改善不明显)。测试结果:条划分性能优于块划分。算法选择是附加通信与固有通信之间的权衡。,66,(2)通信结构化来减少通信代价a.通信结构性能参数:通信模式、消息大小、通信突发程度、通信代价、通信与其他工作的重叠程度、通信模式与互连网络的匹配程度。,b.通信代价:,c.通信结构化:目标-减少通信量nc、降低通信开销mt0、降低延迟mtl、降低资源冲突mtc、增加通信与其他工作的重叠toverlap。实现略(参见David E. Culle

40、r的并行计算机体系结构)。,67,4、协调的性能分析 (1)存储层次结构性能参数容量、一致性粒度、关联度、存储分配粒度、层次管理方式等。,(2)数据局部性开发方法时间局部性开发:相同数据在同一进程,优先远程数据访问局部性开发,数据处理方法与存储层次结构特性相适应。,空间局部性开发:同一PE的数据尽量靠近,大的传送粒度,充分利用存储层次结构的特性。,68,(3)影响并行程序性能因素T(n)=Tcomput+Tlocaldata+Tcomm+Tsynch+Tpara, Tcomm=T固有+T附加,影响Tcomput因素:分解算法、任务粒度、操作串行化程度、负载平衡与通信/同步代价的权衡(冗余计算);,影响Tlocaldata因素:存储层次结构、数据局部性开发;,影响T固有因素:分解算法、任务粒度、负载平衡与通信代价的权衡(有利因素)、附加通信与固有通信的权衡;,影响T附加因素: 数据结构组织、数据局部性开发、传送粒度、存储层次结构、数据局部性与存储层次结构的相互作用、固有通信与附加通信的权衡;,影响Tsynch因素:负载平衡、同步处理机制性能及应用;,影响Tpara因素:并发管理方式及任务管理的额外工作。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报