CN103942084B - 虚拟化环境中应用共存分析方法及装置 - Google Patents

虚拟化环境中应用共存分析方法及装置 Download PDF

Info

Publication number
CN103942084B
CN103942084B CN201310023493.6A CN201310023493A CN103942084B CN 103942084 B CN103942084 B CN 103942084B CN 201310023493 A CN201310023493 A CN 201310023493A CN 103942084 B CN103942084 B CN 103942084B
Authority
CN
China
Prior art keywords
resource
probability
resources
application
kinds
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
Application number
CN201310023493.6A
Other languages
English (en)
Other versions
CN103942084A (zh
Inventor
宋�莹
孙毓忠
丁晓雯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhongkehai Micro Beijing Technology Co ltd
Original Assignee
Institute of Computing Technology of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN201310023493.6A priority Critical patent/CN103942084B/zh
Publication of CN103942084A publication Critical patent/CN103942084A/zh
Application granted granted Critical
Publication of CN103942084B publication Critical patent/CN103942084B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明提供虚拟化环境应用共存分析方法及设备。首先计算应用A和应用B竞争各类资源的概率,然后根据应用A和应用B竞争各类资源的概率来分析应用A和应用B是否适合共存。该方法对应用进行细粒度量化分析,根据分析结果,按照应用对资源的使用状况确定应用是否可以共存,这样既能达到使用虚拟化技术提高资源利用率的目标,也能为共存状态下应用的性能提供保障。

Description

虚拟化环境中应用共存分析方法及装置
技术领域
本发明涉及虚拟机的迁移和部署,尤其涉及在虚拟机的迁移和部署中的应用共存分析。
背景技术
虚拟化技术产生于上世纪六十年代,到目前为止,已经被应用于很多行业和领域,并且在未来将有更广泛的使用。通过虚拟化技术,可以提高服务器的利用率,提高服务的稳定性和健壮性以及软件的可移植性。
应用共存分析在虚拟机的部署和迁移中始终占据重要地位。其分析粒度直接影响应用部署、迁移算法的设计。参考文献1(Anh Vu Do,Junliang Chen,Chen Wang,YoungChoon Lee,Albert Y.Zomaya,and Bing Bing Zhou,“Profiling Applications forVirtual Machine Placement in Clouds Profiling Applications for VirtualMachine Placement in Clouds”,2011,IEEE 4th International Conference on CloudComputing)中提出基于黑盒模式的CCA统计推理分析方法,但其方法只能静态的得到应用间相互影响的程度,而应用之间的影响是动态的,应用在不同的负载特征下,对资源的利用规律是是不相同的,因此,简单的静态分析结果与应用实际运行时的状态是有差异的。并且这样的黑盒分析不能定位到应用间产生影响的具体原因。参考文献2(ChingChuen,TeckMark,DusitNiyato,Tham Chen-Khong,“Evolutionary Optimal Virtual MachinePlacement andDemand Forecaster for Cloud Computing",2011,InternationalConference on Advanced Information Networking and Applications)在解决虚拟机部署问题时提出一种分析应用的模型,但该模型的目标是预测应用执行时对各种资源的需求量,根据两个应用对资源需求量的加和是否超过物理机的资源总量来判断两个应用是否能够共存。这种方法没有考虑到不同应用之间共享资源造成的相互影响,如两个I/O密集型的应用共享同一服务器时,其性能下降可超过10倍。两类应用对于资源的需求总和往往不能进行简单的相加,上下文的切换、存储介质访问规律的打乱都会使得应用性能受到显著影响。参考文献3(Jason Sonnek and Abhishek Chandra,“Virtual Putty:Reshaping thePhysical Footprint of Virtual Machines”,San Diego,CA,for HotCloud'09)通过VM的footprint分析应用间是否在网络通信及内存使用上有交互,选择将具有频繁通信的应用部署在同一服务器上。但在实际情况中,常常需要考虑相对独立的多个应用的部署问题,在这种情况下,使用footprint的方法并不合适。使用这些方法无法解决计算系统的高利用率和应用服务水平协议SLA(Service-Level Agreement)独占要求间的矛盾。
发明内容
因此,本发明的目的在于克服上述现有技术的缺陷,提供一种虚拟化环境应用共存分析方法,既可以提高资源利用率又可以为共存状态下的应用的性能提供保障。
本发明的目的是通过以下技术方案实现的:
一方面,在本发明的一个实施例中,提供一种确定应用之间竞争资源的方法,所述方法包括:
步骤1)从在预定的监控时间段内应用A独占物理机时的执行路径和应用B独占物理机时的执行路径获取应用A和应用B在硬件驱动层对某类资源的请求情况;
步骤2)根据应用A和应用B对该类资源的请求情况,计算应用A和应用B竞争该类资源的概率。
上述方法中,所述步骤1)中所述资源类型可以为处理器、网络、磁盘或内存。
上述方法中,所述步骤1)中应用A或B独占物理机时的执行路径可以是应用A或B在中间件,库,文件,操作系统,硬件驱动这五个层次中的函数调用关系。
上述方法中,所述步骤1)中对某类资源的请求情况可包括应用A或B中的系统调用请求的资源类型、请求该类资源的时间点、占用该类资源的时间段。
上述方法中,所述步骤2)中应用A和应用B竞争某类资源的概率可以等于应用A和应用B同时需要使用该资源的时间段之和除以进行监控的时间段。
又一方面,在本发明的一个实施例中,提供一种虚拟化环境应用共存分析方法,所述方法包括:
步骤a)采用上述的确定应用之间竞争资源的方法来计算应用A和应用B竞争各类资源的概率;
步骤b)根据应用A和应用B竞争各类资源的概率来分析应用A和应用B是否适合共存。
在上述应用共存分析方法中,所述步骤1)中所述资源类型可包括处理器、网络、磁盘、内存。
在上述应用共存分析方法中,所述步骤b)可包括以下步骤:
步骤b1)根据硬件条件,设置各类资源在此次分析中的权重;
步骤b2)根据应用A和应用B竞争各类资源的概率和所设置的各类资源的权重,计算应用A和应用B之间的影响系数;
步骤b3)将应用A和应用B之间的影响系数与预定阈值进行比较,以确定应用A和应用B是否适合共存。
在上述应用共存分析方法中,所述步骤b2)中应用A和应用B之间的影响系数=P内存*m%+P磁盘*d%+P网络*n%+Pcpu*c%,其中,P内存、P网络、P磁盘、Pcpu分别表示应用A和应用B竞争磁盘、网络、内存、处理器的概率,c%+m%+d%+n%=100%。
又一方面,在本发明的一个实施例中,提供一种确定应用之间竞争资源的设备,包括:
用于从在预定的监控时间段内应用A独占物理机时的执行路径和应用B独占物理机时的执行路径获取应用A和应用B在硬件驱动层对某类资源的请求情况的装置;
用于根据应用A和应用B对该类资源的请求情况,计算应用A和应用B竞争该类资源的概率的装置。
又一方面,在本发明的一个实施例中,提供一种虚拟化环境应用共存分析设备,包括:
用于采用上述的确定应用之间竞争资源的方法来计算应用A和应用B竞争各类资源的概率的装置;
用于根据应用A和应用B竞争各类资源的概率来分析应用A和应用B是否适合共存的装置。
与现有技术相比,本发明的优点在于:
对应用的细粒度量化分析,根据分析结果,按照应用对资源的使用状况确定应用是否可以共存,这样既能达到使用虚拟化技术提高资源利用率的目标,也能为共存状态下应用的性能提供保障。
附图说明
以下参照附图对本发明实施例作进一步说明,其中:
图1为根据本发明实施例的应用对CPU占用情况示意图。
具体实施方式
为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
根据本发明的一个实施例,提出了一种确定应用之间竞争资源的方法。该方法主要包括下列步骤:
步骤1)、获取预定的监控时间段内应用A独占物理机时的执行路径和应用B独占物理机时的执行路径。
应用独占物理机时的执行路径指该应用在中间件,库,文件,操作系统,硬件驱动这五个层次中的函数调用关系。也就是说应用独占物理机时的执行路径实际上是该应用在执行时的函数调用图。例如,作为一个示例:一个应用层的read操作通过Int 80中断触发与处理调用(以下用->表示“调用”)文件系统层的sys_read,sys_read调用fget等,一直调用下去,直到硬件设备做出具体的响应。该函数调用关系可表示为:
read->sys_read->fget->vfs_read->generic_file_read->find_page_nolock->_add_to_page_cache->generic_file_readahead->page_cache_read->Ext2_readpage->mpage_readpage->mpage_bio_submit->submit_bio->generic_make_reqquest->blk_partition_remap->make_requeue_fn->blk_requeue_make_request->__make_requeue->Requeue_fn->设备访问。
通过分析某个应用独占物理机时的执行路径中的系统调用函数能够得到该应用对某种硬件资源的请求情况,如通过上述应用层的read操作的执行路径,可以得到磁盘设备读操作的时间点,通过read的数据量可以分析得到占用磁盘的时间段信息;通过每个函数对应的汇编语句可以分析得到执行这段代码所需要占用的CPU时间片信息等。
其中,应用独占物理机时的执行路径可以利用路径追踪工具来获取。例如,采用CrossWalk(Alexander V.Mirgorodskiy and Barton P.Miller,“CrossWalk:A Tool forPerformance Profiling Across the User-Kernel Boundary”)、或CodeViz(http:// www.csn.ul.ie/~mel/projects/codeviz)等路径追踪工具来获取预定的监控时间段内某个应用独占物理机时的执行路径。
步骤2)、从所获取的应用独占物理机时的执行路径中分别获取应用A和应用B在硬件驱动层对某类资源的请求情况。
例如,获取应用A在硬件驱动层对某类资源的请求状况,可以包括例如从应用A独占物理机时的执行路径获取应用A的系统调用请求的资源类型(cpu、网络、磁盘或内存)、请求该类资源的时间点、占用该类资源的时间段。获取应用B在硬件驱动层对某类资源的请求状况,可以包括从应用B独占物理机时的执行路径获取应用B的系统调用请求的资源类型(cpu、网络、磁盘或内存)、请求该类资源的时间点、占用该类资源的时间段。
步骤3)根据应用A和应用B对该类资源的请求情况,计算应用A和应用B竞争该类资源的概率。其中所述资源类型可以为处理器(CPU)、网络、磁盘或内存。
根据本发明的一个实施例,对于某类资源,可以采用下述方法来计算应用A和应用B竞争该类资源的概率。以计算应用A和应用B竞争CPU的概率为例,可以包括下面的步骤:
步骤3-1)、将应用A和应用B对cpu的利用情况绘图,如图1所示。图1中纵坐标为对cpu资源的占用情况:0表示未占用cpu资源,1表示占用cpu资源;横坐标为时间轴。图1中①部分为应用A对cpu的使用情况,图1中②部分为应用B对cpu的使用情况,图1中③部分为应用A和应用B对cpu资源请求的重合部分。
步骤3-2)、比较应用A对cpu的占用时序图(图1中①部分)和应用B对cpu的占用时序图(图1中②部分),将两个时序图的重叠部分绘制成图1中③部分。图1③中0-t7为进行监控的时间段(即代表所获取的执行路径的时间长度),t1-t2,t3-t4,t5-t6是应用A和应用B均需要使用cpu的时间段,应用A和应用B竞争资源的概率Pcpu=(t2-t1+t4-t3+t6-t5)/t7。
从上述步骤可以看出,应用A和应用B竞争某类资源的概率可以描述为“该概率等于应用A和应用B同时需要使用该资源的时间段之和除以进行监控的时间段”。
同样,采用与上面相同的方法,可以分别计算应用A和应用B竞争磁盘,网络,内存的概率P内存,P网络,P磁盘。
根据本发明的又一个实施例,提出了一种虚拟化环境应用共存分析方法,主要包括下列步骤:
步骤A)、根据上文所述的计算应用竞争资源的概率的方法,来得到应用A和应用B竞争各类资源的概率。其中所述资源类型可以为处理器(CPU)、网络、磁盘、内存。
步骤B)根据应用A和应用B竞争各类资源的概率来分析应用A和应用B是否适合共存。
例如,如果应用A和应用B竞争各类资源的概率都比较小,则可以判断出应用A和应用B适合共存。如果应用A和应用B竞争各类资源的概率都比较大,则可以判断出应用A和应用B不适合共存。
又例如,如果应用A和应用B竞争CPU的概率较大,而应用A和应用竞争磁盘的概率较小,说明这两个应用可能都是计算密集型应用,那么对于CPU资源紧张的硬件平台而言,应用A和应用B不适合共存。如果应用A和应用B竞争磁盘的概率较大,而应用A和应用竞争CPU的概率较小,说明这两个应用可能都是访问密集型应用,那么对于磁盘资源紧张的硬件平台而言,应用A和应用B不适合共存。
在又一个实施例中,提供了一种根据硬件平台的资源状况来定量地分析应用A和应用B是否适合共存的方法。主要包括下列步骤:
(1)、根据硬件平台的资源状况(例如,服务器平台的硬件条件),设置各类资源(例如内存,网络,磁盘,cpu等)的权重。
例如,如果服务器内存的容量较大,则内存成为瓶颈的可能性相对较低,可以将内存的权重调整的较小;如果服务器网络带宽较大,则网络成为瓶颈的可能性相对较低,可以将网络的权重调整的较小;如果服务器磁盘的读写速度较快,则读写磁盘成为瓶颈的可能性相对较低,可以将磁盘的权重调整的较小;如果服务器cpu能力强,则cpu成为瓶颈的可能性相对较低,可以将cpu的权重调整的较小;但无论如何调整,内存,网络,磁盘,cpu这四项资源的权重加和始终为100%,假设内存,网络,磁盘,cpu进行调整后的权重分别为c%,m%,d%,n%。
(2)、根据所获得的应用A和应用B竞争各类资源的概率和所设置的各类资源的权重,计算应用A和应用B之间的影响系数。
例如,应用A和B竞争磁盘,网络,内存,cpu的概率分别表示为P内存,P网络,P磁盘,Pcpu,将磁盘,网络,内存,cpu的权重分别设置为c%、m%、d%、n%,则应用A和应用B之间的影响系数=P内存*m%+P磁盘*d%+P网络*n%+Pcpu*c%。该影响系数介于0~1之间,并且越趋近于1表示影响程度越大。
(3)、根据所得到的应用A和应用B之间的影响系数,来分析应用A和应用B是否适合共存。
例如,可以根据用户对应用性能要求程度来设置一个阈值,如果应用A和应用B之间的影响系数低于该阈值表示应用A和应用B适合共存,反之,如果高于该阈值表示应用A和应用B不适合共存。若用户对应用性能要求高,则可以将该阈值设置低一些,例如在0~0.5之间;反之,则可以将该阈值设置高一些(如0.5~1之间);一般情况可以该阈值设置为0.5。
在本发明的实施例中,实现了对应用的细粒度量化分析,根据分析结果,按照应用对资源的使用状况确定应用是否可以共存,这样既能达到使用虚拟化技术提高资源利用率的目标,也能为共存状态下应用的性能提供保障。
虽然本发明已经通过优选实施例进行了描述,然而本发明并非局限于这里所描述的实施例,在不脱离本发明范围的情况下还包括所作出的各种改变以及变化。

Claims (11)

1.一种确定应用之间竞争资源的方法,该方法包括:
步骤1)从在预定的监控时间段内应用A独占物理机时的执行路径和应用B独占物理机时的执行路径获取应用A和应用B在硬件驱动层对某类资源的请求情况;
步骤2)根据应用A和应用B对该类资源的请求情况,计算应用A和应用B竞争该类资源的概率。
2.根据权利要求1所述的方法,所述步骤1)中所述资源的类型为处理器、网络、磁盘或内存。
3.根据权利要求1或2所述的方法,所述步骤1)中应用A或B独占物理机时的执行路径是应用A或B在中间件,库,文件,操作系统,硬件驱动这五个层次中的函数调用关系。
4.根据权利要求1或2所述的方法,所述步骤1)中对某类资源的请求情况包括应用A或B中的系统调用请求的资源类型、请求该类资源的时间点、占用该类资源的时间段。
5.根据权利要求1或2所述的方法,所述步骤2)中应用A和应用B竞争某类资源的概率等于应用A和应用B同时需要使用该资源的时间段之和除以进行监控的时间段。
6.一种虚拟化环境应用共存分析方法,所述方法包括:
步骤a)采用权利要求1-5之一所述的方法来计算应用A和应用B竞争各类资源的概率;
步骤b)根据应用A和应用B竞争各类资源的概率来分析应用A和应用B是否适合共存。
7.根据权利要求6所述的方法,所述步骤1)中所述资源的类型包括处理器、网络、磁盘、内存。
8.根据权利要求6或7所述的方法,所述步骤b)包括以下步骤:
步骤b1)根据硬件条件,设置各类资源在此次分析中的权重;
步骤b2)根据应用A和应用B竞争各类资源的概率和所设置的各类资源的权重,计算应用A和应用B之间的影响系数;
步骤b3)将应用A和应用B之间的影响系数与预定阈值进行比较,以确定应用A和应用B是否适合共存。
9.根据权利要求8所述的方法,其中所述步骤b2)中应用A和应用B之间的影响系数=P内存*m%+P磁盘*d%+P网络*n%+Pcpu*c%,其中,P内存、P网络、P磁盘、Pcpu分别表示应用A和应用B竞争磁盘、网络、内存、处理器的概率,c%+m%+d%+n%=100%。
10.一种确定应用之间竞争资源的设备,包括:
用于从在预定的监控时间段内应用A独占物理机时的执行路径和应用B独占物理机时的执行路径获取应用A和应用B在硬件驱动层对某类资源的请求情况的装置;
用于根据应用A和应用B对该类资源的请求情况,计算应用A和应用B竞争该类资源的概率的装置。
11.一种虚拟化环境应用共存分析设备,包括:
用于采用权利要求1-5之一所述的方法来计算应用A和应用B竞争各类资源的概率的装置;
用于根据应用A和应用B竞争各类资源的概率来分析应用A和应用B是否适合共存的装置。
CN201310023493.6A 2013-01-22 2013-01-22 虚拟化环境中应用共存分析方法及装置 Active CN103942084B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310023493.6A CN103942084B (zh) 2013-01-22 2013-01-22 虚拟化环境中应用共存分析方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310023493.6A CN103942084B (zh) 2013-01-22 2013-01-22 虚拟化环境中应用共存分析方法及装置

Publications (2)

Publication Number Publication Date
CN103942084A CN103942084A (zh) 2014-07-23
CN103942084B true CN103942084B (zh) 2017-04-12

Family

ID=51189760

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310023493.6A Active CN103942084B (zh) 2013-01-22 2013-01-22 虚拟化环境中应用共存分析方法及装置

Country Status (1)

Country Link
CN (1) CN103942084B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9813335B2 (en) * 2014-08-05 2017-11-07 Amdocs Software Systems Limited System, method, and computer program for augmenting a physical system utilizing a network function virtualization orchestrator (NFV-O)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101499021A (zh) * 2008-01-31 2009-08-05 国际商业机器公司 在多个虚拟机上动态分配资源的方法和装置
CN102156665A (zh) * 2011-04-13 2011-08-17 杭州电子科技大学 一种虚拟化系统竞争资源差异化服务方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090282414A1 (en) * 2008-05-07 2009-11-12 Branda Steven J Prioritized Resource Access Management

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101499021A (zh) * 2008-01-31 2009-08-05 国际商业机器公司 在多个虚拟机上动态分配资源的方法和装置
CN102156665A (zh) * 2011-04-13 2011-08-17 杭州电子科技大学 一种虚拟化系统竞争资源差异化服务方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
《A Two-Tiered On-Demand Resource Allocation Mechanism for VM-Based Data Centers》;Ying Song et al;《IEEE TRANSACTIONS ON SERVICES COMPUTING》;20110616;第6卷(第1期);全文 *
《基于Xen虚拟机的资源管理系统的研究与实现》;宁刚;《中国优秀硕士学位论文全文数据库 信息科技辑》;20120715(第7期);全文 *
《基于主机负载预测的机群动态任务调度策略研究》;陈荣征;《中国优秀硕士学位论文全文数据库 信息科技辑》;20080915(第9期);全文 *
《虚拟机平台下虚拟资源的自适应分配策略与机制研究》;颜燕娜;《中国优秀硕士学位论文全文数据库 信息科技辑》;20120315(第3期);全文 *

Also Published As

Publication number Publication date
CN103942084A (zh) 2014-07-23

Similar Documents

Publication Publication Date Title
Ullah et al. Adaptive resource utilization prediction system for infrastructure as a service cloud
US20110246995A1 (en) Cache-aware thread scheduling in multi-threaded systems
US9483288B2 (en) Method and system for running a virtual appliance
US9081623B1 (en) Service resource allocation
US10896059B2 (en) Dynamically allocating cache in a multi-tenant processing infrastructure
CN116560846A (zh) 基于计算系统中的利用模式的资源过度订阅
US10719366B1 (en) Dynamic and selective hardware acceleration
TWI755415B (zh) 雲端環境下應用集群資源分配的方法、裝置和系統
US10936039B2 (en) Multi-tenant edge cloud system power management
CN109144658B (zh) 有限资源的负载均衡方法、装置及电子设备
Gao et al. On exploiting dynamic execution patterns for workload offloading in mobile cloud applications
WO2017166643A1 (zh) 一种任务资源的量化方法和装置
US20140373010A1 (en) Intelligent resource management for virtual machines
US10680975B2 (en) Method of dynamic resource allocation for public clouds
CN111143039B (zh) 一种虚拟机的调度方法、装置及计算机存储介质
Sood et al. Matrix based proactive resource provisioning in mobile cloud environment
CN107133087A (zh) 一种资源调度方法与设备
Jeong et al. Stable and efficient resource management using deep neural network on cloud computing
CN107851041A (zh) 多处理器/多核心计算系统的动态调优
Ludwig et al. Optimizing multi‐tier application performance with interference and affinity‐aware placement algorithms
Lu et al. InSTechAH: Cost-effectively autoscaling smart computing hadoop cluster in private cloud
Li et al. Research on energy‐saving virtual machine migration algorithm for green data center
US20170124129A1 (en) Data processing in distributed computing
CN104657216A (zh) 一种资源池的资源分配方法及装置
CN103942084B (zh) 虚拟化环境中应用共存分析方法及装置

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: 20220506

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