论文部分内容阅读
性能是软件系统最重要的属性之一。如果系统无法达到预期性能,就要长时间进行调优,甚至导致项目最后以失败告终。目前,针对不同硬件体系结构,并行构件应用程序的执行性能可能差异很大。导致这种现象的原因很多,但应用问题本身的复杂性和并行应用开发模式是关键因素。因此,需要针对并行应用的新需求以及不断出现的多种硬件体系结构,提出新的并行构件处理方法,建立相应的性能模型对并行构件应用程序性能进行评测进而优化并行程序。
为此,本文提出了一种改进后的性能模型。该性能模型是高性能计算环境下基于构件技术CCA(Common Component Architecture)的性能模型。该模型利用外部性能构件(TAU构件、Mastermind构件、Proxy构件)可以测量用户所关注并行构件的执行时间。本文在该模型中引入了并行构件的自适应选择过程与构件属性,进而可以找到最优的执行路径。在实际测试过程中,本文利用整合了语言互操作工具BABEL和CCAFFEINE运行框架的构件工具BOCCA,对分子动力学模拟程序(XMD)进行了并行构件化。本文在已有的并行构件应用程序中加入性能模型,监视所关注的构件,收集构件的性能数据并存储于本地的属性文件中。当再次运行并行构件时,读取本地属性文件并根据对应的数据选择最优的并行构件来运行整个程序。同时,本文在不同的硬件环境多种输入数据规模的情况下对该并行构件的性能进行了评测与分析,总结出了该并行构件执行时间的经验公式以及加速比等构件属性。这些属性可以提供给并行构件的资源管理模块。实验证明,本文提出的性能模型能够较为准确地对构件性能进行测试,选择执行性能最优的并行构件并可为并行构件的资源分配提供可靠的性能依据。