述遗传算法执行模块接收所述参数配置模块反馈的每个所述应用程序的响应时间,将每个所述应用程序的响应时间作为评价函数的返回值。
[0044]作为本发明的一个实施例,参数配置模块可以将应用程序的响应时间进行处理之后返回给遗传算法执行模块。具体地,如图4所示,S203中所述遗传算法执行模块接收所述参数配置模块反馈的每个所述应用程序的响应时间具体为:
[0045]在S401中,所述参数配置模块将获取到的每个所述应用程序的响应时间求和后取倒数并反馈给所述遗传算法执行模块。
[0046]在S402中,所述遗传算法执行模块接收所述参数配置模块反馈的数据。
[0047]在S204中,所述遗传算法执行模块判断遗传算法的当前迭代次数是否达到了预设的迭代次数,若所述当前迭代次数未达到所述预设的迭代次数,重复执行所述Si至所述S3;若所述当前迭代次数达到了所述预设的迭代次数,所述遗传算法执行模块中止运行。
[0048]在本实施例中,遗传算法执行模块内部设置有计数器,该计数器初始化状态下计数为0,而每当遗传算法执行模块执行一次遗传算法,该计数器计数值加1,用于记录遗传算法执行模块当前的迭代次数。在S204中,遗传算法执行模块在接收到参数配置模块反馈的应用程序的响应时间之后,首先调取该计数器当前的计数值,判断遗传算法执行模块当前的迭代次数是否达到了预设的迭代次数,如果当前迭代次数未达到所述预设的迭代次数,则遗传算法执行模块基于当前的评价函数的返回值,重复执行S201至S203 ;如果当前迭代次数已达到所述预设的迭代次数,则可以表明遗传算法执行模块已得到其遗传算法的最优参数配置组合,将该最优参数配置组合通过参数配置模块配置给运行于不同虚拟机上的每个应用程序,能够实现集群中应用程序的性能最优。
[0049]由于云端应用程序通常是运行在不同的虚拟机之上,这些应用程序包含大量性能相关的参数需要配置,且参数的配置必须适应云计算环境动态变化的工作负载和虚拟机的运行环境,因此,在本发明实施例中,应用遗传算法在应用程序的参数空间中搜索一个最优值的方法来解决应用程序的参数配置问题,这样经过多次迭代处理之后,能够在设定的参数空间内搜索得到一组最优的应用程序参数配置组合,使得多个应用程序的响应时间和最小,从而提升了应用程序的性能。
[0050]本发明实施例提供的云端应用程序的参数配置方法与传统的优化方法相比较,本方案以生物进化的理论为模型,遗传算法本身具有很好的收敛性,而且还具有计算精度高、计算时间少和可扩展性强的特点,能够实现云端大规模应用程序的自动参数配置过程,提高了云端应用程序的配置效率。
[0051]对应于上文实施例所述的云端应用程序的参数配置方法,以下对图1所示的云端应用程序的参数配置系统中的遗传算法执行模块和参数配置模块的功能进行对应说明:
[0052]所述遗传算法执行模块用于获取到运行在不同虚拟机上的每个应用程序的参数配置信息,将所述参数配置信息作为输入,通过遗传算法输出一组参数配置组合,所述参数配置组合中包含了每个所述应用程序的参数值;
[0053]所述参数配置模块用于获取该参数配置组合,根据该参数配置组合对每个所述应用程序进行参数配置,并获取经过了该参数配置之后的每个所述应用程序的响应时间;
[0054]所述遗传算法执行模块还用于接收所述参数配置模块反馈的每个所述应用程序的响应时间,将每个所述应用程序的响应时间作为评价函数的返回值;
[0055]所述遗传算法执行模块还用于判断遗传算法的当前迭代次数是否达到了预设的迭代次数,若所述当前迭代次数未达到所述预设的迭代次数,重复执行所述遗传算法执行模块和所述参数配置模块;若所述当前迭代次数达到了所述预设的迭代次数,所述遗传算法执行模块中止运行。
[0056]可选地,所述参数配置模块还用于将每个所述应用程序的所述参数配置信息存储在数据库中。
[0057]可选地,所述参数配置信息包括所述应用程序的可配置参数及所述可配置参数对应的可配置范围。
[0058]可选地,所述参数配置模块还用于将获取到的每个所述应用程序的响应时间求和后取倒数并反馈给所述遗传算法执行模块;
[0059]所述遗传算法执行模块还用于接收所述参数配置模块反馈的数据。
[0060]可选地,所述参数配置模块具体用于获取该参数配置组合,在预设的配置时间间隔到达时,根据该参数配置组合对每个所述应用程序进行参数配置。
[0061]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种云端应用程序的参数配置方法,其特征在于,包括: Si,遗传算法执行模块获取到运行在不同虚拟机上的每个应用程序的参数配置信息,将所述参数配置信息作为输入,通过遗传算法输出一组参数配置组合,所述参数配置组合中包含了每个所述应用程序的参数值; S2,所述参数配置模块获取该参数配置组合,根据该参数配置组合对每个所述应用程序进行参数配置,并获取经过了该参数配置之后的每个所述应用程序的响应时间; S3,所述遗传算法执行模块接收所述参数配置模块反馈的每个所述应用程序的响应时间,将每个所述应用程序的响应时间作为评价函数的返回值; S4,所述遗传算法执行模块判断遗传算法的当前迭代次数是否达到了预设的迭代次数,若所述当前迭代次数未达到所述预设的迭代次数,重复执行所述SI至所述S3 ;若所述当前迭代次数达到了所述预设的迭代次数,所述遗传算法执行模块中止运行。
2.如权利要求1所述的方法,其特征在于,在所述SI之前,所述方法还包括: 所述参数配置模块将每个所述应用程序的所述参数配置信息存储在数据库中。
3.如权利要求1或2所述的方法,其特征在于,所述参数配置信息包括所述应用程序的可配置参数及所述可配置参数对应的可配置范围。
4.如权利要求1所述的方法,其特征在于,所述遗传算法执行模块接收所述参数配置模块反馈的每个所述应用程序的响应时间包括: 所述参数配置模块将获取到的每个所述应用程序的响应时间求和后取倒数并反馈给所述遗传算法执行模块; 所述遗传算法执行模块接收所述参数配置模块反馈的数据。
5.如权利要求1所述的方法,其特征在于,所述参数配置模块获取该参数配置组合,根据该参数配置组合对每个所述应用程序进行参数配置包括: 所述参数配置模块获取该参数配置组合,在预设的配置时间间隔到达时,根据该参数配置组合对每个所述应用程序进行参数配置。
6.—种云端应用程序的参数配置系统,其特征在于,所述系统包括遗传算法执行模块和参数配置模块, 所述遗传算法执行模块用于获取到运行在不同虚拟机上的每个应用程序的参数配置信息,将所述参数配置信息作为输入,通过遗传算法输出一组参数配置组合,所述参数配置组合中包含了每个所述应用程序的参数值; 所述参数配置模块用于获取该参数配置组合,根据该参数配置组合对每个所述应用程序进行参数配置,并获取经过了该参数配置之后的每个所述应用程序的响应时间; 所述遗传算法执行模块还用于接收所述参数配置模块反馈的每个所述应用程序的响应时间,将每个所述应用程序的响应时间作为评价函数的返回值; 所述遗传算法执行模块还用于判断遗传算法的当前迭代次数是否达到了预设的迭代次数,若所述当前迭代次数未达到所述预设的迭代次数,重复执行所述遗传算法执行模块和所述参数配置模块;若所述当前迭代次数达到了所述预设的迭代次数,所述遗传算法执行模块中止运行。
7.如权利要求6所述的系统,其特征在于,所述参数配置模块还用于将每个所述应用程序的所述参数配置信息存储在数据库中。
8.如权利要求6或7所述的系统,其特征在于,所述参数配置信息包括所述应用程序的可配置参数及所述可配置参数对应的可配置范围。
9.如权利要求6所述的系统,其特征在于,所述参数配置模块还用于将获取到的每个所述应用程序的响应时间求和后取倒数并反馈给所述遗传算法执行模块; 所述遗传算法执行模块还用于接收所述参数配置模块反馈的数据。
10.如权利要求6所述的系统,其特征在于,所述参数配置模块具体用于获取该参数配置组合,在预设的配置时间间隔到达时,根据该参数配置组合对每个所述应用程序进行参数配置。
【专利摘要】本发明适用于计算机技术领域,提供了一种云端应用系统的参数配置方法及系统,包括:遗传算法执行模块获取到运行在不同虚拟机上的每个应用程序的参数配置信息,通过遗传算法输出一组参数配置组合;所述参数配置模块获取经过了该参数配置之后的每个所述应用程序的响应时间;所述遗传算法执行模块接收所述参数配置模块反馈的每个所述应用程序的响应时间,将每个所述应用程序的响应时间作为评价函数的返回值;所述遗传算法执行模块判断遗传算法的当前迭代次数是否达到了预设的迭代次数,若所述当前迭代次数达到了所述预设的迭代次数,所述遗传算法执行模块中止运行。本发明提升了云端应用程序的性能,且提高了云端应用程序的配置效率。
【IPC分类】G06F9-455
【公开号】CN104536808
【申请号】CN201410844367
【发明人】贝振东, 须成忠, 喻之斌, 曾经纬, 徐文星, 张慧玲
【申请人】中国科学院深圳先进技术研究院
【公开日】2015年4月22日
【申请日】2014年12月30日