CN103955422B - 一种虚拟化环境中共存应用i/o性能干扰的分析方法及其系统 - Google Patents
一种虚拟化环境中共存应用i/o性能干扰的分析方法及其系统 Download PDFInfo
- Publication number
- CN103955422B CN103955422B CN201410160163.6A CN201410160163A CN103955422B CN 103955422 B CN103955422 B CN 103955422B CN 201410160163 A CN201410160163 A CN 201410160163A CN 103955422 B CN103955422 B CN 103955422B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- performance
- interference
- coexists
- exclusive
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Abstract
本发明公开了一种虚拟化环境中共存应用I/O性能干扰分析方法,包括:性能监控步骤和性能干扰分析步骤;性能监控步骤用于通过对系统中上下文切换事件进行跟踪监控,并收集事件信息和I/O操作请求信息;性能干扰分析步骤用于统计得出事件信息统计值,并根据I/O操作请求信息,统计得出各个虚拟机的I/O操作的平均服务率,根据事件信息统计值和I/O操作的平均服务率,得出共存应用的I/O性能的干扰水平。本发明还公开了一种虚拟化环境中共存应用I/O性能干扰分析系统。
Description
技术领域
本发明涉及虚拟化环境中,虚拟机的应用共存分析,尤其涉及分析和计算共存所造成的I/O性能干扰。
背景技术
虚拟化技术的出现,使得一个物理机上可以共存多台虚拟机(VM),通过虚拟机监控器(VMM)对共享物理资源以及虚拟机进行管理。虚拟化技术提供了更好的应用共存的能力,虚拟机可以在隔离的环境中运行不同的应用,提高了服务器的资源利用率。
但是,尽管虚拟机监控器为虚拟机提供了很多层次的隔离,共存在同一台物理机上的虚拟机仍然会相互干扰,尤其是对于资源请求密集型的负载。每个虚拟机被分配到物理机资源的一部分,并请求虚拟机监控器的协作来完成任务,例如磁盘或者网络I/O请求.当多个虚拟机请求同一个硬件资源时,就可能在物力资源层面或者虚拟机监控器层面产生瓶颈,造成性能的下降。共存应用性能干扰的分析对提高虚拟化环境中的资源利用率是十分重要的,同时也是虚拟化技术中的研究热点和挑战。
名称为“2012Third International Conference on Networking andComputing”的会议中公开了一篇名称为:“Evluation of Performance Degradation inHPC Applications with VM Consolidation”的文献,作者:Yuya Hashimoto,Kento Aida,其中公开了通过运行基准测试程序,监控物理机的性能指标,包括CPU利用率,内存利用率,磁盘利用率等,分析了运行不同类型应用的虚拟机之间的干扰.但是其方法粒度较粗,只对整个物理机的性能指标进行监控和分析,不能准确分析出在某一种资源上,虚拟机之间产生的干扰。
名称为“2010IEEE3rd International Conference on Cloud Computing”的会议中公开了一篇名称为:“Understanding Performance Interference of I/O Workload inVirtualized Cloud Environments”的文献,作者:Xing Pu,Ling Liu,Yiduo Mei,Sankaran Sivathanu,Younggun Koh,Calton Pu,其中提供了一种分析虚拟化环境中网络I/O性能干扰的方法,通过比较虚拟机独占情景和共存情景下,随着I/O请求大小的变化,物理机和虚拟机中的cpu利用率、虚拟机中的I/O请求数量和完成效率、以及VMM中的切换次数和事件数变化来分析出影响I/O性能的关键因素。但该方法仅仅是通过比较实验结果,找到影响I/O性能的关键因素,并没有提供一种量化虚拟机受到干扰的方法,并且,该方法并没有具体到分析每个I/O请求的等待时间,而来自某个虚拟机的I/O请求的等待时间的延长,是该虚拟机I/O性能受到干扰的直接体现。
名称为:“2013IEEE4th,International Conference on Cloud ComputingTechnology and Science”的会议中公开了一篇名称为:“Understanding the Effects ofHypervisor I/O Scheduling for Virtual Machine Performance Interfernce”的文献,作者:Ziye Yang,Haifeng Fang,Yingjun Wu,Chunqi Li,Bin Zhao,H.Howie Huang,其中设计了一个分析虚拟机hypervisor的I/O调度特性的框架,通过分析hypervisor对I/O请求的调度过程,来分析虚拟机直接的干扰。但是该框架要求在虚拟机内部运行监控模块,但是这样对影响虚拟机的性能造成影响,从而使分析结果产生偏差。对虚拟机I/O性能干扰的分析,不应该影响虚拟机原始的运行状态。
发明内容
本发明所要解决的技术问题在于提供一种虚拟化环境中共存应用I/O性能干扰分析方法及其系统,,以克服现有技术中存在的无法全面分析虚拟机I/O性能干扰水平,并无法将干扰水平进行量化的问题。
为达上述目的,本发明提供了一种虚拟化环境中共存应用I/O性能干扰分析方法,其特征在于,包括:
性能监控步骤:通过对系统中上下文切换事件进行跟踪监控,并收集所述事件信息和I/O操作请求信息;
性能干扰分析步骤:统计得出所述事件信息统计值,并根据所述I/O操作请求信息,统计得出各个虚拟机的I/O操作的平均服务率,根据所述事件信息统计值和所述I/O操作的平均服务率,得出共存应用的I/O性能的干扰水平。
上述虚拟化环境中I/O性能干扰分析方法,其特征在于,所述性能监控步骤还包括:
独占监控步骤:在预定的监控时间段内,获取虚拟机独占时在系统单位时间内产生的所述上下文切换次数,并收集和跟踪记录来自所述虚拟机独占时的I/O操作请求信息;
共存监控步骤:在预定的监控时间段内,获取虚拟机共存时在系统单位时间内产生的所述上下文切换次数,并收集和跟踪记录来自所述虚拟机共存时的I/O操作请求信息。
上述虚拟化环境中I/O性能干扰分析方法,其特征在于,所述性能干扰分析步骤还包括:
性能统计步骤:分别统计所述虚拟机独占时和所述虚拟机共存时的I/O操作请求信息个数统计值和所述请求执行等待时间统计值;
性能分析步骤:对比分析所述虚拟机独占时和所述虚拟机共存时的所述上下文切换次数、所述I/O操作请求信息个数统计值和所述请求执行等待时间统计值,得出系统所述虚拟机共存时的干扰水平。
上述虚拟化环境中I/O性能干扰分析方法,其特征在于,所述性能分析步骤还包括:
上下文对比步骤:对比分析所述独占虚拟机和所述共存虚拟机的所述上下文切换次数,得出上下文切换次数对比值;
平均服务率步骤:通过所述虚拟机独占时和所述虚拟机共存时的所述I/O操作请求信息个数统计值和所述请求执行等待时间统计值,分别得出所述虚拟机独占时和所述虚拟机共存时I/O操作平均服务率;
I/O请求对比步骤:对比分析所述独占虚拟机和所述共存虚拟机的所述I/O操作平均服务率,得出I/O操作平均服务率对比值;
干扰水平分析步骤:汇总所述上下文切换次数对比值和所述I/O操作平均服务率对比值,得出系统所述共存虚拟机的干扰水平。
上述虚拟化环境中I/O性能干扰分析方法,其特征在于,所述事件信息包括:上下文切换的时间名称、事件数目和事件花费时间。
上述虚拟化环境中I/O性能干扰分析方法,其特征在于,所述I/O操作请求信息包括:I/O操作属于的虚拟机号、目标扇区号、请求块大小、等待执行时间和操作完成时间。
本发明提供的一种虚拟化环境中共存应用I/O性能干扰分析系统,采用所述性能分析方法,其特征在于,所述性能干扰分析系统还包括:
性能监控模块:通过对系统中上下文切换事件进行跟踪监控,并收集事件信息和I/O操作请求信息;
性能干扰分析模块:统计得出所述事件信息统计值,并根据I/O操作请求信息,统计得出各个虚拟机的I/O操作的平均服务率,根据所述事件信息统计值和所述I/O操作的平均服务率,得出共存应用的I/O性能的干扰水平。
上述虚拟化环境中I/O性能干扰分析系统,其特征在于,所述性能监控模块还包括:
独占监控模块:在预定的监控时间段内,获取虚拟机独占时在系统单位时间内产生的所述上下文切换次数,并收集和跟踪记录来自所述虚拟机独占时的I/O操作请求信息;
共存监控模块:在预定的监控时间段内,获取虚拟机共存时在系统单位时间内产生的所述上下文切换次数,并收集和跟踪记录来自所述虚拟机共存时的I/O操作请求信息。
上述虚拟化环境中I/O性能干扰分析系统,其特征在于,所述性能干扰分析模块还包括:
性能统计模块:分别统计所述虚拟机独占时和所述虚拟机共存时的I/O操作请求信息个数统计值和所述请求执行等待时间统计值;
性能分析模块:对比分析所述虚拟机独占时和所述虚拟机共存时的所述上下文切换次数、所述操作I/O请求信息个数统计值和所述请求执行等待时间统计值,得出系统所述虚拟机共存时的干扰水平。
上述虚拟化环境中I/O性能干扰分析系统,其特征在于,所述性能分析模块还包括:
上下文对比模块:对比分析所述独占虚拟机和所述共存虚拟机的所述上下文切换次数,得出上下文切换次数对比值;
平均服务率模块:通过所述虚拟机独占时和所述虚拟机共存时的所述I/O操作请求信息个数统计值和所述请求执行等待时间统计值,分别得出所述虚拟机独占时和所述虚拟机共存时I/O操作平均服务率;
I/O请求对比模块:对比分析所述独占虚拟机和所述共存虚拟机的所述I/O操作平均服务率,得出I/O操作平均服务率对比值;
干扰水平分析模块:汇总所述上下文切换次数对比值和所述I/O操作平均服务率对比值,得出系统所述共存虚拟机的干扰水平。
上述虚拟化环境中I/O性能干扰分析系统,其特征在于,所述事件信息包括:上下文切换的时间名称、事件数目和事件花费时间。
上述虚拟化环境中I/O性能干扰分析系统,其特征在于,所述I/O操作请求信息包括:I/O操作属于的虚拟机号、目标扇区号、请求块大小、等待执行时间和操作完成时间。
与现有技术相比,本发明的有益效果在于:在虚拟机的I/O请求的整个执行路径上,分析出最能体现出性能干扰的指标,包括在虚拟机监控器层面上,系统中发生的上下文切换次数,以及在物理资源层面上,来自虚拟机的I/O请求的服务率,通过这两个指标结合,全面的刻画虚拟机I/O性能干扰水平,并通过独占和共存场景下的比较,将干扰水平进行量化。
附图说明
图1为本发明性能干扰分析方法步骤示意图;
图2为本发明性能分析详细步骤示意图;
图3为虚拟化环境中的I/O架构示意图;
图4为虚拟化环境下I/O请求的执行过程示意图;
图5为本发明方法一具体实施例示意图;
图6为本发明实施例XEN虚拟化架构下I/O请求执行过程示意图;
图7为本发明方法XEN环境下实施例流程示意图;
图8为本发明性能干扰分析系统结构示意图;
图9为本发明性能分析模块结构示意图;
图10为本发明系统XEN虚拟化环境下具体实施例框架示意图。
其中,附图标记:
10性能监控模块 20性能干扰分析模块
11独占监控模块 12共存监控模块
21性能统计模块 22性能分析模块
221上下文对比模块 222平均服务率模块
223I/O请求对比模块 224干扰水平分析模块
S1~S2、S11~S12、S21~S22、S221~S224、1~7、100~700:本发明各实施例的施行步骤
具体实施方式
下面给出本发明的具体实施方式,结合附图和具体实施实例对本发明做详细描述。
通过现有技术的不足之处的研究和分析,本发明提出了一种全面分析虚拟化环境下I/O性能干扰的方法,本方法是对I/O操作从虚拟机出发出,到真实执行完成的整个过程中,监控该过程中在虚拟机监控器层面和物理资源共享层面最能体现出性能干扰的指标,进而计算干扰水平。
本发明提供的一种虚拟化环境中共存应用I/O性能干扰分析方法,图1为本发明性能干扰分析方法步骤示意图,如图1所示,该方法包括:
性能监控步骤S1:通过对系统中上下文切换事件进行跟踪监控,并收集事件信息和I/O操作请求信息;
性能干扰分析步骤S2:统计得出事件信息统计值,并根据I/O操作请求信息,统计得出各个虚拟机的I/O操作的平均服务率,根据事件信息统计值和I/O操作的平均服务率,得出共存应用的I/O性能的干扰水平。
其中,性能监控步骤S1还包括:
独占监控步骤S11:在预定的监控时间段内,获取虚拟机独占时在系统单位时间内产生的上下文切换次数,并收集和跟踪记录来自虚拟机独占时的I/O操作请求信息;
共存监控步骤S12:在预定的监控时间段内,获取虚拟机共存时在系统单位时间内产生的上下文切换次数,并收集和跟踪记录来自虚拟机共存时的I/O操作请求信息。
其中,性能干扰分析步骤S2还包括:
性能统计步骤S21:分别统计虚拟机独占时和虚拟机共存时的I/O操作请求信息个数统计值和请求执行等待时间统计值;
性能分析步骤S22:对比分析虚拟机独占时和虚拟机共存时的上下文切换次数、I/O操作请求信息个数统计值和请求执行等待时间统计值,得出系统虚拟机共存时的干扰水平。
其中,图2为本发明性能分析详细步骤示意图,如图2所示,性能分析步骤S22还包括:
上下文对比步骤S221:对比分析独占虚拟机和共存虚拟机的上下文切换次数,得出上下文切换次数对比值;
平均服务率步骤S222:通过虚拟机独占时和虚拟机共存时的I/O操作请求信息个数统计值和请求执行等待时间统计值,分别得出虚拟机独占时和虚拟机共存时I/O操作平均服务率;
I/O请求对比步骤S223:对比分析独占虚拟机和共存虚拟机的I/O操作平均服务率,得出I/O操作平均服务率对比值;
干扰水平分析步骤S224:汇总上下文切换次数对比值和I/O操作平均服务率对比值,得出系统共存虚拟机的干扰水平。
以下结合图示,详细说明本发明性能干扰分析方法的具体实施例过程。
图3为虚拟化环境中的I/O架构示意图,图4为虚拟化环境下I/O请求的执行过程示意图,如图4所示,其中各个步骤说明如下:
步骤S80:虚拟机发出I/O操作的请求,产生中断,进行上下文切换,将CPU的运行状态从虚拟机切换到VMM;
步骤S81:VMM捕捉到虚拟机发送的I/O请求;
步骤S82:VMM通过驱动程序将将I/O请求发送到设备;
步骤S83:I/O请求在真实设备中等待调度;
步骤S84:设备执行I/O操作。
如图3和图4所示,本发明技术关键点具体如下:
1)由于虚拟机的I/O请求的实现,是需要虚拟机和虚拟机监控器的协作共同实现,在此过程中会造成虚拟机监控器和客户虚拟机之间的上下文切换,切换次数的增多会使CPU耗费较多的时间来处理I/O中断操作,同时上下文切换也会造成cache的命中率下降,从而导致虚拟机I/O性能的下降。因此将单位时间内系统中发生的切换次数作为衡量I/O性能干扰的指标之一;
2)虚拟机的I/O操作被驱动程序发送到真实设备的执行队列时,来自不同虚拟机的I/O请求会产生竞争,造成请求在执行前的等待时间增长,即表现为虚拟机的I/O性能下降,因此将虚拟机I/O请求的服务率,即单位时间内完成的此虚拟机的请求个数,作为衡量虚拟机I/O性能干扰的指标之一。
本发明的目的在于克服上述现有技术的缺陷,提供一种准确监控虚拟化环境中虚拟机的I/O性能的方法,并提供一种计算共存虚拟机之间I/O性能干扰的方法,为虚拟机的部署和迁移提供依据。
本发明的一个实施例中,提供了一种监控虚拟化环境中I/O性能的概要方法,图5为本发明方法一具体实施例示意图,如图5所示,所述方法包括:
步骤1、从预定的监控时间段内获取虚拟机A独占物理机时,系统中平均每秒产生的上下文切换次数。
步骤2、在上述监控时间段内,收集所有来自虚拟机A的I/O请求,跟踪并记录所有I/O请求信息。
步骤3、将虚拟机A和虚拟机B共同部署在同一个物理机上,从预定的监控时间段内,获取Domain0和VM之间,统中平均每秒产生的上下文切换次数。
步骤4、从预定的监控时间段内,在VMM中收集所有来自虚拟机A和B的I/O请求,跟踪并记录所有I/O请求信息。
上述步骤2和步骤4中,在VMM中收集的I/O请求信息,是指虚拟机的I/O操作,通过驱动程序发送到真实真实设备后,对此I/O请求跟踪,收集得到的信息,包括该操作属于的进程号,该操作目标扇区号,该操作请求块大小,该操作发送到真实设备等待执行的时间,该操作的完成的时间。从上述信息中统计出I/O操作的等待时间,和真实执行时间。
其中,请求块大小包括读字节数和写字节数。I/O操作的等待时间,是指该I/O操作从被发送到真实执行队列到被调度并开始实际执行。I/O操作的执行时间,是指磁盘处理该请求所花的时间。
本发明的另一个实施例中,提供了一种分析和计算共存应用之间I/O干扰水平的详细方法,如图5所示,方法包括:
步骤5、将虚拟机A在独占情况下,收集得到的系统中上下文切换次数(base_switch),和在虚拟机A,B共存情况下得到的切换次数(Combine_switch)进行比较:
switch_score代表由于切换次数的增多,对性能干扰的贡献值。
当switch_score的值等于或者接近1时,表面虚拟机A,B之间几乎没有I/O性能干扰。当switch_score的值大于1时,表明共存情况下的上下文切换次数要比独占情况下的多,那么虚拟机A,B在虚拟机监控器层面发生的竞争程度越大,干扰程度也越大,
步骤6、将虚拟机A在独占和共存情况下,收集得到的I/O请求操作信息进行统计分析:
步骤61、在监控时间段内,统计虚拟机A在独占情况下,I/O请求的个数(vm_quest_num_base),每个请求从被发送到真实执行队列到被调度并开始实际执行的等待时间(wait_time_base),磁盘设备处理该请求所花的时间(exc_time_base),计算出在虚拟机A独占情况下I/O操作平均服务率(svctm_base).
步骤62、在监控时间段内,统计虚拟机A在与虚拟机B共存情况下,I/O请求的个数(vm_quest_num_combine),每个请求从被发送到真实执行队列到被调度并开始实际执行的等待时间(wait_time_combine),磁盘设备处理该请求所花的时间(exc_time_combine),计算出在虚拟机A与虚拟机B共存下I/O操作平均服务率(svctm_combine).
步骤63、比较独占情况和共享情况下虚拟机A的I/O操作平均服务率
svctm_score代表由于虚拟机A的I/O操作服务率的变化,对I/O性能干扰的贡献。
当此值等于或者接近1时,表面虚拟机A的I/O性能几乎没有受到干扰。此值越大,说明虚拟机A在和B共存后,I/O请求的处理速度降低越多,受到的干扰越明显。
步骤7、通过步骤5和步骤6中的指标,计算虚拟机A在和虚拟机B共存情况下,所受到的干扰水平。
interference=switch_score+scvtm_score
Interference代表虚拟机A受到的干扰程度,该值越大,代表受到的干扰程度越大。当interference的值等于或者接近2时,表明虚拟机A的I/O性能几乎没有受到干扰。
为了使本发明的目的和技术方案以及目的的描述更加清晰,结合图示,通过XEN虚拟化环境下的具体实施例来对本发明详细的说明。应当理解,本发明可以应用于所有的虚拟化环境,并不仅限于XEN环境,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。图6为本发明实施例XEN虚拟化架构下I/O请求执行过程示意图,如图6所示,其中各个步骤说明如下:
步骤S90:DOMU中的应用程序发送出I/O请求;
步骤S91:DOMU中的后端驱动程序接收到来自应用的I/O请求;
步骤S92:产生中断,进行DOMU和DOM0之间的上下文切换,DOM0通过前端驱动接收到I/O请求后,通过原生设备驱动发送给设备;
步骤S93:产生中断,进行DOM0和VMM之间的上下文切换,I/O操作通过VMM被发送到设备等待执行;
步骤S94:设备执行I/O操作。
图7为本发明方法XEN环境下实施例流程示意图,如图7所示,该方法包括:
步骤100、在一台物理机上,创建唯一的一个虚拟机,虚拟机A,此时物理机上有Domain0和虚拟机A
步骤200、在预设的监控时间段内,使虚拟机A保持运行状态,利用虚拟机监控器提供的监控工具,例如xen hypervisor提供的系统监控工具Xentrace跟踪CPU切换事件的信息。
Xentrace是xen自带的一个监控工具,可以跟踪指定的事件,收集信息。Xentrace_format是xen自带的一款分析工具,用来分析xentrace收集的二进制信息。
利用xentrace_format工具解析xentrace收集的信息,统计出在此时间段内CPU上下文切换的次数,记作switch_base
步骤300、在预设的监控时间段内,使虚拟机A保持运行状态,
利用我们扩展的blktrace监控工具(Blktrace是一款可以收集磁盘I/O信息中当I/O进行到块设备层时的详细信息的工具),收集所有发送到块设备上的I/O操作信息。统计I/O请求的信息,记录所有来自虚拟机A的I/O操作数目,即vm_request_num_base,并进行跟踪,统计出所有I/O操作的等待时间和执行时间。即wait_time_base,exc_time_base.计算出虚拟机A的I/O请求的服务率,即单位时间内,来自虚拟机A的I/O请求被完成数目的平均值,即svctm_base。
步骤400、在与前述步骤相同的物理机上,同时创建虚拟机A和虚拟机B,在监控时间段内保持A和B的正常运行。同步骤200中的方法,收集VMM和Domain0以及Domain0和vm之间的上下文切换次数,计算出在监控时间段内平均的每秒切换次数,记作switch_combine;
步骤500、在步骤400的基础上,利用步骤300中的方法,收集所有发送到块设备上的I/O操作信息。统计I/O请求的信息,记录所有来自虚拟机A的I/O操作数目,即vm_request_num_combine,并进行跟踪,从而统计出所有I/O操作的等待时间和执行时间。即wait_time_combine,exc_time_combine。计算出在共存情况下,虚拟机A的I/O请求的服务率,即单位时间内,来自虚拟机A的I/O请求被完成数目的平均值,svctm_combine.
步骤600、通过比较步骤200和步骤400的结果,以及比较步骤300和步骤500的结果,来计算出虚拟机A在与虚拟机B共存的情况下,所受到的干扰程度。
步骤601、计算步骤200中得到的switch_base和步骤4得到的switch_combine的比值,switch_combine/switch_base,得到上下文切换对性能干扰造成的贡献。
步骤602、计算步骤300中得到的svctm_base和步骤4得到的svctm_combine的比值,svctm_base/svctm_combine得到I/O操作服务率的下降对性能干扰造成的贡献。
步骤603、计算步骤601,602共同造成的干扰贡献。
interference=switch_score+scvtm_score
步骤700、分析计算的结果:
步骤701、计算switch_score,即switch_base/switch_combine,
当switch_score在1-1.5之间时,可以表明虚拟机B并没有明显的增加切换次数,没有明显的竞争Domain0对I/O请求的处理。此时干扰程度不明显。
当switch_score在1.5-2之间时,说明虚拟机B对I/O请求的处理,有较大的竞争,此时干扰程度较为明显。
当switch_score超过2时,此时干扰程度很大,会造成共存应用I/O性能明显的下降。
步骤702、计算svctm_score,即svctm_base/svctm_combine,
当svctm_score在1-1.5之间时,虚拟机A的I/O处理速度没有明显下降,此时干扰不明显。
当svctm_score在1.5-2之间时,说明虚拟机A的I/O处理速度收到了明显影响,此时干扰程度较为明显。
当svctm_score超过2时,此时干扰程度很大,虚拟机的共存造成I/O性能明显的下降。
步骤703、通过步骤701和步骤702中的比值的加和,最终计算出虚拟机A在与B共存时,所受到的干扰程度大小。即Interference
最终得到的结果越大,表明受到的干扰程度越大。在实际情况下,可以根据物理机的特点,为svctm_score和switch_score设置不同的权重,例如,对于磁盘性能较好的物理机,由于虚拟机共存较不容易达到磁盘处理能力的瓶颈,所以共存情况下和独占情况下,I/O请求在真实设备上的处理速度会较接近,当服务率下降时,说明已经发生了较强的干扰,应该给予svctm_score较大的权重(0.5~1)。对于CPU和内存性能较好的物理机,由于能够处理更多的上下文切换,因此switch_score可以给予较低的权重(0~0.5)。
当switch_score和svctm_score拥有相同的权重时:如果interference的值在等于或者接近2,表面此时虚拟机A和B的干扰较小。如果interference的值在2-3之间,表面此时虚拟机A和B的干扰较小。如果interference的值在3-4之间,表面此时虚拟机A和B的干扰较大。如果interference的值等于或者超过4,表面此时虚拟机A和B的干扰严重,会造成严重的I/O性能下降。
本发明还提供一种虚拟化环境中共存应用I/O性能干扰分析系统,采用上述性能分析方法,图8为本发明性能干扰分析系统结构示意图,如图8所示,该系统还包括:
性能监控模块10:通过对系统中上下文切换事件进行跟踪监控,并收集事件信息和I/O操作请求信息;
性能干扰分析模块20:统计得出所述事件信息统计值,并根据I/O操作请求信息,统计得出各个虚拟机的I/O操作的平均服务率,根据所述事件信息统计值和所述I/O操作的平均服务率,得出共存应用的I/O性能的干扰水平。
其中,性能监控模块10还包括:
独占监控模块11:在预定的监控时间段内,获取虚拟机独占时在系统单位时间内产生的上下文切换次数,并收集和跟踪记录来自虚拟机独占时的I/O操作请求信息;
共存监控模块12:在预定的监控时间段内,获取虚拟机共存时在系统单位时间内产生的上下文切换次数,并收集和跟踪记录来自虚拟机共存时的I/O操作请求信息。
其中,性能干扰分析模块20还包括:
性能统计模块21:分别统计虚拟机独占时和虚拟机共存时的I/O操作请求信息个数统计值和请求执行等待时间统计值;
性能分析模块22:对比分析虚拟机独占时和虚拟机共存时的上下文切换次数、操作I/O请求信息个数统计值和请求执行等待时间统计值,得出系统虚拟机共存时的干扰水平。
其中,图9为本发明性能分析模块结构示意图,如图9所示,性能分析模块22还包括:
上下文对比模块221:对比分析独占虚拟机和共存虚拟机的上下文切换次数,得出上下文切换次数对比值;
平均服务率模块222:通过虚拟机独占时和虚拟机共存时的I/O操作请求信息个数统计值和请求执行等待时间统计值,分别得出虚拟机独占时和虚拟机共存时I/O操作平均服务率;
I/O请求对比模块223:对比分析独占虚拟机和共存虚拟机的I/O操作平均服务率,得出I/O操作平均服务率对比值;
干扰水平分析模块224:汇总上下文切换次数对比值和I/O操作平均服务率对比值,得出系统共存虚拟机的干扰水平。
图10为本发明系统XEN虚拟化环境下具体实施例框架示意图,如图10所示,各个模块的功能和关系如下:
性能监控模块30:采集在I/O请求执行的过程中,对系统中所有上下文切换事件进行跟踪,收集事件信息,包括产生上下文切换的事件名称,事件的数目,事件花费的时间;
跟踪发送到真实设备上的I/O操作,收集I/O请求信息,信息包括每一个I/O操作属于的虚拟机号,该操作目标扇区号,该操作请求块大小,该操作发送到真实设备等待执行的时间,该操作的完成的时间。
性能干扰分析模块40还包括:性能统计模块41和性能分析模块42;
性能统计模块41:通过数据性能监控模块30中收集的数据,统计出系统中发生的上下文切换次数;通过性能监控模块30中收集的数据,统计出来自各个虚拟机的I/O操作的等待时间,真实执行时间;
性能分析模块42:通过性能统计模块41计算出的结果,分析共存应用的干扰程度。
综上所述,本发明提供的一种虚拟化环境中共存应用I/O性能干扰分析方法及其系统,分析了虚拟机I/O性能干扰水平,并通过独占和共存场景下的比较,将干扰水平进行量化。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (12)
1.一种虚拟化环境中共存应用I/O性能干扰分析方法,其特征在于,对I/O操作从虚拟机发出,到真实执行完成的整个过程中,监控该过程中在虚拟机监控器层面和物理资源共享层面最能体现出性能干扰的指标,进而计算干扰水平,所述虚拟化环境中共存应用I/O性能干扰分析方法包括:
性能监控步骤:通过对系统中上下文切换事件进行跟踪监控,并收集所述事件信息和I/O操作请求信息;
性能干扰分析步骤:统计得出所述事件信息统计值,并根据所述I/O操作请求信息,统计得出各个虚拟机的I/O操作的平均服务率,根据所述事件信息统计值和所述I/O操作的平均服务率,得出共存应用的I/O性能的干扰水平。
2.根据权利要求1所述虚拟化环境中共存应用I/O性能干扰分析方法,其特征在于,所述性能监控步骤还包括:
独占监控步骤:在预定的监控时间段内,获取虚拟机独占时在系统单位时间内产生的所述上下文切换次数,并收集和跟踪记录来自所述虚拟机独占时的I/O操作请求信息;
共存监控步骤:在预定的监控时间段内,获取虚拟机共存时在系统单位时间内产生的所述上下文切换次数,并收集和跟踪记录来自所述虚拟机共存时的I/O操作请求信息。
3.根据权利要求1所述虚拟化环境中共存应用I/O性能干扰分析方法,其特征在于,所述性能干扰分析步骤还包括:
性能统计步骤:分别统计所述虚拟机独占时和所述虚拟机共存时的I/O操作请求信息个数统计值和所述请求执行等待时间统计值;
性能分析步骤:对比分析所述虚拟机独占时和所述虚拟机共存时的所述上下文切换次数、所述I/O操作请求信息个数统计值和所述请求执行等待时间统计值,得出系统所述虚拟机共存时的干扰水平。
4.根据权利要求3所述虚拟化环境中共存应用I/O性能干扰分析方法,其特征在于,所述性能分析步骤还包括:
上下文对比步骤:对比分析独占虚拟机和共存虚拟机的所述上下文切换次数,得出上下文切换次数对比值;
平均服务率步骤:通过所述虚拟机独占时和所述虚拟机共存时的所述I/O操作请求信息个数统计值和所述请求执行等待时间统计值,分别得出所述虚拟机独占时和所述虚拟机共存时I/O操作平均服务率;
I/O请求对比步骤:对比分析所述独占虚拟机和所述共存虚拟机的所述I/O操作平均服务率,得出I/O操作平均服务率对比值;
干扰水平分析步骤:汇总所述上下文切换次数对比值和所述I/O操作平均服务率对比值,得出系统所述共存虚拟机的干扰水平。
5.根据权利要求1所述虚拟化环境中共存应用I/O性能干扰分析方法,其特征在于,所述事件信息包括:上下文切换的事件名称、事件数目和事件花费时间。
6.根据权利要求1所述虚拟化环境中共存应用I/O性能干扰分析方法,其特征在于,所述I/O操作请求信息包括:I/O操作属于的虚拟机号、目标扇区号、请求块大小、等待执行时间和操作完成时间。
7.一种虚拟化环境中共存应用I/O性能干扰分析系统,采用如权利要求1-6中任一项所述虚拟化环境中共存应用I/O性能干扰分析方法,其特征在于,对I/O操作从虚拟机发出,到真实执行完成的整个过程中,监控该过程中在虚拟机监控器层面和物理资源共享层面最能体现出性能干扰的指标,进而计算干扰水平,所述性能干扰分析系统还包括:
性能监控模块:通过对系统中上下文切换事件进行跟踪监控,并收集事件信息和I/O操作请求信息;
性能干扰分析模块:统计得出所述事件信息统计值,并根据I/O操作请求信息,统计得出各个虚拟机的I/O操作的平均服务率,根据所述事件信息统计值和所述I/O操作的平均服务率,得出共存应用的I/O性能的干扰水平。
8.根据权利要求7所述虚拟化环境中共存应用I/O性能干扰分析系统,其特征在于,所述性能监控模块还包括:
独占监控模块:在预定的监控时间段内,获取虚拟机独占时在系统单位时间内产生的所述上下文切换次数,并收集和跟踪记录来自所述虚拟机独占时的I/O操作请求信息;
共存监控模块:在预定的监控时间段内,获取虚拟机共存时在系统单位时间内产生的所述上下文切换次数,并收集和跟踪记录来自所述虚拟机共存时的I/O操作请求信息。
9.根据权利要求7所述虚拟化环境中共存应用I/O性能干扰分析系统,其特征在于,所述性能干扰分析模块还包括:
性能统计模块:分别统计所述虚拟机独占时和所述虚拟机共存时的I/O操作请求信息个数统计值和所述请求执行等待时间统计值;
性能分析模块:对比分析所述虚拟机独占时和所述虚拟机共存时的所述上下文切换次数、所述I/O操作请求信息个数统计值和所述请求执行等待时间统计值,得出系统所述虚拟机共存时的干扰水平。
10.根据权利要求9所述虚拟化环境中共存应用I/O性能干扰分析系统,其特征在于,所述性能分析模块还包括:
上下文对比模块:对比分析独占虚拟机和共存虚拟机的所述上下文切换次数,得出上下文切换次数对比值;
平均服务率模块:通过所述虚拟机独占时和所述虚拟机共存时的所述I/O操作请求信息个数统计值和所述请求执行等待时间统计值,分别得出所述虚拟机独占时和所述虚拟机共存时I/O操作平均服务率;
I/O请求对比模块:对比分析所述独占虚拟机和所述共存虚拟机的所述I/O操作平均服务率,得出I/O操作平均服务率对比值;
干扰水平分析模块:汇总所述上下文切换次数对比值和所述I/O操作平均服务率对比值,得出系统所述共存虚拟机的干扰水平。
11.根据权利要求7所述虚拟化环境中共存应用I/O性能干扰分析系统,其特征在于,所述事件信息包括:上下文切换的事件名称、事件数目和事件花费时间。
12.根据权利要求7所述虚拟化环境中共存应用I/O性能干扰分析系统,其特征在于,所述I/O操作请求信息包括:I/O操作属于的虚拟机号、目标扇区号、请求块大小、等待执行时间和操作完成时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410160163.6A CN103955422B (zh) | 2014-04-21 | 2014-04-21 | 一种虚拟化环境中共存应用i/o性能干扰的分析方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410160163.6A CN103955422B (zh) | 2014-04-21 | 2014-04-21 | 一种虚拟化环境中共存应用i/o性能干扰的分析方法及其系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103955422A CN103955422A (zh) | 2014-07-30 |
CN103955422B true CN103955422B (zh) | 2017-04-12 |
Family
ID=51332697
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410160163.6A Active CN103955422B (zh) | 2014-04-21 | 2014-04-21 | 一种虚拟化环境中共存应用i/o性能干扰的分析方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103955422B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107707663A (zh) * | 2017-10-17 | 2018-02-16 | 长沙准光里电子科技有限公司 | 一种虚拟化资源整合平台 |
US11144226B2 (en) | 2019-04-11 | 2021-10-12 | Samsung Electronics Co., Ltd. | Intelligent path selection and load balancing |
CN110247817B (zh) * | 2019-05-13 | 2021-02-12 | 华中科技大学 | 一种测量虚拟网络功能间性能干扰的方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103294546A (zh) * | 2013-04-03 | 2013-09-11 | 华中科技大学 | 多维度资源性能干扰感知的虚拟机在线迁移方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5353227B2 (ja) * | 2008-12-24 | 2013-11-27 | 富士通株式会社 | 性能測定プログラム及び性能測定方法並びに性能測定機能を有する情報処理装置。 |
-
2014
- 2014-04-21 CN CN201410160163.6A patent/CN103955422B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103294546A (zh) * | 2013-04-03 | 2013-09-11 | 华中科技大学 | 多维度资源性能干扰感知的虚拟机在线迁移方法及系统 |
Non-Patent Citations (2)
Title |
---|
Performance Analysis of Network I/O Workloads in Virtualized Data Centers;Yiduo Mei等;《IEEE Transcations on Services Computing》;20131231;第6卷;第1-15页 * |
Understanding the Effects of Hypervisor I/0 Scheduling for Virtual Machine Performance Interference;Ziye Yang等;《2012 IEEE 4th Inernational Conference on Cloud Computing Technology and Science》;20121206;第1-8页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103955422A (zh) | 2014-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9037717B2 (en) | Virtual machine demand estimation | |
US8839271B2 (en) | Call stack sampling to obtain information for analyzing idle states in a data processing system | |
US8627143B2 (en) | Dynamically modeling and selecting a checkpoint scheme based upon an application workload | |
Bortnikov et al. | Predicting Execution Bottlenecks in {Map-Reduce} Clusters | |
CN103049332B (zh) | 一种虚拟cpu调度方法 | |
CN102073535B (zh) | 基于硬件计数器虚拟化的多虚拟机性能分析方法 | |
Xu et al. | Adaptive task scheduling strategy based on dynamic workload adjustment for heterogeneous Hadoop clusters | |
CN108021487B (zh) | 一种gpu图形处理性能监测与分析方法 | |
CN102929769B (zh) | 一种基于代理服务的虚拟机内部数据采集方法 | |
CN106293881B (zh) | 一种基于非一致性i/o访问构架的性能监控器及其监控方法 | |
CN106354616B (zh) | 监测应用执行性能的方法、装置及高性能计算系统 | |
GB2527788A (en) | Scheduling applications in a clustered computer system | |
US20120089724A1 (en) | Diagnosis of application server performance problems via thread level pattern analysis | |
CN103955422B (zh) | 一种虚拟化环境中共存应用i/o性能干扰的分析方法及其系统 | |
CN102893261B (zh) | 空闲转换采样方法及其系统 | |
CN107624181B (zh) | 包括虚拟处理器的闲置和调度的虚拟机管理方法和装备 | |
CN104239183A (zh) | 监测系统性能的方法及装置 | |
CN1851652A (zh) | 嵌入式sram操作系统进程优先级轮转调度的实现方法 | |
Apte et al. | Look Who's Talking: Discovering Dependencies between Virtual Machines Using {CPU} Utilization | |
CN103955396A (zh) | 一种基于共生系数平衡的虚拟机调度方法 | |
EP4163795A1 (en) | Techniques for core-specific metrics collection | |
CN111459815A (zh) | 一种实时计算引擎测试方法和系统 | |
CN109117247B (zh) | 一种基于异构多核拓扑感知的虚拟资源管理系统及方法 | |
Zhong et al. | Optimizing Xen hypervisor by using lock-aware scheduling | |
CN1825288A (zh) | 嵌入式sram操作系统进程多队列调度的实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220426 Address after: 100095 room 217, second floor, building 17, Chuangke town community supporting commercial building, Wenquan Town, Haidian District, Beijing Patentee after: Zhongkehai micro (Beijing) Technology Co.,Ltd. Address before: 100190 No. 6 South Road, Zhongguancun Academy of Sciences, Beijing, Haidian District Patentee before: Institute of Computing Technology, Chinese Academy of Sciences |
|
TR01 | Transfer of patent right |