基于生成式对抗网络的软件系统性能优化方法技术方案

技术编号:20448558 阅读:40 留言:0更新日期:2019-02-27 02:49
本发明专利技术公开的一种基于生成式对抗网络的软件系统性能建模与优化方法,主要解决现有技术时间成本高,训练难度过大,训练网络容易崩溃且优化空间有限的问题。其实现方案:1)获取软件系统的特征样本集合;2)固定硬件环境,配置软件系统,根据其特征样本集合进行性能测试,获取吞吐量或者时间延迟,并对其进行预处理,再依次进行独热编码和归一化,得到结构化数据;3)在每次迭代开始时,均从上一步的结构化数据中随机选取一半作为训练样本,对生成式对抗网络进行迭代训练,得到优化样本;4)对比训练样本和优化样本的性能,验证优化效果。本发明专利技术降低了时间成本,提高了网络健壮性和稳定性,优化效果明显,可用于互联网、大数据的处理。

Performance optimization method of software system based on generative countermeasure network

The present invention discloses a method for modeling and optimizing the performance of a software system based on a generative countermeasure network, which mainly solves the problems of high time cost, great training difficulty, easy collapse of the training network and limited optimization space of the existing technology. Its implementation scheme includes: 1) acquiring the feature sample set of the software system; 2) fixing the hardware environment, configuring the software system, testing the performance of the software system according to the feature sample set, acquiring throughput or time delay, and preprocessing them, then unithermal coding and normalization in turn, to obtain structured data; 3) at the beginning of each iteration, from the structured data of the previous step. Half of the training samples are randomly selected to train the generative countermeasure network iteratively, and the optimized samples are obtained. 4) The performance of the training samples and the optimized samples is compared to verify the optimization effect. The invention reduces the time cost, improves the robustness and stability of the network, has obvious optimization effect, and can be used for processing the Internet and large data.

【技术实现步骤摘要】
基于生成式对抗网络的软件系统性能优化方法
本专利技术属于计算机
,特别涉及一种对软件系统的性能优化方法,可用于互联网、大数据的处理。
技术介绍
当下,在互联网、大数据高速发展的时代,随着数据量的日益增大,如何在硬件系统一定的条件下,优化软件系统的性能,已经被广泛讨论。目前流行的一些分布式软件系统包括Spark、Hive、HBase和Kafka等。因而,对各种软件系统如何进行精细化性能建模与优化仍然是工业界和学术界的热点问题。深圳先进技术研究院所在其申请的专利文献“一种数据感知的Spark配置参数自动优化方法”(申请号:201611182310.5申请日期:2016.12.20公开号:CN106648654A)中公开了一种数据感知的Spark配置参数自动优化方法。该方法通过选定Spark应用程序,进一步确定上述应用程序中影响Spark性能的参数,确定上述参数的取值范围;在取值范围内随机生成参数,并生成配置文件配置Spark,配置后运行应用程序并收集数据;将收集的Spark运行时间、输入数据集、配置参数值数据构成横向量,多个向量构成训练集,通过随机森林算法对上述训练集进行建模;使用构建好的性能模型,通过遗传算法搜索最优配置参数。该方法存在的不足之处是,需要在实际环境上评价每个配置对分布式内存计算框架Spark集群性能影响力,作为随机森林模型的训练集,浪费大量时间成本。北京航空航天大学在其申请的专利文献“一种基于复杂网络理论评估软件系统可靠性的方法”(申请号:201810088519.8申请日期:2018.1.30公开号:108255733A)中公开了一种基于复杂网络理论评估软件系统可靠性的方法。该方法通过确定软件的抽象层次,确定复杂网络模型中的节点,然后对软件的源代码进行解析,提取相应的节点以及节点之间关系,构建复杂网络模型,再对软件的复杂网络模型进行静态分析和动态模拟分析,计算模型的宏观与微观的静态参数以及动态性能参数,最后根据静态计算以及动态分析的结果对软件的可靠性进行评估,即可以完成对基于复杂网络理论评估面向过程编程的软件系统可靠性的方法的构建。该方法存在的不足之处是随着复杂网络拟合效果的提升,其网络复杂度也在提升,训练难度提升,导致网络容易出现崩溃等问题。因此,对于软件系统的性能优化,尚且存在一些问题,包括思路固化老化,无法避开用各种方法求解各个特征对最终性能权重的传统方法,创新层面上进步不大。同时,由于方法在根本思路上的一致性,导致在性能的改进上无法取得较大的进展,遭遇瓶颈。在使用传统机器学习方法时,由于需要样本量过多导致算法的时间成本过大。或者在使用一些新式的机器学习算法时,比如复杂网络,虽然能取得较好的结果,但却难于训练,易于崩溃,不适用于一些实际场景。
技术实现思路
本专利技术的目的在于针对上述现有技术的不足,提出一种基于生成式对抗网络的软件系统优化方法,以在保证训练拟合度较好的前提下,降低网络的复杂度,扩展适用场景,大幅度降低训练难度,节约时间成本。为实现上述目的,本专利技术的技术方案包括如下:(1)获取样本特征集合:(1a)根据软件系统的官方配置文档,得到所有可配置参数,筛选并删除对软件性能无影响的参数;(1b)将筛选留下的参数按照官方给出的重要性程度进行排序,再次删除对性能影响程度特别小,且对性能预测没有意义且完全可忽略的参数,得到样本特征集合;(2)在服务器内安装软件系统,根据步骤(1)获取的样本特征集合,搭建软件系统的实际运行环境,随机取不同的参数值,得到多组样本特征,通过对样本特征测试,获取每一组样本对应的软件系统吞吐量或者时延数据,得到实验样本集合;(3)遍历步骤(2)得到的实验样本集中的所有参数,对其中属于枚举变量的参数进行独热编码,并将所有的变量进行归一化,产生能够进行模型训练的结构化数据集合;(4)选择训练样本:4.1.对得到的多组结构化数据按照吞吐量或者时延值进行排序,根据实际需求,选取若干数量的最好样本特征进行迭代训练;4.2.每次迭代过程中,再从上一步选择的样本中随机且不重复选择一半数量的样本特征,作为训练样本,并打乱顺序输入到生成式对抗网络中,以保证训练样本的多样性和可靠性。(5)训练生成式对抗网络:5a)在第一次迭代训练开始时,输入选择好的训练样本x,使用生成式对抗网络中的生成网络模型G,产生与训练样本维度一致的生成样本z;5b)将训练样本x和生成样本z一起输入对抗网中的判别模型D中,得到判别模型D对训练样本x真实性的判别概率Ex和生成样本z真实性的判别概率Ez;5c)根据5b)的两个判别概率通过下式对生成模型G和判别模型D进行修正:其中,V表示系统性能;5d)开始第二次迭代,重复5a-5c,不断优化生成模型G和判别模型D,直至达到预先设定好的迭代次数,得到最终的优化样本;(6)生成式对抗网络效果验证:将通过生成式对抗网络模型得到的优化样本在软件系统上进行测试,得到优化样本的吞吐量或者时延值;将优化样本与原始训练样本的吞吐量或者时延值进行对比,得到生成式对抗网络模型对软件系统的性能优化效果。本专利技术具有如下的优点:1)本专利技术通过使用一种基于两个网络对抗训练的方式进行优化,打破了原有软件系统性能优化方法的固有思路,使用一个网络进行模拟生成特征配置,另一个网络判断性能好坏,并交替迭代进行这两个过程的方法来进行优化,结果良好,同时由于两个网络均使用三层全连接网络,易于训练。2)本专利技术通过设计一种基于深度学习的网络,并通过独热编码的方式将所有特征数字化,可以输入网络进行训练学习,且考虑到所有特征之间相互影响的关系,得到考虑较为全面的结果。3)本专利技术通过实验样本每次随机选择一半样本特征的方法,保证了训练样本的多样性和随机性,也可以保证样本的质量。同时,由于避免通过大量实验获取大量样本的过程,最大限度地节约了时间成本。附图说明图1是本专利技术的实现流程图;图2是本专利技术中生成式对抗网络内部逻辑的子流程图;图3是本专利技术中的生成式对抗网络结构图;图4是在使用Spark软件情况下对本专利技术的优化样本与原始训练样本的性能对比图。图5是在使用Kafka软件情况下对本专利技术的优化样本与原始训练样本的性能对比图。具体实施方式下面结合附图对本专利技术做详细描述。现有技术中存在着对于软件系统不同数量的特征参数,进行不同思路的优化,最终通过求解不同特征权重以及不同特征之间相互影响关系,得到系统性能关于特征的一些函数关系,并能够进行一定程度上的优化。但是其思路终究离不开特征关于性能的权重关系,最终还是通过探究性能与特征之间关系的方法进行优化。并且经过多年的探索,这种思路虽然取得较好结果,但正是由于根本思路的一致性,却也遇到一些瓶颈,比如未来的探索创新空间有限,优化程度过低,成本偏高。本专利技术正是为要解决现有技术的这些问题而提出一种分布式基于生成式对抗网络的软件系统性能优化方法。以下所给出的实施例,仅用于说明本专利技术,但不构成对本专利技术的任何限制。参见图1,本专利技术给出如下三个实施例:实施例1:基于Spark软件系统的性能优化步骤1,获取样本特征集合。(1a)根据Spark软件系统的官方配置文档,得到所有可以进行配置的参数,从分布式内存计算框架Spark集群的所有待修改的配置参数中,选择优化标准中推荐修改的配置参数本文档来自技高网
...

【技术保护点】
1.基于生成式对抗网络的软件系统性能优化方法,其特征在于,包括如下:(1)获取样本特征集合:(1a)根据软件系统的官方配置文档,得到所有可配置参数,筛选并删除对软件性能无影响的参数;(1b)将筛选留下的参数按照官方给出的重要性程度进行排序,再次删除对性能影响程度特别小,且对性能预测没有意义且完全可忽略的参数,得到样本特征集合;(2)在服务器内安装软件系统,根据步骤(1)获取的样本特征集合,搭建软件系统的实际运行环境,随机取不同的参数值,得到多组样本特征,通过对样本特征测试,获取每一组样本对应的软件系统吞吐量或者时延数据,得到实验样本集合;(3)遍历步骤(2)得到的实验样本集中的所有参数,对其中属于枚举变量的参数进行独热编码,并将所有的变量进行归一化,产生能够进行模型训练的结构化数据集合;(4)选择训练样本:4.1)对得到的多组结构化数据按照吞吐量或者时延值进行排序,根据实际需求,选取若干数量的最好样本特征进行迭代训练;4.2)每次迭代过程中,再从上一步选择的样本中随机且不重复选择一半数量的样本特征,作为训练样本,并打乱顺序输入到生成式对抗网络中,以保证训练样本的多样性和可靠性。(5)训练优化模型:5a)在第一次迭代训练开始时,输入选择好的训练样本x,使用生成式对抗网络中的生成网络模型G,产生与训练样本维度一致的生成样本z;5b)将训练样本x和生成样本z一起输入对抗网中的判别模型D中,得到判别模型D对训练样本x与生成样本z真实性的判别概率;5c)根据5b)的两个判别概率通过下式对生成模型G和判别模型D进行修正:...

【技术特征摘要】
1.基于生成式对抗网络的软件系统性能优化方法,其特征在于,包括如下:(1)获取样本特征集合:(1a)根据软件系统的官方配置文档,得到所有可配置参数,筛选并删除对软件性能无影响的参数;(1b)将筛选留下的参数按照官方给出的重要性程度进行排序,再次删除对性能影响程度特别小,且对性能预测没有意义且完全可忽略的参数,得到样本特征集合;(2)在服务器内安装软件系统,根据步骤(1)获取的样本特征集合,搭建软件系统的实际运行环境,随机取不同的参数值,得到多组样本特征,通过对样本特征测试,获取每一组样本对应的软件系统吞吐量或者时延数据,得到实验样本集合;(3)遍历步骤(2)得到的实验样本集中的所有参数,对其中属于枚举变量的参数进行独热编码,并将所有的变量进行归一化,产生能够进行模型训练的结构化数据集合;(4)选择训练样本:4.1)对得到的多组结构化数据按照吞吐量或者时延值进行排序,根据实际需求,选取若干数量的最好样本特征进行迭代训练;4.2)每次迭代过程中,再从上一步选择的样本中随机且不重复选择一半数量的样本特征,作为训练样本,并打乱顺序输入到生成式对抗网络中,以保证训练样本的多样性和可靠性。(5)训练优化模型:5a)在第一次迭代训练开始时,输入选择好的训练样本x,使用生成式对抗网络中的生成网络模型G,产生与训练样本维度一致的生成样本z;5b)将训练样本x和生成样本z一起输入对抗网中的判别模型D中,得到判别模型D对训练样本x与生成样本z真实性的判别概率;5c)根据5b)的两个判别概率通过下式对生成模型G和判别模型D进行修正:其中,V表示系统性能,x~pr(x)表示关于样本特征x的分布,r表示样本的参数数量,z~pn(z)表示关于样本特征z的分布,n表示样本的参数数量;5d)开始第二次迭代,重复5a-5c,不断优化生成模型G和判别模型D,直至达到预先设定好的迭代次数,得到最终的优化样本;(6)优化效果验证:将通过生成式对抗网络模型得到的优化样本在软件系统上进行测试,得到优化样本的吞吐量或者时延值;将优化样本与原始训练样本的吞吐量或者时延值进行对比,得到生成式对抗网络模型对软件系统的性能优化效果。2.根据权利要求1所述的方法,其特征在于,步骤(2)中搭建软件系统的实际运行环境,是在服务器上创建四台性能完全一样的虚拟机,其中两台虚拟机用来安装软件系统集群,另外两台用来安装集群管理软件系统,通过上述四台服务器搭建实时数据处理软件系统。3.根据权利要求1所述的方法,其特征在...

【专利技术属性】
技术研发人员:鲍亮王方正方宝印
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1