论文部分内容阅读
在软件体系结构(SA)设计阶段进行性能评估可以尽早的发现性能问题,进而可在软件生命周期的早期达到性能优化的目的。针对传统应用SA层性能优化,人们已经提出了基于规则和基于元启发两种自动化优化方法。已有的基于规则的方法大多未充分考虑优化过程中各规则的使用次数、使用顺序和改进幅度的不确定性,导致了搜索空间受限而难以获取更优性能的改进方案;元启发方法在演化优化过程中由于混合编码及性能评估耗时长,导致解质量不高和优化时间长。针对云应用SA层性能优化,人们提出分两阶段的优化方法。云应用软件体系结构层性能优化中,响应时间约束的求解是一个高计算代价操作,致使整个优化过程比较耗时。针对上述问题,本文研究基于代理模型的SA层性能优化。本文研究内容如下:(1)提出一种基于代理模型的传统应用SA层性能优化方法TSAPO。该方法首先构建一种可有效增大搜索空间的优化模型MOM4SAO;然后设计求解该模型的差分演化优化算法DESM4PO。该算法采用多种交叉和变异策略,并运用代理模型预估系统响应时间值,以提高解质量并降低优化时间。(2)提出一种基于代理模型的云应用SA层性能优化方法CSAPO。该方法首先定义一种云应用SA层性能优化模型CAPOM。该模型可以增大搜索空间,为搜索最优性价比的云资源使用方案提供支持;随后提出了一种云应用SA层性能优化算法MODE4CA,通过使用代理模型预测高计算代价的响应时间约束以高效地求解CAPOM模型。(3)设计一种SA层性能优化框架。该框架采用分层架构,封装了传统应用和云应用SA层性能的评估、预测和演化优化等业务逻辑,为传统应用和云应用SA层性能自动优化提供有效支持。(4)将本文中的方法TSAPO与基于元启发的PCM方法在4个不同规模的案例上开展了实验对比研究。实验结果表明:TSAPO方法在贡献度、世代距离和超体积3个解质量的度量指标上显著性优于PCM方法,并有效降低了优化时间;将本文中的方法CSAPO与两阶段Ardagna方法在2个不同规模不同负载的案例上开展了实验对比研究。实验结果表明:CSAPO方法较Ardagna方法可获得性价比更高的云资源使用方案。