用于确定调用至少一个应用程序的频率的方法和设备技术

技术编号:2825561 阅读:175 留言:0更新日期:2012-04-11 18:40
公开了用于自动确定与计算系统可执行的一个或多个程序相关联的一个或多个配置参数的技术。例如,在包括至少一个应用程序和影响至少一个应用程序的特性的至少一个参数的系统中,一种用于确定调用至少一个应用程序的频率的方法包括如下步骤。所述方法估计包括调用至少一个应用程序所产生的开销的成本。所述方法估计根据调用至少一个应用程序来修改至少一个参数所产生的特性改进。所述方法根据所述成本和改进来选择频率。

【技术实现步骤摘要】

本专利技术总体上涉及计算系统和其中执行的程序,尤其涉及用于自动确定与计算系统可执行的一个或多个程序相关联的一个或多个配置参数的技术。
技术介绍
计算机程序(例如,由一个或多个服务器执行的应用程序)的配置参数对于程序得以正确并且有效地运行是十分必要的。许多程序具有配置参数,那些配置参数在运行时被指定。需要用户指定长的配置参数集会使用户的任务复杂化。因为它增加了用户必须完成的工作量。用户可能不知道选择什么值,并且可能会花费相当多的额外时间来配置程序。对于程序制造商而言,选择将能持续产生良好性能的缺省值也许也是不可能的,因为性能在很大程度上取决于特定部署,并且还会响应于计算系统所面临的工作负荷的改变而随时间改变。在2004年的WWW2004汇编的第287页、由Xi等人所著的论文“A Smart Hill-Climbing Algorith m for Application ServerConfiguration”中,记述了一种用于确定服务器配置参数的方法。然而,连同其它缺陷在内,Xi等人提出的方法没有解决因检测不同配置参数而使处理开销较大的问题。此外,Xi等人提出的方法没有解决跨越多个应用程序而优化配置参数的问题。因而,我们需要一种改进的用于自动确定配置参数值的系统和方法。-->
技术实现思路
本专利技术的原理提供了用于自动确定与计算系统可执行的一个或多个程序相关联的一个或多个配置参数的技术。例如,在包括至少一个应用程序和影响至少一个应用程序特性的至少一个参数的系统中,本专利技术的一个方面包括一种用于确定调用至少一个应用程序的频率的方法。所述方法估计包括因调用至少一个应用程序而产生的开销在内的成本。所述方法估计因根据调用至少一个应用程序来修改至少一个参数而产生的特性方面的改进。所述方法根据成本和改进来选择频率。所述方法可以进一步包括以所述频率调用至少一个应用程序来修改至少一个参数以便改进特性的步骤。所述特性可以包括性能、可利用性、最小化丢失数据的影响、准确性和一致性的至少一个。此外,所述方法可以包括根据工作负荷的改变来修改所述频率的步骤。所述特性可以包括性能,并且所述选择步骤可以包括根据改进和成本的差来选择所述频率。例如,可以选择使改进和成本的差最大化的频率。更进一步讲,所述方法可以包括如下步骤:识别可以改变应用程序状态的至少一个应用程序调用,并且使用检查点创建(checkpointing)和写时复制(copy-on-write)之一来保留应用程序状态的至少一个原始值。在包括多个应用程序、其中这些应用程序的特性受至少一个参数影响的系统中,本专利技术的另一方面包括一种用于确定调用应用程序的频率的方法。所述方法根据用于调用应用程序的开销、由调用应用程序所产生的特性方面的期望改进、由应用程序消耗的总系统工作负荷的比例和应用程序所产生的总系统特性的比例的至少一个,来确定所述频率。所述方法可以进一步包括以所述频率调用应用程序来修改至少一个参数以便改进特性的步骤。在包括多个应用程序、其中这些应用程序的特性受至少一个参数-->影响的系统中,本专利技术的又一方面包括一种用于分组应用程序的方法。所述方法把应用程序分组为至少一个集合,其中属于同一集合的应用程序具有作为至少一个参数的函数的类似特性。所述方法可以进一步包括使用至少一个集合来减少所调用的应用程序数量的步骤。可以调用来自至少一个集合的每一个集合的单个应用程序。在包括至少一个应用程序和影响至少一个应用程序性能的至少一个参数的系统中,本专利技术的又一方面包括一种用于确定调用至少一个应用程序的频率的方法。所述方法提供了用于估计成本的第一函数,所述成本包括因调用至少一个应用程序而产生的开销,其中所述成本取决于调用应用程序的频率。所述方法提供了用于估计根据以所述频率调用至少一个应用程序来修改至少一个参数而产生的性能改进的第二函数。所述方法根据第二和第一函数的差来选择频率。所述第一函数可以是乘以频率的常量。有益的是,本专利技术的原理提供了用于使检测不同配置参数的过程中的开销最小化的新特征。本专利技术的原理还致力于解决跨越多个应用程序而优化配置参数的问题。根据随后本专利技术的具体实施方式的详细描述,本专利技术的这些及其它目的、特征和优点将变得显而易见,所述具体实施方式可结合附图来理解。附图说明图1描绘了依照本专利技术实施例的计算系统。图2描绘了依照本专利技术实施例的计算系统的另一个视图。图3描绘了依照本专利技术实施例的用于维持和更新配置参数集的方法。图4描绘了依照本专利技术实施例的用于确定调用应用程序的频率以便改进配置参数的方法。图5描绘了依照本专利技术实施例的用于优化跨越多个应用程序的-->配置参数的方法。图6描绘了依照本专利技术实施例的用于修改频率的方法和/或用于调用应用程序以便响应于工作负荷的改变来改进配置参数的方法。图7描绘了其中可以依照本专利技术实施例执行本专利技术原理的计算设备的处理器和存储器组件。具体实施方式随后的说明将举例说明本专利技术使用的示例性的客户端-服务器计算环境。然而,应当理解,本专利技术不局限于采用这种特定环境方式来使用。通常来讲,本专利技术适用于任何数据处理或计算环境,其中它能够自动确定与计算系统可执行的一个或多个程序相关联的一个或多个配置参数。如这里所用,短语“计算系统”指的是单个计算设备(或处理器)或者多个计算设备(或处理器)。在多个计算设备的环境中,所述计算系统可以包括多个服务器,这些服务器用于接收来自远程客户端的工作负荷请求。据此,本专利技术的原理提供了用于自动确定配置参数的方法。这些方法可以改进系统的性能并且简化配置过程。配置参数的例子包括但不局限于如下这些:(i)用于高速缓存的存储器和/或磁盘空间的量。(ii)在服务器利用多个进程或多个线程来满足请求的客户端-服务器系统中,有时希望预先分支一定数量的进程和/或线程来处理请求。预先分支的进程和/或线程的数量可以作为配置参数。(iii)在数据库应用程序中,事务可以被周期性地提交给数据库。提交操作是相对昂贵的。然而,在提交发生之前,有可能丢失还没有被提交的数据。提交操作的频率可以经由配置参数来改变。越频繁的提交意味着在故障事件中将丢失越少的数据。然而,越频繁的提交也会产生越大的开销。在改变配置参数的过程中,我们设法优化性能和/或其它系统特-->性。在一些情况下,改变配置参数将会影响系统的多个方面。在这些情况下,我们试图实现系统各个方面(例如,性能、可利用性、最小化丢失数据的影响)之间的正确平衡。图1示出了依照本专利技术实施例的计算系统100。一个或多个应用程序11在计算系统100上运行。在一个实施例中,所述计算系统100代表一个或多个应用服务器。一个或多个参数10(这里也被同义地称作“配置参数”)可以被调节,使得应用程序11的特征(例如,性能)得以优化。评估器12具有检测计算系统100相对于一个或多个参数10的值运转有多好的能力。配置参数可能影响系统特性的多个方面,诸如性能、可利用性、精确性、最小化丢失数据的影响、准确性、一致性等等。作为一个例子,设想频繁需要具有如下特性的至少一个的数据的应用程序11:(i)数据是远程的并且必须经由网络来访问。(ii)数据被存储在盘上。(iii)数据消耗相当多的中央处理单元(CPU)周期来生成。为了减少用于获得所述数据的开销,应用本文档来自技高网...

【技术保护点】
一种用于在包括至少一个应用程序和影响所述至少一个应用程序的特性的至少一个参数的系统中,确定调用所述至少一个应用程序的频率的方法,包括如下步骤:    估计包括调用至少一个应用程序所产生的开销的成本;    估计根据调用至少一个应用程序来修改至少一个参数所产生的特性的改进;以及    根据所述成本和改进来选择频率。

【技术特征摘要】
US 2007-2-28 11/680,0001.一种用于在包括至少一个应用程序和影响所述至少一个应用程序的特性的至少一个参数的系统中,确定调用所述至少一个应用程序的频率的方法,包括如下步骤:估计包括调用至少一个应用程序所产生的开销的成本;估计根据调用至少一个应用程序来修改至少一个参数所产生的特性的改进;以及根据所述成本和改进来选择频率。2.如权利要求1所述的方法,进一步包括以所述频率调用所述至少一个应用程序来修改至少一个参数以便改进所述特性的步骤。3.如权利要求1所述的方法,其中所述特性包括性能、可利用性、最小化丢失数据的影响、准确性和一致性的至少一个。4.如权利要求1所述的方法,进一步包括根据工作负荷的改变来修改所述频率的步骤。5.如权利要求1所述的方法,其中,所述特性包括性能,以及所述选择步骤包括根据改进和成本的差来选择频率。6.如权利要求5所述的方法,其中,所述选择步骤包括选择最大化改进和成本的差的频率。7.如权利要求1所述的方法,还包括步骤:识别可以改变应用程序状态的应用程序的至少一个调用;以及使用检查点创建和写时复制之一来保留应用程序状态的至少一个原始值。8.一种用于在包括多个应用程序、其中这些应用程序的特性受至少一个参数影响的系统中,确定调用应用程序的频率的方法,包括如下步骤:根据用于调用应用程序的开销、由调用应用程序产生的期望特性改进、由应用程序消耗的总系统工作负荷的比例以及应用程序产生的总系统特性的比例的至少一个,来确定所述频率。9.如权利要求8所述的方法,进一步包括以所述频率调用所述应用程序来修改至少一个参数以便改进特性的步骤。10.一种用于在包括多个应用程序、其中这些应用程序的特性受至少一个参数影响的系统中,分组所述应用程序的方法,包括如下步骤:把应用程序分组到至少一个集合中,其中,属于同一个集合的应用程序具有作为至少一个参数的函数的类似特性。11.如权利要求10所述的方法,进一步包括使用至少一个集合以减少被调用的应用程序的数量的步骤...

【专利技术属性】
技术研发人员:阿朗康吉尔扬加尔殷鉴
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1