一种i/o密集型应用识别方法

文档序号:9708197阅读:789来源:国知局
一种i/o密集型应用识别方法
【技术领域】
[0001] 本发明涉及一种云计算应用的识别方法,尤其是涉及一种I/O密集型应用识别方 法。
【背景技术】
[0002] 云计算是IT领域的一次重大技术变革,它深刻改变了人们使用IT资源的习惯,这 不仅仅体现在这一个技术领域内的改变和影响,在未来也可能涵盖人类和社会的整个生活 领域。同时云计算对传统产业带来的不仅仅是冲击,而且也是便捷与机遇。云计算之所以如 此强大,是因为云计算中心有着强大的计算能力和海量的存储能力,它能通过虚拟化技术 为用户提供按需服务而无需用户了解任何的技术细节。
[0003] 虽然云计算技术改变了公司的运作方式,是划时代的技术,但也存在着一些潜在 的问题。首先是云端系统的故障会为用户带来一系列负面的连锁反应,亚马逊的EC2在过去 三年至少发生过3次规模较大的数据丢失事故,导致一些客户永久失去了数据。其次是处理 成本的问题,冷却系统、带宽、防火墙支持、后台程序、安全系统、巡查和24小时不间断的网 络监控系统,这些所产生的费用也是一笔不小的数目。最后是是当海量用户访问时,云处理 服务系统以有限的带宽来处理所有的问题,这势必会导致效率遇到瓶颈,通常的做法是硬 件上的扩充,扩大云数据中心的规模来满足更多的用户需求。而针对现有系统的性能挖掘 和提升技术应用较少,一些研究机构虽然从不同层面进行了探讨,但总体来说,并没有从应 用本身来考虑问题,因此对数据中心性能的提升非常有限。可以想象,针对不同的云应用, 它们对云计算资源的需求也不会相同,如有的应用可能对服务器的CPU的要求比较高,而有 的应用可能对服务器的内存压力比较大,而另有一些可能需要的资源主要以I/O为主。如果 能够针对这些不同的应用,合理的考虑数据中心的资源分配,那么将极有可能大大提升云 数据中心的处理能力,服务能力。以I/O密集型应用为例,它作为最为常见的云计算应用类 型之一,如何减少一个具体应用的处理时间,降低其I/O访存次数,提升数据中心的服务能 力,延长硬件设备的使用寿命等着都是非常重要而且有意义的工作。但所有这些工作的前 提是必须知道一个未知的云计算应用是I/O密集型应用,并且能设计开发出针对这种类型 应用的有效的处理策略。

【发明内容】

[0004] 本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种识别精度高、判 别速度快的I/O密集型应用识别方法。
[0005] 本发明的目的可以通过以下技术方案来实现:
[0006] -种I/O密集型应用识别方法,包括以下步骤:
[0007] 1)建立I/O密集型应用的识别模型;
[0008] 2)根据所述识别模型,对未知应用执行过程进行监测,采集一段时间内未知应用 执行过程对资源的使用情况数据;
[0009] 3)将步骤2)所采集的使用情况数据与设定的阈值条件进行比较,判断未知应用是 否为I/O密集型应用。
[0010] 步骤1)中,所述I/O密集型应用的识别模型为一特征六元组:
[0011] (CPU,Csw,Mem,Pro,I/O,Net)
[0012] 其中,CHJ表示CPU状态,Csw表示应用上下文切换状态,Mem表示虚拟内存使用状 态,Pro表示进程阻塞状态,I/O表示硬盘读写状态,Net表示网络传输状态。
[0013] 步骤2)中,根据所述识别模型,采集的使用情况数据包括CPU在CPUiowait、 CPUu s er、CPUsy s t em三个状态下的占用值、上下文切换数量、虚拟内存占用值、阻塞队列的 每秒任务数、硬盘读写速率以及网络传输速率。
[0014] 所述步骤3)具体为:
[0015] 301)判断CPU在CPUiowait、CPUuser、CPUsystem三个状态下的占用值是否均满足 第一阈值条件,若是,则执行步骤302),若否,则执行步骤307);
[0016] 302)判断上下文切换数量是否满足第二阈值条件,若是,则执行步骤303),若否, 则执行步骤307);
[0017] 303)判断虚拟内存占用值是否满足第三阈值条件且是否发生页面替换,若是,则 执行步骤304),若否,则执行步骤307);
[0018] 304)判断阻塞队列的每秒任务数是否满足第四阈值条件,若是,则执行步骤305), 若否,则执行步骤307);
[0019] 305)判断硬盘读写速率是否满足第五阈值条件,若是,则执行步骤306),若否,则 执行步骤307);
[0020] 306)判断网络传输速率是否满足第六阈值条件,若是,则判定未知应用为I/O密集 型应用,若否,则执行步骤307);
[0021] 307)判定未知应用为非I/O密集型应用。
[0022] 所述步骤301)中,第一阈值条件为:iowait>C,user〈U,system〈U,iowait、user、 85^6111分别表示0?1]在0?1];[€^;[1:、0?1]11861'、0?1]85^61]1三个状态下的占用值,(]和1]为设定的 阈值。
[0023] 所述步骤302)中,第二阈值条件为:上下文切换数量〉W,W为设定的阈值。
[0024]所述步骤303)中,第三阈值条件为:虚拟内存占用值〉M,M为设定的阈值。
[0025]所述步骤304)中,第四阈值条件为:阻塞队列的每秒任务数<P,P为设定的阈值。 [0026] 所述步骤305)中,第五阈值条件为:硬盘读写速率〉V,V为设定的阈值。
[0027] 所述步骤306)中,第六阈值条件为:网络传输速率〉N,N为设定的阈值。
[0028] 与现有技术相比,本发明具有以下有益效果:
[0029] (1)本发明根据I/O密集型应用满足的共性规律建立I/O密集型应用的识别模型, 该识别模型由一个特征六元组组成,通过特征六元组的监测,可快速判定未知应用是否属 于I/O密集型应用,且识别正确性高。
[0030] (2)本发明能够较好的识别云计算环境下的I/O密集型应用,从而为进一步针对这 种特定类型的应用研究高效的处理方法提供了理论基础,同时为提高云计算服务运营时的 资源使用效率提供基础。
【附图说明】
[0031]图1为本发明方法的流程示意图;
[0032] 图2为实验一中CPUiowait所占 CPU的百分比示意图;
[0033] 图3为实验一中上下文切换每秒数量示意图;
[0034] 图4为实验一中虚拟内存使用情况示意图;
[0035] 图5为实验一中进程阻塞队列数示意图;
[0036] 图6为实验一中硬盘每秒写文件速度示意图;
[0037] 图7为实验一中网络每秒接收速度示意图;
[0038] 图8为实验二中CPUiowait所占 CPU的百分比示意图;
[0039] 图9为实验二中上下文切换每秒数量示意图;
[0040] 图10为实验二中虚拟内存使用情况示意图;
[0041 ]图11为实验二中进程阻塞队列数示意图;
[0042] 图12为实验二中硬盘每秒写文件速度示意图;
[0043] 图13为实验二中网络每秒接收速度示意图。
【具体实施方式】
[0044]下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案 为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于 下述的实施例。
[0045] 本发明实施例提供一种I/O密集型应用识别方法,包括以下步骤:
[0046] 1)建立I/O密集型应用的识别模型,该模型能够体现I/O密集型应用的共性特征, 本模型中,I/O密集型应用的识别模型为一特征六元组:
[0047] (CPU,Csw,Mem,Pro,I/O,Net)
[0048] 其中,CHJ表示CPU状态,Csw表示应用上下文切换状态,Mem表示虚拟内存使用状 态,Pro表示进程阻塞状态,I/O表示硬盘读写状态,Net表示网络传输状态。
[0049] CPU、Mem和I/O为通常状态下主机系统利用率的主要应用检查识别项目。而计算机 系统中对具体应用而言,会存在多个应用共享、切换问题以及因为网络传输影响的系统运 行效率,所以对于各个应用之间
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1