资源优化组件和方法

文档序号:6562752阅读:266来源:国知局
专利名称:资源优化组件和方法
技术领域
本发明涉及资源管理领域。具体地说,本发明涉及数据处理系统中的资源优化。
背景技术
人们希望计算机系统可以执行许多不同的任务。这些任务涵盖处理复杂的计算,运行CPU密集的游戏应用以及文字处理应用等。即使在最基本的计算机系统中,也会有许多应用同时使用大量有限的资源,例如CPU、存储器、存储装置和网络带宽。所有这些有限的资源对在计算机系统上运行的应用的性能都有一定影响。
为了增加在计算机系统上运行的应用或过程的处理能力或降低其响应时间,通常试图增加一个或多个资源的容量。但是,选择哪些资源并非简单的工作。一种已知的方法是选择以完全容量运行的资源。但是,在虚拟存储器或异构工作负荷的情况下(其中一个或多个资源经常达到完全工作容量)这很难确定。
有选择地升级此类资源并测量性能改善通常要求计算机系统停止运行和重新启动,这可以是昂贵的、耗时的或给服务带来不可接受的中断。在服务器安装中,可以在不同系统间转移工作负荷来改善性能,但是,这种方法对单独的个人计算机和孤立的诸如路由器或交换机之类的机器无效。
因此,本领域中需要标识哪些资源对在计算机系统上运行的应用或过程具有最大影响,依次地,哪些已标识的资源将受益于容量增加,由此改善所述应用或过程的性能。

发明内容
从第一个方面来看,本发明提供了一种用于优化在数据处理系统中运行的过程的性能的资源优化组件,所述资源优化组件包括监视组件,所述监视组件用于收集关于过程的性能统计和标识对过程性能具有影响的资源;调节组件,所述调节组件用于限制所述标识的资源的可用容量;并且其中所述监视组件监视过程性能以确定限制所述标识的资源的所述可用容量对过程性能的影响,并确定为了提高所述过程性能而要对所述资源执行的操作。
从第二个方面来看,本发明提供了一种用于优化在数据处理系统中运行的过程的性能的资源优化方法,所述资源优化方法包括以下步骤收集关于过程的性能统计和标识对所述过程的性能具有影响的资源;限制所述标识的资源的可用容量;以及监视所述过程性能以确定限制所述标识的资源的所述可用容量对所述过程性能的影响,以及确定为了提高过程性能而要对所述资源执行的操作。
从第三个方面来看,本发明提供了一种可直接加载到数字计算机的内部存储器中的计算机程序产品,所述计算机程序产品包括当所述产品在计算机上运行时如上所述地执行的软件代码部分。
本发明有利地规定了标识对应用或过程性能具有影响的资源,并且对于每个所确定的资源,确定哪些资源将从运行容量增加中受益,由此提高应用或过程的性能。
例如,所述资源优化组件可以将CPU检测为对应用的性能具有影响并且因此根据特定百分比(例如,10%)来限制CPU的可用运行容量。所述资源优化组件根据对CPU运行容量的限制来监视过程性能。取决于所述影响的严重程度,所述资源优化组件向用户或操作系统提出与将执行的操作有关的建议以便提高过程性能。操作可以是使用更快和更高效的CPU来替换所述CPU或增加存储器大小等。
减少CPU资源可能对过程性能没有显著影响并且因此将不给出任何建议。但是所述资源优化组件可以检测到减少其他类型资源的可用容量确实带来了显著影响,因此将建议用于提高过程性能的操作以响应检测到的其他类型的资源。
因此,有利地,所述资源优化组件持续地监视在计算机系统上运行的应用和/或过程,检测应用和过程的性能瓶颈。此外,由于所述资源优化组件通过降低资源容量来检测瓶颈,所以可以更为准确地检测计算机系统中瓶颈的位置,而无需反复试验替换组件以确定哪些替换将得到最大收益。


以下仅通过实例的方式参考附图详细说明了本发明的各实施例,这些附图是图1示出了其中可以包括本发明的数据处理系统;图2是示出了根据本发明的优选实施例的资源优化组件的各组件的方块图;图3是示出了根据本发明的优选实施例的监视组件的内部组件的方块图;图4是示出了根据本发明的优选实施例的资源优化组件的操作步骤的流程图;图5是示出了根据本发明的优选实施例的资源优化组件在被动模式运行时的顺序步骤的顺序图;以及图6是示出了根据本发明的优选实施例的资源优化组件在主动模式运行时的顺序步骤的顺序图。
具体实施例方式
参考图1,示出了其中可以实现本发明的优选实施例的计算机系统100。计算机系统100具有中央处理单元101且具有形式为存储器102(RAM和ROM)的主存储。存储器102存储作用于应用或由应用创建的程序信息和数据。程序信息包括用于计算机系统100的操作系统代码和用于在计算机系统100上运行的应用的应用代码。辅助存储包括光盘存储103和磁盘存储104。数据和程序信息还可以存储在辅助存储并可从其访问。
计算机系统100包括用于将计算机系统100连接到诸如局域网(LAN)或互联网之类的网络的网络连接装置105。计算机系统100还可以具有其他外部源通信装置,例如传真机调制解调器或电话连接。
中央处理单元101包括用于输入文本、图像、图形等例如形式为键盘106、鼠标107、语音输入108和扫描器109的输入设备。中央处理单元101的输出可以包括显示装置110、打印机111、声音输出112、视频输出113等。
在分布式系统中,如图1所示的计算机系统100可以通过网络连接105连接到服务器,应用可以相对中央处理单元101远程地在该服务器上运行,所述系统然后被称为客户机/服务器系统。
可以从存储装置103、104或通过网络连接105在计算机系统100上运行应用,所述应用可以包括电子表格应用、数据库应用和其他存储及检索机制。
图2示出了本发明的优选实施例的各组件。本发明以资源优化组件200的形式为当前资源管理工具提供了增强。资源优化组件200在计算机系统100或可跨网络装置105访问的其他计算机系统上运行。资源优化组件200提供了用于测量应用的性能以响应资源的可用运行容量的降低并检测应用的性能是否受资源的可用运行容量的降低的影响的装置。如果应用的性能受资源减少的影响,则资源优化组件200假定同一应用的性能将响应一个或多个资源的可用运行容量的增加。因此,通过在资源优化组件200检测到需要的区域中允许应用访问更多的资源,可以精细地调整应用的性能。
资源优化组件200包括许多子组件以便实现本发明的功能和益处。根据优选实施例,资源优化组件200包括用于数据输入和用于向用户显示大量性能统计的用户接口组件205、用于注册需要调整其性能的一个或多个应用或一个或多个过程的注册组件220、用于监视与注册的应用和/或过程相关联的资源的监视组件240,以及用于递增地降低资源的可用运行容量的调节组件230。现在将依次说明这些组件中的每个组件。
用户接口组件205包括输入组件210和输出组件215。输入组件210包括用于允许用户选择要监视的应用的用户接口。所述应用可以包括Web浏览器、数据库应用、电子表格应用、文字处理应用、游戏应用等,或操作系统为了支持所述应用而所使用的过程等。例如,实例1中的列表示出了当操作系统正在运行且加载最小集合的应用(例如,演示软件和字处理应用)时活动过程的样例。
样例1● Skmaild.exe● Abti2evxx.exe● Bttray.exe● Adnetsvr.exe● qttask.exe● taskmgr.exe● smss.exe● qconsvc.exe● defwatch.exe● system.exe● system idle process.exe输入接口205向用户显示在计算机系统100上安装的应用的列表。对于列表中显示的每个应用,还显示了详细说明每个与应用关联的过程的列表。例如,如果在计算机系统上运行的应用例如是演示软件,则与演示关联的过程可以是pres.exe和sys.exe等。
用户可以通过多种输入装置来选择要监视哪些应用或过程,例如,使用鼠标107从列表中选择应用或过程或通过使用键盘106上的快捷键。
在选择应用或过程时,将提示用户输入其他信息,例如,将对资源进行的任何其他限制。例如,如果增加对更多存储器的访问不可行,则用户可以取消选择此选项。因此,阻止资源优化组件200显示一组可能建议添加更多存储器的结果。
为了清晰,本文档的其余部分将引用术语过程或各过程(它们将被理解为包括诸如在计算机系统100上运行的应用和由操作系统使用的过程之类的术语)以支持在计算机系统100上运行的应用和其他与操作系统交互的过程。
输出组件215显示由监视组件240计算的统计分析。统计分析的形式可以为图表和文本提示,建议用户要执行的步骤或操作系统可以执行的操作,以便精细地调整一个或多个过程的性能。例如,用户要执行的步骤可以是安装更多存储器或更高容量的硬盘驱动器。操作系统要执行的步骤可以包括增加应用可访问的虚拟存储器的数量等。
输入组件210将输入数据传送到注册组件220。注册组件220在注册表中注册输入数据并向存储组件235发送通知以将输入数据提交给存储。注册组件220还检测是否已经存储任何关于过程的输入数据,并且如果是,则向输出组件215发送询问用户先前存储的数据是应该覆盖还是保存的通信。如果要保留先前存储的数据,则在注册表中创建新的表项,并且注册组件220使用先前存储的数据总数和新的输入数据来进行统计比较。
存储组件235从注册组件220和调节组件230接收输入。存储组件充当注册组件220、调节组件230和存储装置之间的代理,以确保将正确的数据存储在存储装置中并执行一般的维护操作。
监视组件240从注册组件220接收指令。所述指令包括已注册用于监视的过程的名称及其他信息,如应监视已注册过程的时间长度。
参考图3,监视组件240包括许多彼此交互以对本发明的功能和益处做出贡献的子组件。监视组件240包括用于从注册组件220接收指令的接收组件300、用于监视已注册过程的统计收集组件305、用于确定受监视的资源对已注册的过程具有的影响的决策引擎310,以及用于建立详细说明由监视组件240收集的统计信息的性能历史图的建立组件315。
统计收集组件305部署多个其中提供监视服务的机制。例如,统计收集组件305可以利用用于查询CPU时间和过程的存储器使用率的API调用或ping命令及移动代理,以便测量Web服务器的平均响应时间。
统计收集组件305在预定时间段内监视已注册过程的性能。监视已注册过程的性能的时间长度取决于被监视的过程的类型。例如,如果所监视的过程是Web浏览器,则监视Web浏览器在24或48小时内的性能非常重要。这是因为考虑Web浏览器控制之外的环境变量所带来的网络通信量和带宽拥堵的波动非常重要。因此,如果网络中的拥堵带来Web浏览器性能的降低,则增加Web浏览器可访问的存储器量将无助于提高Web浏览器的性能。
由统计收集组件305收集的统计的类型还将取决于被监视的过程,但是通常所述统计将与过程的响应时间有关,例如,Web浏览器加载网页要花费多长时间,或游戏应用在显示下一个场景之前加载图形和计算游戏数据要花费多长时间等。
统计收集组件305收集统计数据并将其发送至存储组件235以存储在存储装置103、104中。所述统计数据为每个注册的过程及其关联资源形成了性能历史图。
实例2中示出了性能历史图的一个实例。
实例2注册的过程Web服务器日期 10/10/05时间 12:35接收的分组12467发送的分组12460丢失的分组7平均响应时间 30ms
日期 11/10/05时间 12:55接收的分组 15998发送的分组 15998丢失的分组 0平均响应时间 35ms决策引擎310分析性能历史图并判定哪些资源对注册过程的性能具有最大影响。决策引擎310汇集这些资源的列表并将其传送至调节组件230。
返回图2,调节组件230接收该列表并且对于每个列出的过程,限制可用于资源的运行容量的数量。例如,如果在正常运行条件下,过程可以100%地访问资源的运行容量,则调节组件会以限制可用运行容量的5%、10%等开始。可以通过许多方法来实现资源容量的限制,例如,为其他过程保留特定量的资源或阻止过程访问资源的已分配容量。其他方法在本领域中是公知的并且将不在此进行详细说明。
调节组件230向统计收集组件305发送通知,告知统计收集组件305施加到与列出的过程相关联的资源的限制。
统计收集组件305将根据对资源容量的限制在预定时间段内继续监视过程的性能。再次地,为每个过程收集统计数据(例如,响应时间)并将其附加到历史性能数据图。
在完成性能历史图后,决策引擎310分析该图以根据资源容量的限制来计算每个过程的性能百分比变化。例如,限制10%的CPU资源会导致注册的过程性能降低5%。
决策引擎310以每个注册过程的百分比降低的顺序对所述计算分级,例如,首先根据最高值对所述计算分级。决策引擎310以报告的形式生成输出。所述报告列出了分级的计算和多个可由用户根据所述计算执行的操作。例如,如果决策引擎310计算限制CPU速度将导致性能降低5%,则决策引擎310可以建议允许注册的过程访问更多的CPU资源。
将所述报告传送到存储组件235,其中存储组件235将该报告传送至用户接口组件205以向用户显示。
图4是详细说明使用中的本发明的运行步骤的流程图。在步骤400,注册组件220从输入组件210接收详细说明已选择要监视哪些过程(例如,数据库应用和Web应用)的指令。输出组件215向用户显示已选择的过程。
在步骤405,监视组件240开始监视所选择的过程,例如,数据库应用和Web应用。可以在可配置的时间段内监视所选择的过程,例如,监视24小时内的性能。本领域的技术人员将理解,可以在单独和不同的时间段监视每个所选择的过程。监视组件240将收集与每个所选择的应用的响应时间有关的统计性能数据。该统计性能数据包括诸如用于计算数据的响应时间、所使用的CPU资源和所使用的存储器资源之类的数据。
在步骤410,监视组件240将性能数据发送至调节组件230,并且调节组件230确定每个标识的资源的运行容量的百分比限制,例如,对访问虚拟存储器进行30%的限制。调节组件230通知监视组件240已对标识的资源进行了限制。
在步骤420,监视组件240监视和收集每个所选择的过程的性能相关的统计信息,以根据资源限制来确定响应时间。所收集的性能数据被附加到性能历史图。在完成性能历史图后,在步骤420,监视组件240分析该图来计算每个所选过程的性能百分比变化,例如,限制10%的CPU速度会导致注册的过程的性能降低5%。监视组件240以每个注册的资源的性能百分比变化的顺序对所述计算分级。监视组件240以报告的形式生成输出。在步骤425,所述报告列出了分级的计算和多个可由用户或操作系统根据所述计算来执行的操作。
图5和6是示出了使用本发明时发生的事件的顺序的顺序图。图5示出了在主动模式(即,要求用户输入)下运行时的事件顺序,而图6示出了在被动模式(即,操作系统具有基本控制)下运行时的事件顺序。
首先参考图5,用户在事件500向用户接口205输入与要监视的过程有关的数据。在事件505,注册组件220从用户接口210接收所述数据并通知监视组件240在事件510开始监视和统计收集过程。监视组件240判定哪些资源对所选的过程具有最大影响并在事件515通知调节组件230限制对资源运行容量的访问。例如,限制访问5%的CPU资源,然后是10%,然后是15%等。
监视组件240确定限制资源的百分比影响。例如,限制访问5%、10%和15%等的CPU资源的百分比影响。监视组件230还确定多个可以在事件520根据监视组件240的计算执行的操作。例如,增加15%的存储器访问或在计算机系统中安装更多的存储器会产生50%的性能提高等。将所述计算和建议传输给用户接口组件205以在事件205向用户显示。用户然后可以通过用户接口205命令操作系统执行特定的建议,以便在事件530优化所选的过程的性能。
继续转到图6,用户在事件600向用户接口205输入与要监视的过程有关的数据。在事件605,注册组件220从用户接口210接收数据并通知监视组件240在事件610开始监视和统计收集过程。监视组件240确定哪些资源对所选过程具有最大的影响并在事件615通知调节组件230限制访问部分的资源可用运行容量。例如,限制访问5%的CPU资源,然后是10%,然后是15%等。
监视组件240监视限制可用运行容量对所监视的过程的影响。例如,限制访问5%、10%和15%等的CPU资源的百分比影响。监视组件还确定多个可在事件620处根据监视组件240的计算来执行的操作。例如,增加15%的存储器访问或在计算机系统中安装更多的存储器将产生50%的性能提高等。在此实例中,将所述计算和建议传输到调节组件230以在事件625处代表操作系统执行所述建议-由此继续优化性能较差的过程。
权利要求
1.一种用于优化在数据处理系统中运行的过程的性能的资源优化组件,所述资源优化组件包括监视组件,所述监视组件用于收集关于过程的性能统计和标识对过程性能具有影响的资源;调节组件,所述调节组件用于限制所述标识的资源的可用容量;并且其中所述监视组件监视过程性能以确定限制所述标识的资源的所述可用容量对所述过程性能的影响,并且确定为了提高所述过程性能而要对所述资源执行的操作。
2.如权利要求1中所述的性能优化组件,其中所述要执行的操作是在所述资源的所述可用容量之外增加所述标识的资源的容量。
3.如权利要求1中所述的性能优化组件,其中降低所述标识的资源的所述可用容量还包括所述调节组件递增地降低所述标识的资源的所述可用容量。
4.如权利要求3中所述的性能优化组件,其中对于每次递增降低,所述监视组件都确定对所述过程性能的影响。
5.如权利要求1中所述的性能优化组件,其中所述调节组件可以通过阻止过程访问原始分配的资源量来限制所述标识的资源的容量。
6.如权利要求4中所述的性能优化组件,其中所述监视组件确定对所述过程性能的影响程度。
7.如权利要求6中所述的性能优化组件,其中根据所述影响程度,所述监视组件确定适合的操作。
8.一种用于优化在数据处理系统中运行的过程的性能的资源优化方法,所述资源优化方法包括以下步骤收集关于过程的性能统计和标识对过程性能具有影响的资源;限制所述标识的资源的可用容量;以及监视所述过程性能以确定限制所述标识的资源的所述可用容量对所述过程性能的影响,并且确定为了提高所述过程性能而要对所述资源执行的操作。
9.如权利要求8中所述的性能优化方法,其中所述要执行的操作是在所述资源的所述可用容量之外增加所述标识的资源的容量。
10.如权利要求8中所述的性能优化方法,其中降低所述标识的资源的所述可用容量还包括所述调节组件递增地降低所述资源的所述可用容量。
11.如权利要求10中所述的性能优化方法,其中为每次递增降低确定所述递增降低对过程性能具有的影响。
12.如权利要求8中所述的性能优化方法,其中所述调节步骤还包括阻止过程访问其原始分配的资源量。
13.如权利要求11中所述的性能优化方法,其中所述监视步骤还包括确定对过程性能的影响程度。
14.如权利要求13中所述的性能优化方法,还包括根据所述确定的影响程度来确定适合的操作的步骤。
全文摘要
一种用于优化在数据处理系统中运行的过程的性能的资源优化组件,所述资源优化组件包括监视组件,所述监视组件用于收集关于过程的性能统计和标识对过程性能具有影响的资源;调节组件,所述调节组件用于限制所述标识的资源的可用容量;并且其中所述监视组件监视过程性能以确定限制所述标识的资源的所述可用容量对过程性能的影响,并确定为了提高所述过程性能而要对所述资源执行的操作。
文档编号G06F9/46GK1963765SQ20061014447
公开日2007年5月16日 申请日期2006年11月8日 优先权日2005年11月12日
发明者M·A·韦伯斯特, M·P·查普曼 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1