一种并行系统性能的形式化分析方法

文档序号:9750699阅读:518来源:国知局
一种并行系统性能的形式化分析方法
【技术领域】
[0002] 本发明涉及并行系统性能分析领域,特别涉及一种基于赋时着色Petri网计算模 型的并行系统性能持续提升方法。
[0003]
【背景技术】
[0004] 作为解决大规模计算问题的重要手段,高性能计算技术被越来越广泛地应用到科 学与工程的各个领域。然而,随着高性能计算机规模的不断扩大,系统峰值性能的迅速提 高,应用程序的持续性能并未获得同比例的提高,两者间的差距日益扩大。因此,如何发现 系统性能瓶颈,提高系统持续性能成为高性能计算研究领域急需解决的重点问题。
[0005] 目前常用的并行系统(并行程序+并行机)性能分析方法主要有:测量法和模型 法。
[0006] (1)测量法 可采用的标准商用性能测试软件有UNPACK (为Top500排名提供性能参数根据)、SPEC Benchmark suite、NAS Parallel Benchmarks 和 Streams benchmark 等。这些测试程序虽 然在一定程度上反映了实际应用的负载特征,但实际负载的多样性,使得Benchmark很难 匹配所有负载特征。例如,UNPACK能较为准确地得到密集型矩阵运算应用的性能,但它却 不适合于测量科学计算任务中常见的其它负载特征的应用性能,如稀疏矩阵运算模型、不 规则mesh结构运算模型、自适应优化mesh结构运算模型等。Benchmark负载特征与实际应 用负载特征的不一致性,导致了用Benchmark不能准确地测量出系统的实际性能。
[0007] 另一种常用的性能测量法是通过测量设备直接从系统中测得各项性能指标或与 之密切相关的量,然后由此经过运算求出相应的性能指标值。设备测量可以准确提取系统 和负载参数,辅助系统模型和负载模型的建立。此外,在多数情况下,因为实际测量法的结 果是准确的,可以用这个结果来验证其它性能预测方法的准确性。
[0008] 性能测量法属事后验证法,只适用于已经存在并运行的系统,周期长、代价大,不 适合大规模复杂科学计算任务的开发。
[0009] (2)模型法 该方法需要首先为待评价的并行系统建立一个适当的模型,然后求出模型的性能指标 值,以便对系统进行性能评价。模型中一般包括许多参数,这些参数的确定通常依赖于对实 际系统的测量结果或对系统参数的估计。与测量法相比,模型方法不仅可以应用于已有的 系统性能评价,也可以应用于尚未存在系统的性能预测,而且这种方法工作量小、代价低。 [0010] 伊利诺伊大学为BlueGene/C开发的并行模拟器BigSim,加州大学COMPASS项目的 MPI-S頂,国防科大为预测MPI程序在多核SMP集群上的性能而设计实现的Sim-MSC等,均 采用程序动态模拟系统硬件配置和工作负载,通过负载驱动系统模型从而得出模型的性能 指标。这种模拟技术在性能评价的代价、时间和灵活性之间有较好的平衡,但作为大规模并 行系统的性能评价工具,性能模拟器设计、实现的代价高,模拟器评价时间过长。为此,可采 用应用数学理论与方法,适当简化模型参数,来研究、描述性能与并行、并行应用之间的关 系,以弥补性能模拟器的不足。
[0011] 以上这些技术在并行系统性能分析过程中各有优势,比如,在系统设计早期,不存 在可运行的完整系统,无法使用测量计算进行分析,只能通过性能模型分析方法来预测系 统性能。而随着系统实现的推进,可用组件逐渐增多,因此可以使用模拟器或Benchmark评 价系统性能。最后,当系统完全实现,就可利用实际测量技术评价系统性能,并用结果验证 其他分析技术的正确性和有效性。
[0012]

【发明内容】

[0013] 本发明解决的问题是现有并行系统性能分析方法代价高、效率差;为解决所述问 题,本发明提供一种并行系统性能的形式分析方法。
[0014] -种并行系统性能的形式化分析方法,包括: 步骤一、建立并行程序性能模型和并行机模型; 步骤二、在并行程序性能模型和并行机模型之间建立映射关系,形成并行应用性能模 型,进行并行系统性能分析。
[0015] 进一步,所述并行程序性能模型包括程序控制流模型,线程通信模型,并行应用性 能模型;所述并行程序性能模型基于赋时着色Petri网建立。
[0016] 进一步,还包括对所述并行程序性能模型进行验证: 步骤1.1、将并行程序性能模型按功能模块进行划分,即模型/^…忍},巧为第 i个功能模块,对/?中的各功能模块分别建模; 步骤1. 2、根据/?的数据规模,确定尸,包含的进程数量/7,即尸,= {A7,,/··&},&为 A中的进程,分别建模; 步骤1. 2. 1、/。中串行执行部分按照预设的并行系统性能分析方法的程序分支结构模 型和循环结构模型对程序的控制流建模; 步骤1. 2. 2、/。中的通信部分,分析消息的源进程和目标进程,按照预设的并行系统性 能分析方法的程序通信方式模型建立通信模型; 步骤1. 2. 3、根据中的数据类型,确定集合中的元素; 步骤1. 2. 4、将/^中的事件或动作转化为变迁b,然后根据变迁b的功能,定义变迁 函数/^,计算。触发后,标识的变化; 步骤1. 2. 5、计算7^.,得到变迁b触发延迟; 步骤L 2. 6、若/^中的所有进程建模完毕,则转St印3,否则转St印2. 1 ; 步骤1. 3、当/?的/卩7均建模完毕,则将各功能模块模型按照同步合成法进行组合,形 成完整算法的P模型; 步骤1. 4、若得到的P不是安全网,做适当地改造,将受控网改造为相应的安全网。 [0017] 进一步,步骤二中,进行系统性能分析包括: 步骤2.1、并行度计算; 步骤2. 2、负载平衡计算; 步骤2. 3、系统运行时间计算; 步骤2. 4、资源利用率与操作执行频率计算。
[0018] 进一步,并行度计算包括:片段集合/(/^) = ΙΛ,Λ,"·Λ}= v 是程 序办的所有可能的片段集合,其中也5?表示在标识#下活跃的进程,^(/切是并行程序 办性能模型的可达标识集合,若沁是办的初始状态,则必'(/如)4?) ; ρ Λ p是片段乂 的大小,乂中进程个数,并行程序办的最大并行度为#_ 。
[0019] 进一步,负载平衡计算包括:对于::%卩_&·,,表示在稳定状态下, 库所胃在任一可达标识中平均含有的《数,则

勺各节点进程库所集合中平均 数之和。
[0020] 进一步,系统运行时间计算包括:
,其中,
得 pig A&为等效计算量,&为等效计算速度,4 $,&和I分别是等效数据访问量 Mr Jir, 和等效数据访问速度。
[0021] 进一步,资源利用率与操作执行频率计算包括:利用toh/v估算资源爵的利 用率,当A属于某个子进程时,可以把
[ft为进程任务队列长度,进而 分析进程响应时间和吞吐量;"iir的触发概率是能使?触发的所有标识的稳定概率之和, 艮口,其中,您(0是指能使(触发的所有可达标识集合。
[0022] 进一步,还包括:确定并行系统性能分析,步骤3. 1、计算节点关键性能影响因素 的计算;步骤3-2,通信网络关键性能影响因素的计算;步骤3-3,并行应用性能度量参数的 计算。
[0023] 进一步,还包括: 步骤1. 1. 1 :初始化所有集合为龙; 步骤1. 1. 2 :根据定义3. 28建立P模型的关联矩阵6;; 步骤1. 1. 3 :/br i=l~a?判断每个/7,的类型; 步骤1. 1. 3. 1 :若约e OP ,检查C第i列中" 1 "和"-1 "的个数,若各位1,则满 足定义4. 7 (1)和(2),否则尸俗=尸; 步骤1. 1. 3. 2 :若A e $巧,检查C第i列中" 1 "和"-1 "的个数,若都为X,则满足定义 4· 7 (3 ),否则尸/5=尸/袖 Ια.}; 步骤1. 1. 3. 3 :除以上类型外的Α.,若C第i列中"1"和"-1"的个数都为1,则满足定 义4. 7 (4),否则尸/5=尸/袖{^}; 步骤1. 1. 3. 4 :若朽e 5巧》u Λ片:=0,则屬〇=屬中h.}; 若e BP,J BPc ?\' -Pi = 0 ,魏 LMP = LMA [ph ' 若巧e uλ|片|关|>;|,则嫌尸=嫌尸6{^}; 步骤1. 1. 4 :/br 判断每个G的类型; 步骤1. 1.4. 1 :若,检查C第J行中"1"和"-1"的个数是否分别为x和1,若 是,
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1