[发明专利]基于Bootstrap的可管理程序的性能评估方法有效
申请号: | 201811404131.0 | 申请日: | 2018-11-23 |
公开(公告)号: | CN109542747B | 公开(公告)日: | 2023-04-07 |
发明(设计)人: | 张为华;鲁云萍;季晓枫 | 申请(专利权)人: | 复旦大学 |
主分类号: | G06F11/34 | 分类号: | G06F11/34 |
代理公司: | 上海正旦专利代理有限公司 31200 | 代理人: | 陆飞;王洁平 |
地址: | 200433 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 bootstrap 管理程序 性能 评估 方法 | ||
本发明属于计算机技术领域,具体为一种基于Bootstrap的可管理程序的性能评估方法。本发明利用平稳的区块Bootstrap方法进行重抽样构建样本空间,最终使用假设检验的方法对程序进行性能比较。本发明只需要数十次的运行就能够完成一次性能评估。
技术领域
本发明属于计算机技术领域,具体涉及一种基于Bootstrap的可管理程序的性能评估方法。
背景技术
在多线程程序中,程序的不确定性行为对于性能评估来说一直是一个非常关键的问题,这种不确定性行为甚至可以导致错误的性能评估结果。为了合理地评估程序性能,必须要使用统计学方法来对实验结果进行评估。而对于一些在可管理的环境下运行的程序,比如Java程序,二进制翻译执行等方式来说,其内部的机制加剧了程序的不确定性程度。以Java为例,即时编译器,垃圾回收等机制导致了在一次Java虚拟机的运行过程中,程序的性能是不断变化的,这使得Java程序的性能评估相比于传统的并行应用的评估变得更加复杂。
为了评估程序稳定的性能,通常需要迭代运行一个Java程序多次,直到Java虚拟机中各机制的影响趋于稳定,再评估该程序的性能。所以,在进行性能评估之前通常需要判断程序在何时进入了稳定的阶段中。但是现行的稳定阶段判断方法通常都只基于程序运行时间的波动,往往会给出错误的稳定状态判断结果。
数十年来,随着单核处理器的发展遇到了瓶颈,多核处理器已成为处理器的主流发展方向,随之而来的是多线程程序也变得越来越普遍。而随着处理器核心越来越多,并行应用程序的线程数也变得越来越多,导致不确定的变量也越来越多。与单线程程序相比,多线程程序的不确定性表现的尤为突出。共享资源的访问冲突、线程调度和不同的线程创建时间等,这些不确定性因素都加剧了多线程程序的性能的波动。随着多线程程序越来越普遍,如何对存在不确定性的并行应用程序进行有效评估已经成为了一个非常重要的问题。
发明内容
针对上述技术问题,本发明的目的在于提供一种基于Bootstrap的可管理程序的性能评估方法。本发明通过稳定的区块Bootstrap帮助进行性能评估,能够处理可管理程序的不确定性问题。
本发明提供的可管理程序的性能评估方法中,通过平稳的区块Bootstrap进行重抽样的评估方法,在相互不独立的数据上工作,保留数据间的相关性,使得在一次虚拟机生命周期中的数据上就能够完成性能评估工作,不需要运行多次生命周期来确保数据的独立性。最后,可以在重抽样样本上进行基于置信度的性能评估。本发明的技术方案具体介绍如下。
一种基于Bootstrap的可管理程序的性能评估方法,具体步骤如下:
第一步,首先通过一次可管理环境的调用,收集调用中各个迭代的各个机制的行为信息,以及各迭代的性能表现,之后,综合收集到的信息,经过降维操作之后,对得到的稳定特征向量进行稳定阶段的判断;在得到稳定阶段的位置之后,根据获得的位置情况运行相应长度的迭代数以得到稳定状态结果;将得到的稳定状态结果作为一个用来进行性能评估的小样本;
第二步,利用平稳的区块Bootstrap方法SBB在已有可管理程序性能结果之上构建样本空间;
第三步,基于SBB的样本空间,使用假设检验算法进行性能比较评估。
和现有技术相比,本发明的有益效果在于:本发明可用于评估可管理程序的性能,减少不确定行为对性能评估的影响。
附图说明
图1为实施例1中的Java程序中的SBB方法进行区块划分的示意图。
图2为实施例1中的Java程序中的工作流程。
图3为实施例1中的Java程序中的SBB重抽样过程。
具体实施方式
下面将结合附图和实施例详细说明本发明的技术方案。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于复旦大学,未经复旦大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811404131.0/2.html,转载请声明来源钻瓜专利网。