自治计算系统的动态在线多参数优化系统和方法

文档序号:6418267阅读:128来源:国知局
专利名称:自治计算系统的动态在线多参数优化系统和方法
技术领域
本发明涉及一个改进的计算系统。更具体地,本发明涉及根据基础多维参数空间中的几何单纯形变换,动态确定配置值以改进自治计算系统性能的改进方法和系统。
背景技术
诸如自治计算,按需eBusiness及eCommerce的面向服务信息技术的成功,关键取决于以快速,有效及节省成本的方式提供信息,货物及服务的能力。不幸的是,提供这些服务所需的计算机系统的复杂度的增加正快速超过人类进行系统操作的能力。尤其是在对这些复杂计算系统的系统参数进行优化时。
大型复杂系统中系统参数实时优化的根本困难有若干来源。在许多情况下,良好的系统模型及系统与外界交互的方式无法得到(或过于昂贵以致无法获得)。这种系统模型的缺乏导致不能针对系统参数的在线(即实时)或离线优化使用成熟的分析及模拟工具。
必须同时优化多个参数以改进系统性能的事实进一步加重了问题。由于系统模型不可得到,则对不同系统参数的相对重要性(就各个参数怎样影响系统性能而言)及不同参数之间潜在的非线性相互作用(就其对系统性能的合并影响而言)的了解很少。
在不具备系统模型的情况下,一种广泛采用的技术是稀疏采样多维参数空间(比方说,以类似规则网格的方式)及采用在样本点中间提供最优性能的参数设置。不幸的是,由于维度的问题,必要样本的数量按要优化的参数的数量呈指数增加。因而,即使针对小集合的参数,对多维参数空间的合理采样所需的成本及时间也是不可行的。此外,由于这些原因,不能动态实时地执行这种采样及优化。
另外,系统的行为可能本质上是随机性的,并且/或者可能在有噪声及动态环境中操作,使得类似系统配置参数可能导致非常不同的总体性能测量或效用值。
因而,使用历史数据推断系统模型的能力是很危险的,尤其是在施于系统的要求或负载随时间不断改变的动态环境中。
虽然有所有上述困难,管理员的工作是当系统在操作中时(重)配置系统参数及改进系统的性能(根据指定度量来测量)。这需要新的动态,在线,多参数优化方法和装置,其能够无人工干预地自动和快速地配置及调整系统参数。这种方法的焦点不必是确定可证明最优的参数设置,而是适当快速地查找适当优良的解。这种方法很可能在自治计算,按需eBusiness及eCommerce系统中起到重要作用,其中对于不可预测的复杂环境,在这样的系统中提供优良性能可得到显著的好处。
已知用于执行离线多参数优化的机制包含直接搜索方法及其变型(例如,单纯形算法及模式搜索)。这类方法之所以流行的原因在于(i)它们实际上往往行之有效,(ii)它们通常可以避免那些影响更精细方法的缺陷,及(iii)它们的实现简单并且直接;因而它们几乎可以立即应用于许多非线性优化问题。这些方法不需要在参数空间中明确计算导数或梯度(gradient)信息。通常,这些方法维护一个通过直接采样参数空间获得的点集(称作单纯形)。另外,这些方法使用各种用于陡峭下降的技术(但不必是最陡峭下降的方法)以获得准最优解。
不幸的是,在自治计算系统中自动配置及优化系统参数的直接搜索方法(及其变型)的直接应用可能由于若干原因而失败。第一,直接搜索方法(及其变型)在动态环境不起作用,其中系统的要求或负载随时间不断改变,并且其中相同参数设置可以在不同时间提供不同的性能测量。直接搜索方法针对静态问题而设计,并且无内置机制以应对动态环境。
第二,直接搜索方法仅对确定性问题起作用,其中在系统性能或系统动态特性的测量中均无噪声。直接搜索方法进行基本假定,即相同参数设置总是提供相同性能测量。在这种假定无效的噪声或随机环境中,直接搜索方法会在快速寻找优良解区时遇到严重的挫折。
第三,直接搜索方法作出某些关于所优化的参数的性质的假定。通常,直接搜索方法(及变型)被设计成用来处理涉及全实取值参数或全整取值参数的问题。在多数系统中,存在两种形式的参数,并且必须同时配置及调整两种类型的参数。在这种情况下,现有直接搜索方法及变型非常不适合,因为它们无法考虑参数空间的基础粒度的差异。
第四,直接搜索方法及变型不能处理所优化的参数之间的关系约束。在许多系统配置及优化问题中,存在涉及一或多个参数的约束。例如,一组约束可指示x1+x2+x3=1.0 约束1.
0<x1<=1.0 约束2.
0<=x2<=1.0约束3.
0<=x3<=1.0约束4其中x1,x2,x3是系统配置参数。直接搜索方法及变型被设计用于无约束问题,并且在寻找带约束优化问题中的良好参数设置方面效率非常低。因而未用于在线带约束优化问题。
最终,直接搜索方法及变型遭受若干非合理失效模式,这些模式阻止其直接应用于许多类型的优化问题。例如,对于实取值参数,单纯形的尺寸(size)可以变得无穷小;限制直接搜索方法的跟踪动态环境中最优参数设置的变化的能力。另一方面,对于离散或整数值,单纯形容易陷入惯例中,即直接搜索方法不能决定一个要采样的新点。这种非合理失效模式限制了直接搜索方法探索参数空间中有希望区域的能力。
因此,对于自治计算系统,需要提供一种改进系统和方法,用于执行动态在线多参数优化,并且不存在上述直接搜索方法的缺点。

发明内容
本发明提供了一种改进方法和系统,用于执行自治计算系统的动态在线多参数优化。通过本发明的方法和系统,维护一个单纯形,即已经直接采样的参数空间中的点集。针对单纯形中涉及该点的配置参数的具体设置,测量涉及具体效用值,即操作特征的系统性能。使用本发明有助于提供涉及该效用值的改进系统性能的的机制来确定一个新的样本点。通过对当前单纯形中的点应用几何变换来确定新点。这些几何变换可包含反射(reflection),扩展(extension),收缩(contraction),扩充(expansion)及转换(translation)。
本发明提供用于限制通过这些几何变换产生的单纯形的尺寸的机制,使得在噪声环境中可实现本发明,其中相同配置设置可导致涉及效用值的不同结果。另外,本发明还包含一个机制,用于对单纯形中一个当前最优点进行重新采样,以确定环境是否已经变化。如果由单纯形中该点的先前采样效用值获得一个大大不同的效用值,则单纯形被扩充而不是收缩。如果效用值之间的差异不够充分,那么执行单纯形的收缩。
另外,为了在单纯形中允许实取值和整取值参数,本发明提供了一个机制,通过该机制,在单纯形上执行几何变换所产生的无效取值参数被映射到一个最接近的有效数值。然而这导致单纯形的维度的降低。因而,为了避免降低单纯形的维度,本发明提供了一种机制,用于在使用几何变换之前,进行检查以确定是否会通过一个特定几何变换的执行来改变单纯形的维度。如果由几何变换产生的一个新点会导致单纯形维度的降低,则作为几何变换的基础的当前点被扰动一个较小的量值,并且再次执行维度检查。
此外,为了处理带约束优化问题,本发明将违反一或多个约束的几何变换所产生的新点转换到满足所有约束的可行区域的边界。本发明的机制使用基于与不可行点及其相应可行设置之间的距离成比例的处罚值的梯度。该梯度被用于离开不可行区域以到达一个可行边界点。
在下列
具体实施例方式
的描述中说明了本发明的这些及其它特征和优点,或从本领域普通技术人员的角度看,本发明的特征和优点是显而易见。


在所附权利要求书中提出了本发明被认为新颖的特征。然而,当结合附图阅读时,本发明本身,以及优选使用模式,其它目的及其优点,可参照下列示例性实施例的详细描述进行更好的理解,其中图1是可以实现本发明的一个分布式数据处理系统的示例性模块图;图2是可以实现本发明的一个服务器计算系统的示例性模块图;图3的示例解了由现有技术直接搜索算法使用的方法,用于识别单纯形中产生最优效用值的最优配置参数集;图4的示例图说明了对一个单纯形执行的几何变换,用以识别一个更优点,在其上配置参数会产生更好的效用值;图5的示例解了由本发明的一个示例性实施例使用的方法,用于在单纯形中识别产生最优效用值的最优配置参数集;图6是根据本发明的一个示例性实施例的动态在线多参数优化设备的示例性模块图;图7是略述本发明的一个示例性操作的流程图;图8的流程图略述了检查一个新点以确定无效参数数值是否与新点关联并且接着校正这种无效参数值的过程;图9的流程图略述了用于确定一个新点是否违反任何约束并且校正该新点以便其满足约束的示例性操作;及图10是针对应用到无缺陷引入的Gryphon系统的记录子系统的本发明的2个实验应用的惩罚值与迭代次量的对比图。
具体实施方式
本发明提供一个机制,用于确定自治计算系统,按需eBusiness及eCommerce系统等的最优配置参数。同样地,本发明尤其适于确定分布式数据处理环境中的服务器计算系统的配置参数。因此,为了提供用于描述本发明的优选实施例的环境,下面提供图1和2作为一个示例性分布式数据处理系统及一个服务器计算系统的简要描述,其中或对其可实现本发明的机制。
现在参照附图,图1描述一个数据处理系统的网络的图示说明,其中或对其可实现本发明。网络数据处理系统100是其中可实现本发明的计算机网络。网络数据处理系统100包含网络102,其是用于提供网络数据处理系统100内连接在一起的各种设备和计算机之间的通信链路的介质。网络102可包含连接,诸如线路,无线通信链路,或光缆。
在描述的例子中,服务器104与存储单元106一起连接到网络102。另外,客户端108,110及112连接到网络102。例如,这些客户端108,110及112可以是个人计算机或网络计算机。在描述的例子中,服务器104向客户端108-112提供诸如引导文件,操作系统映像及应用程序的数据。客户端108,110及112是服务器104的客户机。网络数据处理系统100可包含附加服务器,客户端及其它未示出的设备。在描述的例子中,网络数据处理系统100是因特网,其中网络102表示全世界使用传输控制协议/网际协议(TCP/IP)协议组彼此通信的网络及网关的集合。因特网的核心是主要节点或主计算机之间高速数据通信线路的主干网,包括数千商用,政府,教育及其它计算机系统,用于传送数据及消息。当然,网络数据处理系统100也可以实现为若干不同类型的网络,例如内部网,局域网(LAN)或广域网(WAN)。图1只作为例子,而不是作为对本发明的结构限制。
参照图2,根据本发明的一个优选实施例,描述了可实现为诸如图1中服务器104的一个服务器的数据处理系统的模块图。数据处理系统200可以是包含连接到系统总线206的多个处理器202和204的对称多处理器(SMP)系统。做为选择,可以使用单处理器系统。向本地存储器209提供接口的存储器控制器/高速缓存也连接到系统总线206。I/O总线桥210连接到系统总线206并且向I/O总线212提供一个接口。根据描述,存储器控制器/高速缓存208及I/O总线桥210可以被集成。
连接到I/O总线212的外设部件互连(PCI)总线桥214向PCI本地总线216提供一个接口。若干调制解调器可以连接到PCI本地总线216。典型PCI总线实现将支持四个PCI扩充槽或内插式连接器。图1中针对客户端108-112的通信链路可以经由通过插入板连接到PCI本地总线216的调制解调器218及网络适配器220提供。
附加PCI总线桥222及224提供针对附加PCI本地总线226及228的接口,从该接口可支持附加调制解调器或网络适配器。通过这种方式,数据处理系统200允许到多个网络计算机的连接。根据描述,存储映射图形适配器230及硬盘232也可被直接或间接连接到I/O总线212。
本领域普通技术人员将理解,在图2中描述的硬件可变化。例如,也可以使用除所述硬件之外或取代所述硬件的诸如光驱等的其他外部设备。所述例子不表示针对本发明的结构限制。
在图2中描述的数据处理系统可以是例如IBM eServer pSeries系统,这是纽约Armonk国际商用机器公司的一个产品,其运行先进交互执行程序(AIX)操作系统或LINUX操作系统。
假定服务器104或200提供诸如自治计算,按需eBusiness或eCommerce等的面向服务信息技术服务。此外,还假定服务器104的所有者/操作员希望优化服务器104的操作,以便以快速,有效及节省成本的方式提供通过服务器104提供的服务。结果,用本发明的机制保证服务器104的适当配置,以便实现服务器104的最优操作。
在现有技术中,服务器104的管理员可根据历史数据人工重新配置服务器104,从而改变配置参数,以期获得服务器104的更好操作。然而,由于配置参数的相互作用的复杂性,对于人类管理员来说,准确识别最优配置通常是不可能的。另外,由于服务器104操作在动态环境中,一组条件的最优配置可能不是另一组条件的最优配置。
可选地,管理员可利用诸如直接搜索方法或其变型的静态离线分析,以求实现服务器104的最优配置。图3提供了图解直接搜索方法的示例图。如图3所示,直接搜索方法涉及获得点的单纯形。单纯形是已经直接采样的参数空间中的点集。即,单纯形中的每个点表示配置参数的特定设置及单纯形的一个顶点。对于n个参数的函数,参数空间中在n+1点估算的一组n+1函数值定义了一个n维单纯形。对于二维,即n=2而言,单纯形将是一个三角。对于三维,即n=3而言,单纯形将是一个四面体。
例如,可针对服务器,自治系统,eBusiness或eCommerce系统,或类似系统的一个特定配置参数集的组合建立一个顶点。这些参数可以包含,例如对于此后讨论的Gryphon系统的记录子系统而言,增长阈值,回收空间,挂起阈值,块尺寸及消息尺寸定量;对于此后讨论的Apache服务器而言,最大客户端数及存活时间等等。
在各个顶点处,测量有关的效用值,或估算参数的函数,以确定通过使用该顶点处的相应参数数值配置系统所获得的的结果效用值。这个效用值是要优化的性能值。例如,针对参数的特定设置的这个效用值包含此后讨论的Gryphon系统的记录子系统中测量响应时间,延迟,清理开销,及记录空间利用率变化等等的加权线性函数。
其后,基于产生更好效用值的顶点的继续识别,执行反射及扩展的几何变换以变换单纯形。一旦通过反射及扩展不能得到更好的效用值,可以执行收缩及缩小以识别提供系统最优参数设置的顶点。
图4的图例图解了用于变换一个指定单纯形以求到达最优顶点的几何变换。为了开始几何变换,根据顶点的效用值排序顶点。这允许识别最高效用值点PH,次最高效用值点P2H,及最差效用值点PL,及所有点的矩心C或平均值。接着反射最大点PH通过C以产生一个新点。根据下列公式执行反射PR=(1+a)C-aPH其中a是称作反射系数的正常数。
接着测量在这个新点处的效用值PR。基于测量的效用值,确定单纯形的附加反射或扩展是否适用。如果新点的测量效用值在最低取值点PL和次最高取值点P2H的测量效用值之间,则在单纯形中PR替换PH,并且执行反射的一次新迭代。根据公式确定从扩展获得的新点PE=cPR+(1-c)C其中c是扩展系数并且大于1。如果在这个新点PE处的测量效用值或在这个新点PE处的函数值FE小于单纯形中最低取值点PL处的测量效用值,则在单纯形中PE替换PH。否则,PR替换PH。接着下一次迭代从由上述操作产生的新单纯形开始。
如果反射点仍然比单纯形中的每个点更差,即PR>PH或PR>P2H,那么单纯形在假定最优点位于单纯形内的情况下收缩。收缩产生更接近最有希望一侧的矩心C的新点。例如,如果Fa<FH,则收缩点位于C和PR之间。如果FH<FR,则收缩点位于C和PH之间。
通过公式定义收缩PC=bP_+(1-b)C其中P_是PH或PR,任何一个均具有最低效用或函数值,并且b是收缩系数,例如,在0和1之间的数值。如果收缩点PC的效用值,即值FC小于点P_处的效用值,则PC替换PH并且一次新迭代开始。
如果FC大于在P_点处的效用值,则收缩失败,并且全部单纯形按参数d缩小,其中只保留PL。因而,单纯形中的各个点(除了PL)被替换为Pi=dPi+(1-d)PL接着算法继续下一次迭代。在图4中针对包括3个顶点的单纯形图解了直接搜索算法的步骤。
如先前所述,虽然直接搜索方法适用于静态离线问题,然而它们往往在应用于动态在线环境时失败。通过向直接搜索方法提供补偿在线环境的动态及噪声特性的改进,本发明解决了涉及直接搜索方法应用到动态在线环境的问题。本发明修改并扩展了直接搜索方法以克服已知直接搜索方法的所有限制,并且针对自治计算系统的自配置及自调整使用一个新的动态,在线,多参数优化方法。
图5是图解了本发明的一个示例性实施例的方法的示例图。象在直接搜索方法中那样,本发明不显式计算参数空间中的导数或梯度信息。本发明维护一个单纯形,即已经直接采样的参数空间中的一个点集。对于在单纯形中的各个点,针对涉及单纯形中该点的配置参数的特定设置,测量代表系统性能的效用值。
象在直接搜索方法中那样,基本目标是采样单纯形中期望替换最坏点(即,具有最坏效用值或性能测量的配置设置)的新点,其中该新点具有比单纯形中最优点更高的效用值。通过对当前单纯形中的点使用几何变换,确定要采样的新点的位置。
为了能够执行动态,在线,多参数优化,必须确定何时可以及何时不可以使用各种几何变换。本发明提供用于确定何时使用此几何变换的机制。例如,如果单纯形上的反射提供返回效用值高于当前单纯形中任一点的效用值的新点,则下一个变换(称作扩展)在新点的相同方向扩展单纯形,以期发现一个具有更高效用值的新点。通常,在直接搜索方法中,当所有单纯形的其它变换已经用尽,并且未产生具有比当前最优点更高的效用值或更好的性能测量的点时,则通过收缩来减少单纯形的尺寸。
这里的动机是,因为单纯形外部的探索变换未能改进当前最优解,所以应当着眼于单纯形内部以搜索最优解。这种方案通常在确定性或静态问题中工作良好,其中多维参数空间中的任何指定点返回一个并且只返回一个效用值。不幸的是,在噪声或动态环境中,随着方法变得混乱并且一次次收缩单纯形,单纯形的这类收缩严重约束了直接搜索方法继续搜索更优解的能力。在噪声环境中,单纯形可收缩至不能更加靠近最优参数设置的地步。另一方面,在动态环境中,单纯形可收缩至不再代表当前条件下良好参数设置的地步。
因而,在动态和/或噪声环境中不得限制单纯形的尺寸得过小,以致不能跟踪环境中的改变,或反之变得过大,以致错失单纯形内高效用的区域。本发明提供了一个机制,用于对单纯形的维度分配限制单纯形可以扩展,扩充或收缩到的程度的上阈值及下阈值。有关单纯形尺寸的上阈值及下阈值基于域知识(domain knowledge)(例如由系统设计者或系统管理员根据他或她的系统知识提出的阈值),并且可以预先决定并且作为本发明方法的参数来存储。例如,下阈值的大小可以由各个参数的有效性(或可用性)的最低分辨率来确定。类似地,包含所有参数的最高及最低可能值的区域可决定单纯形尺寸的上阈值。
在图5中,单纯形尺寸的上阈值由包围单纯形的边界框来图解。如图5所示,可执行单纯形的反射及扩展,使得结果单纯形在由所有参数的最高及最低可能值确立的边界框内。因而,例如,如果参数是x,y及z,则边界框包含参数x,y,及z的最高及最低可能值。如果一个几何变换的结果是新点位于边界框外部,则新点被重新映射到边界上的最接近点。
对于单纯形尺寸的下阈值,可提供一个阈值,其限制允许的单纯形收缩量。因而,当执行单纯形的收缩时,可确定收缩是否产生具有一或多个长度小于下阈值的边的单纯形。在这种情况下,参数值可被映射到满足下阈值要求的单纯形边界上的最接近点。
为处理动态环境,本发明通过允许对当前单纯形进行扩充的几何变换来扩展直接搜索方法。在在作为其它未产生更优效用值的几何变换的结果而决定单纯形收缩之前,本发明重采样新的点集。例如,可以重新取样单纯形中当前最优点,当前n个最优点等等。例如,在本发明的一个最优实施例中,只可以重新采样当前最优点。如果在新及旧测量之间发现性能测量(或效用值)的显著差异,则假定环境已经改变,并且扩充单纯形以跟踪环境的改变(除非单纯形尺寸已经达到上阈值)。因而,单纯形中的每个点(除了PL)被替代为Pi=mPi+(1-m)PL其中m是大于1.0的扩充系数。通过阻止单纯形收缩并强制采样新点,本发明允许单纯形上爬(climb uphill),即使基础效用分布(landscape)随时间改变。另一方面,如果新及旧测量相差不大,则允许单纯形的收缩(除非单纯形的尺寸已经达到下阈值)。根据域知识确定新及旧测量之间的差异是否显著,并且系统管理员可以预先设置的“显著”阈值。
类似地,在噪声或随机环境(具有白或有色噪声)中,在决定对单纯形应用几何变换之前,本发明使用域知识。这里暗示了只有在数据,即样本点的测量效用表明两个测量值之间的统计显著差异时,单纯形中点的真实效用值才被称为不同于单纯形中另一点的真实效用值。因而,如果已知在噪声系统中对任何具体配置的效用值的重复测量符合正常分布,则可以应用标准统计测试,从而以某个置信水平确定单纯形的效用值大于(或小于)单纯形中另一顶点处的效用值。
可以事先获得测试统计显著性所必须的附加信息(诸如噪声是白或有色),并且根据系统及其环境的关键特性可预先设置显著性级别。一旦单纯形中的点在上述方法的帮助下进行排序,则单纯形上包含反射,扩展,收缩及扩充的所有几何变换可以象前面那样被应用,以搜索更优参数设置。除上述之外,本发明提供用于允许单纯形中的实取值参数及整取值参数的机制。虽然通常可以用各个配置中的实数及整数取值参数定义单纯形,然而单纯形上的操作不得不更加谨慎地定义,因为当前单纯形上的几何变换可能产生具有不可能或非法参数值的新点。例如,如果系统具有实取值参数x1及x2,以及整取值参数x3,则单纯形上的操作可能产生新的参数设置Y={x1=14.9,x2=0.5,x3=1.83}问题在于参数x3不再是整数。
本发明通过把整取值参数的设置映射到最接近的整数或最接近的合法值来解决这个问题。在这个例子中,x3被映射到2,并且实际采样的点被确定为Y′={x1=14.9,x2=0.5,x3=2}
虽然这个映射的实现简单并且通常有效,然而引入另一个问题,即单纯形被不注意地减少了一或多个维度。考虑根据效用的降序进行排序的3个参数配置Y1,Y2及Y3,其在二维空间中构成一个3维单纯形1Y1={x1=20.0,x2=10}2Y2={x1=10.0,x2=10}3Y3={x1=15.0,x2=20}注意,x2只允许为整数值,而x1是实取值参数。现在假定单纯形上的某种变换产生新点Y4={x1=15.0,x2=10.75}其被重新映射到Y4′={x1=15.0,x2=10}以符合x2只可假定为整数值的事实。如果这个点Y4′现在被采样并且取代Y3而包含在单纯形中,则新单纯形中的所有3个点(Y1,Y2,Y4′)变成共线的(因为它们全部位于线x2=10上)。一旦这个单纯形的维度被降低,则将来只能沿着x2=10进行搜索。没有几何变换可以恢复单纯形的初始维度,并且单纯形永远被限制于搜索缩减的参数空间。
对于整取值参数,在接受任何新点之前,本发明进行检查以确信单纯形的维度保持不变。这由确认新点相对于当前单纯形中的全部点对具有非共线性来保证。如果新点恰好降低单纯形维度,则其被扰动一个较小随机量,并且再次执行线性检查。因而在上述例子中,Y4′可以被重新映射到Y4″={x1=15.0,x2=12}以避免x2的共线性。通过增加这个小量值的随机扰动,参数空间的探索被有效激励,并且避免了单纯形陷于无修止循环的趋势。
为了处理带约束优化问题,本发明将违反一或多个约束的新点转换到满足所有约束的可行区域的边界。然而,此转换的本来方案容易导致单纯形维度的降低,并且因而需要对处理约束给予专门注意。
考虑具有下列约束的问题xl+x2+x3=1.0 约束1.
0.0<=x1<=1.0约束2.
0.0<=x2<=1.0约束3.
0.0<=x3<=1.0约束4第一点需要注意的是,尽管存在3个参数,然而本发明利用约束来简化要搜索的参数空间。因为x3=1.0-x1-x2,本发明可以简单地在两个参数,即x1及x2的空间中进行搜索,同时遵守全部约束。
现在考虑通过当前单纯形的某种几何变换发现的新点Y5={x1=0.5,x2=-0.2}。因为x2<0.0,本发明可将Y5转换到Y5′={x1=10,x2=0.0},以保证满足约束2。然而不难发现,这一系列简单转换可能导致其中所有点位于线x2=0.0上的共线性单纯形。
本发明通过不重新映射Y5的坐标到Y5′的坐标来避免这个问题。然而,把分配给Y5的效用值设置为等于Y5′的配置参数的效用值(被直接采样)减去某个惩罚值。在一个最优实施例中,这个惩罚值是Y5及Y5′之间距离的二次函数,尽管可以在不偏离本发明的宗旨和范围的前提下使用其它惩罚值。此技术允许不加修改地应用所有几何变换。另一方面,效用值减去惩罚值的映射阻碍了在不可行区域中的搜索。由于惩罚的量值与不可行点及其相应可行设置之间的距离成比例,所以单纯形可以推断此梯度信息并且从不可行区域离开。
因而,本发明通过包含用于限制通过单纯形几何变换产生的单纯形的尺寸的机制,以保证单纯形保持在一个尺寸改进已知直接搜索方法,以保证单纯形保持在一个尺寸上,该尺寸确保单纯形足够大以便本发明的机制能够跟踪环境中的改变,并且足够小以便识别单纯形内具有高效用的区域。此外,本发明提供一个机制,用于当确定环境中出现改变时,允许单纯形的扩充而不是收缩。另外,本发明提供一个机制,用于根据单纯形点的效用值的差异是否统计显著,来选择要应用的几何变换。此外,本发明提供一个机制,用于允许在单纯形中包含实数及整数取值参数,并且保证在此单纯形上的几何变换不导致使用无效点或单纯形维度的降低。本发明还提供一个机制,用于保证由单纯形的几何变换识别的新点不违反已确立的约束,并避免降低单纯形的维度。
图6是根据本发明的一个示例性实施例的动态在线多参数优化设备的示例性模块图。图6说明的单元可以通过硬件,软件或任何硬件和软件的组合来实现。在一个最优实施例中,图6中说明的单元被实现成由一或多个处理设备执行的软件指令。
另外,在线多参数优化设备可以在使用在线多参数优化设备构造的自治计算系统中实现,或可以是与所配置的自治计算系统分立的设备。在一个最优实施例中,在线多参数优化设备与自治计算系统集成并且与自治计算系统配合操作。
如图6所示,在线多参数优化设备包含控制器610,自治计算系统接口620,配置参数设置设备630,效用值测量模块640,单纯形几何变换模块650,阈值及约束存储模块660,约束违背及维度降低避免模块670,及历史数据存储设备675。单元610-675通过控制/数据信号总线680彼此通信。尽管在图6中说明了一个总线体系结构,但是本发明不限于此,并且在不偏离本发明的宗旨和范围的前提下可以使用任何利于单元610-675之间的控制/数据信号通信的体系结构。
控制器610控制在线多参数优化设备的整体操作,并且协调其它单元620-675的操作。自治计算系统接口620提供一个接口,通过此接口可以进行效用测量,并且根据本发明的机制可修改配置参数。
配置参数设置设备630执行用于设置自治计算系统的配置参数的必要功能,以便获得单纯形顶点的效用值。配置参数设置设备630可与自治计算系统的硬件和/或软件接口,以设置自治计算系统的配置参数。这可以包含例如修改自治计算系统的配置文件,与设备驱动器接口并改变其设置,改变自治计算系统的操作系统的设置,与servlet接口或运行应用程序以改变其操作参数,设置网络适配器的寄存器内的数值,等等。
效用值测量模块640与自治计算系统接口以测量配置参数的特定设置的效用值。例如,响应设置配置参数到一个特定数值集,效用值测量模块640获得关于一个时间段内自治计算系统的性能特征的信息,其中在该时间段内配置参数的该设置有效。接着例如通过统计计算,比如平均值,标准偏差,确定中值等等,可以把此信息降低至一个效用值。接着可以与配置参数设置相关联地存储这个效用值,以作为单纯形中特定点的效用。
如先前所述,单纯形几何变换模块650执行反射,扩展,收缩及扩充的单纯形几何变换。这个模块650执行上面提出的,涉及执行几何变换及确定可标识较优效用值的新顶点的方法的主体。
阈值及约束存储模块660存储阈值信息,该信息用于定义单纯形的限制及针对单纯形确立的约束。由单纯形几何变换模块650使用这个信息以确定一个新点是否违反阈值边界,并且由约束违背及维度降低避免模块670用以确定通过几何变换识别的新点是否违反约束。
在操作中,当事件出现时,控制器610启动自治计算系统的重新配置。例如,事件可以是自动出现的周期性事件,比如从自治计算系统的最后重新配置经过某段时间,当前时间等于重新配置的预定时间,对于具体测量度量检测到性能下降,等等。另外,事件可以是从管理员输入一个指令,指示自治计算系统的重新配置开始。
在启动自治计算系统的重新配置时,控制器610指示单纯形几何变换模块开始一个诸如上面描述的优化过程。假定已通过监视自治计算系统的操作产生了初始单纯形。然而,如果一个单纯形当前不可用,则通过指示配置参数设置设备630设置自治计算系统的配置参数到一个特定数值集,并且接着指示效用值测量模块640测量该配置参数设置的效用值,可以产生一个初始单纯形。这可以进行多次以获得初始单纯形的顶点。
接着,单纯形几何变换模块650可以对初始单纯形执行反射以识别将对其测量效用值的新点。接着确定该新点是否违反阈值及约束存储模块660中的任何已确立阈值。如果是,则如上所述对新点进行合适的修改。另外,进行由于单纯形中出现整数及实数值而任何必需的对新点值的修改,同时保证保持维度。这会需要约束违背及维度降低避免模块670的协助,以保证保持单纯形的维度。
单纯形几何变换模块650接着通过控制器610指示配置参数设置设备630及效用值测量模块640设置配置参数为对应于这个新点的值,并且测量这个点的效用值。确定新点的效用值是否优于单纯形中当前最优效用值。如果是这样的话,确定这个新点是否违反任何约束。如果不是,则新点替换具有最坏效用值的点。如果有违反的话,则如先前所述修改新点以保证没有违反约束并且单纯形的维度得到保持。
接着操作按先前描述的方式进行,其中继续迭代执行,直到满足停止条件。该时刻,单纯形中最优效用值点被选择作为自治计算系统的最优配置参数设置。指示配置参数设置设备630设置自治计算系统的配置参数到这些新值。接着操作返回到休眠状态,直到下一个事件出现。
历史数据存储设备675存储自治计算系统的先前配置参数设置及其对应效用值。因而,在执行上述优化操作之前,由自治计算系统使用的配置参数设置以及其对应效用值被存储在历史数据存储设备675中。每次执行优化操作时,可以向这个历史数据存储设备675加入附加记录,以指示优化之前使用的配置参数及其对应效用值。通过这种方式,可以建立配置参数中变化的历史表示。
存储在历史数据存储设备675中的配置参数设置及其对应效用值可以用于许多不同目的。例如,这些历史配置参数设置可以用于建立自治计算系统的操作模型,以便得到对自治计算系统在动态及噪声环境中怎样操作的更好理解。通过分析配置参数设置历史数据,例如统计稳定性分析,模式分析等等,可得到新的域知识。在这个历史数据中可识别配置参数设置的模式,以便提供更多关于动态及噪声环境中特定操作时段中的最可能优化数值的深入了解。这些模式可以用于帮助指导使用上述方法对最优配置参数的搜索。历史配置参数设置信息的许多其它使用可以在不偏离本发明的宗旨和范围的前提下进行。
图7-9是图解在执行用于自治计算系统的在线多参数优化时本发明的示例性操作的流程图。应当理解,流程解的各个块,及流程解中的块组合,可以通过计算机程序指令实现。可把这些计算机程序指令提供给处理器或其它可编程数据处理设备以产生一个机器,使得在处理器或其它可编程数据处理设备上执行的指令建立用于实现流程图块中指定的功能的装置。这些计算机程序指令也可以被存储在计算机可读存储器或存储介质中,其可以指示处理器或其它可编程数据处理设备以特定方式工作,使得存储在计算机可读存储器或存储介质中的指令产生一种产品,其包含实现流程图块中指定的功能的指令装置。
因此,流程解的块支持用于执行指定功能的装置的组合,用于执行指定的功能的步骤的组合,及用于执行指定的功能的程序指令装置。还应当理解,流程解的各个块及流程解中块的组合,可以通过执行指定功能或步骤的基于硬件的专用计算机系统,或通过专用硬件及计算机指令的组合来实现。
图7是一个流程图,略述了在执行用于自治计算系统的配置参数的在线多参数优化时,本发明的示例性操作。如图7所示,通过获得一个初始单纯形来开始操作(步骤710)。接着确定单纯形的顶点的效用值(步骤715)。执行基于单纯形中顶点的几何变换以找到一个新点心进行调查。(步骤720)。接着确定在此新点处的效用值(步骤722)。
确定新点是否位于针对单纯形的尺寸而确立的阈值的以外(步骤725)。如果是这样的话,新点被映射到单纯形的阈值边界上的最接近点(步骤730)。此后,或如果新点不位于阈值边界以外,则确定这个新点的效用值是否比单纯形中当前最优取值点更好(步骤735)。如果是这样的话,则单纯形中的最坏取值点被新点替代(步骤740),并且操作返回到步骤715。如果新点的效用值不优于单纯形中当前最优取值点,则确定新点是否比单纯形中每个其它点更糟(步骤745)。
如果新点并不比单纯形中每个其它点更糟并且尚未使用除收缩之外的所有几何变换,则一个不同的几何变换被用于获得一个新点(步骤750),并且操作返回到步骤722。如果新点的效用值比单纯形中的每个其它点更糟并且已经使用除收缩之外的所有几何变换,则单纯形中当前最优取值点处的效用值被重采样(步骤755)。接着确定最优取值点的新采样效用值与最优取值点的先前效用值之间的差异是否显著,即大于一个确立的阈值(步骤760)。如果是这样的话,确定环境条件已经改变,并且因而扩充单纯形(步骤765)。接着操作返回到步骤715。如果效用值之间的差异不显著,那么允许收缩单纯形以识别一个新点(步骤770)。接着确定停止条件是否已经满足(步骤775)。如果不满足,则操作返回到步骤722。如果停止条件已经满足,则返回单纯形中最优取值点,并且该点被用于配置自治计算系统。
应当理解,有关的效用值依赖于本发明的具体实现,并且可以由管理员选出以作为寻求优化的值。此外,术语″较优″,″最优″,″较坏″及″最坏″是相对术语,其根据优化的具体效用值可具有不同的意思。因而,例如,对于响应时间一个″较好″效用值是越低越好的值,即0.3秒比0.5秒更好。然而,针对每个周期处理的分组的数量的一个效用值,一个较高取值比一个较低取值更好。即使这些术语是相对的,本领域的普通技术人员很了解,对于选定优化的具体效用值什么构成″较优″及″较差″。
在步骤720,730,750,765及770中,可执行基于本发明的附加功能以便保证由这些操作识别的新点不产生无效值,违反约束的值,或降低单纯形维度的值。图8的流程图略述了检查一个新点以确定无效参数值是否与新点关联并且接着校正这个无效参数值的处理。如图8所示,通过识别一个新点开始操作(步骤810)。确定任意整数取值参数是否已经变换为一个实数值(步骤820)。如果是这样的话,把实数值映射到一个最接近的整数值(步骤830)。接着确定实数值的映射是否导致单纯形维度的降低(步骤840)。如果是这样的话,则把较小量值的随机扰动加入映射值(步骤850)。此后,或如果没有整数值变换到实数值(步骤820),或映射未导致单纯形维度的降低(步骤840),则存储新点(步骤860)并且操作终止。
图9的流程图略述了确定一个新点是否违反任何约束并且校正该新点,以便其保持在约束内的一个示例性操作。如图9所示,通过识别一个新点开始操作(步骤910)。确定新点的任意参数值是否违反一个确立的约束(步骤920)。如果是这样的话,则把一个违背约束的值映射到满足约束的最接近数值(步骤930)。例如,该点可以被分配一个效用值,该效用值等于满足约束的最近点的效用值减去一个惩罚值。接着确定该数值的映射是否导致单纯形维度的降低(步骤940)。如果新点未违反一个约束(步骤920)或映射未降低单纯形维度(步骤940),则存储新点(步骤950)。接着操作终止。
因而,本发明提供一个机制,用于通过在线分析配置参数及自治计算系统的结果效用值以确定这些配置参数的最优设置,从而动态优化自治计算系统。使用本发明,可以周期性重新配置一个自治计算系统,以便实现自治计算系统的最优操作。
可以使用本发明的一种自治计算系统是称作Gryphon,来自国际商用机器公司的基于内容的发布预订(pub-sub)系统的记录及恢复子系统。Gryphon被部署为用于过滤及路由从发布方到用户的消息的代理的冗余覆盖网络。Gryphon项目已经开发了通过大量重叠过滤器快速过滤消息的可伸缩算法,其在一个多转发段网络中有选择地把消息传送给在通向匹配用户的路径上的相邻过滤器。
近来,在Gryphon中已经实现了针对确切的消息到用户的一个传送的确保传送(GD)服务。非正式地讲,系统中的各个发布方是有序事件流的源。确保传送保证保持连接到系统的任意用户均从一个初始时间点开始看见这个流的无缝过滤子序列。如果针对这个流中的任意两个邻近事件,在初始流中不存在介于这些事件之间并且匹配用户过滤器的事件,则事件流的一个子序列被称为无缝的。该保证必须在出现代理故障及链路故障时得到兑现。关于Gryphon系统和记录及恢复子系统的更多信息可以在Bagchi等人的“发布预订中间件的基于记录器的恢复子系统的设计与评估”,计算机及电信系统性能评估国际研讨会(SPECTS 2002),San Diego,CA中发现,这里参考引用了该文献。
代理和代理之间的链路的系统配置,工作负载特征及故障特征会因Gryphon系统的实施的不同而有很大的变化。Gryphon内的记录及恢复子系统(此后称作“记录器子系统”)具有一些不同控制参数,并且对于任意具体的Gryphon实施,需要大量人工调整及系统知识来确定产生更好性能的设置。自然地,这假定有关的性能度量已经根据经验来定义。
为得到无故障条件及带故障条件下的出众性能,把本发明应用于Gryphon的记录子系统以自治调整记录器子系统的控制参数。通过把本发明应用到Gryphon的记录器子系统,定义了3个度量以捕获Gryphon系统以及记录器子系统的重要性能及资源使用特征。在由本发明执行的优化中,使用在典型工作负载状况下对记录器子系统的性能具有最显著影响的四个控制参数生长阈值,回收,挂起阈值,及块尺寸和消息尺寸的比率。本发明的优化机制被用来搜索参数空间以寻找在Gryphon系统中导致性能改进的控制参数设置。
如上所述,在本发明应用于优化记录器子系统时使用的四个控制参数是生长阈值,回收,挂起阈值及块尺寸和消息尺寸的比率。生长阈值(g)是一个控制参数,其定义安排一个清除任务何时时运行。因而,例如,生长阈值可指定,当记录空间尺寸的两个连续测量之间记录尺寸的增长超过的g%的阈值时,安排清除任务运行。
回收控制参数(r)指示当安排清除任务运行时收回的记录空间的量。即,例如,清除任务可以从记录空间回收记录尺寸的最近测量的r%。
挂起阈值(s)标识对记录的写入何时被挂起。因而,例如,清除任务通常与对记录的正常写入并行运行。然而,如果记录尺寸在清除期间的增长超过最后采样的记录尺寸的s%,则挂起全部对记录的其它新写入(与清除写入相反)。
块尺寸及消息尺寸的比值(z)是相对发布客户端使用的消息的尺寸,对分配及解除分配的记录空间的块的尺寸的测量。即,记录器子系统通过以作为子系统中可调参数的块尺寸为单位分配或解除分配磁盘空间来管理物理记录空间。在控制参数之间存在关系,此关系必须满足以便获得记录器子系统的正确操作。例如,r必须大于g,以便清除任务可以回收至少与其增长一样多的记录空间。否则,记录尺寸会以无限制的方式增长,从而导致对系统写入的瓶颈。类似地,s必须大于g。如果不满足这个条件,则当安排清除任务运行时,对系统的正常写入将挂起。这些约束是重要的,因为它们降低了必须被探索的参数值的搜索空间的尺寸。
针对获得Gryphon系统用户关注的必要性能及资源利用特征的3个性能度量,测量这些控制参数对记录子系统的影响。这些性能度量包含记录空间利用率变化,清除开销及延迟。记录空间利用率变化(v)是磁盘空间利用率对平均磁盘空间利用率的标准偏差的比值。由于只间歇安排清理任务运行,由记录器子系统使用的磁盘空间的尺寸会随时间变化。一个较大变化需要在系统中过多提供存储空间,并且还导致系统的抖动行为。
清除开销(c)表示涉及记录空间的清除的开销。记录空间的清除可以看作系统中降低可用于正常写入的带宽的开销。数值c表示清除导致的开销的测量,并且被定义成清除导致的放入(put)数量与系统中放入的总数的比值。
延迟(l)是实际延迟和系统在理想条件下,即没有清除任务导致的开销时的延迟之间的差。当正执行清理任务时,正常写入与清理写入竞争,导致正常写入延迟增加。尤其是,记录器子系统产生的开销导致对Gryphon系统放入的开始,和对应写入已经确认稳定存储并且回调函数已经从记录器子系统返回的时间之间的时间延迟。
从系统设计者或系统管理员的角度看,上述3个度量突出了Gryphon系统中性能及资源利用的冲突要求。
为表征针对四个控制参数的具体设置的Gryphon系统总体行为,定义一个标量惩罚测量P,它是3个性能度量的函数P=wvfv(v)+wcfc(c)+wl(l)其中Fv(v)=v,如果v<0.1;否则为Exp(v)Fc(c)=c,如果c<0.2;否则为Exp(c)并且wv,wc,wl是在确定P时分配给3个度量的正权重。在一个典型实施中,Gryphon系统中的延迟l将是清理开销c所遵守的最重要条件,指定wl>wc>wv。函数fv及fc强调将系统保持在分别返回较低数值v和c的参数体系(regime)中的目标。
在本发明应用于记录器子系统时,3个参数g,r和s仅限于在范围0%到100%中,受以前提到的两个约束的限制的整数值。对于控制参数z,使用在64和1280之间的数值范围,假定典型消息的尺寸范围为10字节到2000字节,其中块尺寸保持固定在128K字节。
本发明的优化系统和方法被应用于在上述条件下的控制参数和上面描述的度量。以无故障引入和有故障引入的方式应用优化系统和方法。本发明的应用的结果在图10说明。图10说明了在两个典型试验中获得的惩罚值时间系列,其中在Gryphon运行在Gryphon系统经历消息延迟的带故障条件下,本发明被用于在线优化控制参数。选择控制参数的初值为靠近记录器子系统的估测最优设置。
图10说明了当本发明探索控制参数空间时,试验的初始迭代与惩罚值中的较大波动相关联。一旦本发明发现良好参数区域,波动倾向于逐渐平息并且系统会聚于针对不同起始点的类似惩罚值和控制参数设置。图10还说明,尽管存在涉及惩罚测量的噪声,本发明能够发现平均优于涉及控制参数估测最优设置的惩罚值的惩罚值。针对这些试验,本发明发现下列准最优数值生长(g)=25%回收(r)=27%挂起(s)=49%比率块/消息=119字节在上述试验中获得的惩罚值更加高于在无故障情况下的惩罚值。并且本发明在运行结束时获得的参数设置与无故障情况下获得的不同。因此,如果系统在无故障条件下被人工调整,在运行时环境有故障的情况下,系统性能不再是最优的。这强调了对本发明的需要。
可以使用本发明的自治计算系统的另一类型是Apache v1.3 Web服务器。基于Unix的Apache v1.3被构造为由主进程监视的工作者进程池。主进程监视工作进程的状态并管理其建立和销毁。工作者进程负责处理与Web客户端的通信以及执行产生对Web客户端的请求的响应所需的工作。一个工作者进程每次最多处理一个连接,并且只继续处理该连接,直到连接被终止。因而,工作者在来自其连接客户端的连续请求之间空闲。
存在两个控制Apache Web服务器的响应时间的主参数最大客户端数(MaxClients)及保持活跃超时超时(KeepAlive Timeout)。MaxClients参数限制此工作者池的尺寸,从而对服务器的处理容量产生限制。一个较高MaxClients值允许Apache处理更多客户端请求。但是如果MaxClients过大,则存在过多资源使用,从而降低全部客户端的性能,即,更长的响应时间。Apache″KeepAlive Timeout″调整参数控制一个工作者进程在其客户端连接关闭之前能够保持在″用户思考(User Think)″状态的最大时间。如果KeepAiive过大,则由于请求处理的客户端不能连接到服务器,并且因此客户端经历长响应时间,CPU及存储器未充分被利用。降低超时值意味着工作者在″User Think″状态花费较少时间,并且花费更多时间在″忙(Busy)″状态。因此,CPU增加并且响应时间降低。如果超时过小,则TCP连接过早终止并且降低具有固定连接的益处。额外开销可以使用户响应时间更长。
把本发明的优化系统和方法应用于控制Apache Web服务器中的MaxClients及KeepAlive Timeout参数,以最小化系统在模拟静态及可变负载条件下的响应时间。象在Gryphon系统中那样,本发明能够成功地发现导致比那些从Apache Web服务器v1.3的默认参数设置获得的参数设置更加出众的性能。
因而,本发明提供一个改进的系统和方法,用于执行对自治计算系统的动态在线多参数优化,以使自治计算系统不具有已知指示搜索方法的缺点。本发明扩展指示搜索方法以提供允许修改指示搜索方法以适用于动态及噪声环境,诸如eBusiness及eCommerce类型的系统(在诸如因特网的网络上在线操作)的附加功能。
必须注意,虽然已经在一个全功能数据处理系统的上下文中描述了本发明,但是本领域的技术人员会理解本发明的处理能够以指令的计算机可读介质的形式,及各种形式分配,并且本发明使用同样不考虑具体类型的,实际用于执行分配的信号承载介质。计算机可读介质的例子包含可记录型介质,诸如软盘,硬盘驱动器,RAM,CD-ROM,DVD-ROM,及传输型介质,诸如数字及模拟通信链路,使用传输形式的有线或无线通信链路,诸如例如射频及光波发送。计算机可读介质采取在实际用于一个具体数据处理系统中时解码的编码格式的形式。
当前本发明的描述是为了图解及说明,并且不准备以所公开的形式详尽列举或限制本发明。许多修改及变化对本领域普通技术人员显而易见。为了更好地说明本发明的原理,实际应用选择及描述了实施例,并且为了使本领域其它的普通技术人员理解本发明用于考虑适于具体使用的具有各种修改的各种实施例。
权利要求
1.一种数据处理系统中用于确定计算设备的配置参数值设置以优化计算设备的操作特征的方法,包括获得点的单纯形,其中单纯形中的每个点表示计算设备的一个配置参数集;对点的单纯形执行几何变换以识别一个新点以供考察;在新点处采样操作特征;确定与新点相关的操作特征是否比点的单纯形中的各个点的操作特征的数值更差;如果新点比点的单纯形中的各个点的操作特征的数值更差,则确定单纯形中需要重新采样的一个点集;在这个点集中的每个点处重新采样操作特征;以及根据该点集中各点的重新采样操作特征确定一个新单纯形。
2.如权利要求1所述的方法,其中此点集包括点的单纯形中的最优点,并且其中根据此点集中各点的重新采样操作特征确定新单纯形的步骤包含根据点的单纯形中最优点处的操作特征的重新采样确定是否扩展或收缩单纯形以获得新单纯形。
3.如权利要求1所述的方法,还包括如果新点的操作特征比点的单纯形中各个点的操作特征的数值更好,则在新点的方向扩展单纯形。
4.如权利要求1所述的方法,还包括向单纯形的尺寸分配上阈值及下阈值;以及根据分配的上阈值及下阈值限制单纯形的扩充或收缩。
5.如权利要求4所述的方法,其中单纯形的尺寸的下阈值表示单纯形的各个参数的最低显著性分辨率。
6.如权利要求4所述的方法,其中如果与新点相关的一或多个配置参数值违反上阈值及下阈值之一,则把新点映射到最靠近新点的点,该点的相关配置参数值满足上阈值或下阈值。
7.如权利要求2所述的方法,其中根据点的单纯形中最优点的操作特征的重新采样确定是否扩展或收缩单纯形的步骤包含把最优点的重新采样操作特征数值与最优点的先前操作特征数值相比;以及根据重新采样操作特征数值和先前操作特征数值之间的差确定是否扩充或收缩单纯形。
8.如权利要求7所述的方法,其中如果差大于一个阈值,则单纯形被扩充。
9.如权利要求7所述的方法,其中如果差不大于一个阈值,则单纯形被收缩。
10.如权利要求1所述的方法,其中单纯形中点的配置参数值可包含实数和整数配置参数值。
11.如权利要求10所述的方法,还包括检查通过扩充或收缩单纯形而获得的修改单纯形的维度;以及如果修改单纯形具有与单纯形不同的维度,则不执行扩充或收缩。
12.如权利要求1所述的方法,还包括根据配置参数的数值类型,将新点的配置参数值转换为整数和实数值之一;检查转换的配置参数值以确定单纯形的维度是否被配置参数的转换改变;及将导致单纯形维度改变的新点的转换配置参数值设置为不降低单纯形维度的转换配置参数值。
13.如权利要求12所述的方法,其中将导致单纯形维度改变的新点的转换配置参数值设置为不降低单纯形维度的转换配置参数值的步骤包含将转换配置参数值设置为等于转换配置参数值减去一个惩罚值的转换配置参数值。
14.如权利要求13所述的方法,其中惩罚值是新点的初始配置参数值与转换配置参数值之间的距离的二次函数。
15.如权利要求1所述的方法,还包括如果不可得到对单纯形的改进,则使用单纯形中最优点的配置参数值配置计算设备。
16.一种计算机可读介质中的计算机程序产品,用于确定计算设备的配置参数值设置以优化计算设备的操作特征,包括第一指令,用于获得点的单纯形,其中单纯形中的每个点表示计算设备的一个配置参数集;第二指令,用于对点的单纯形执行几何变换以识别一个新点以供考察;第三指令,用于在新点处采样操作特征;第四指令,用于确定与新点相关的操作特征是否比点的单纯形中的各个点的操作特征的数值更差;第五指令,用于在新点比点的单纯形中的各个点的操作特征的数值更差的情况下,确定单纯形中需要重新采样的一个点集;第六指令,用于在这个点集中的每个点处重新采样操作特征;以及第七指令,用于根据该点集中各点的重新采样操作特征确定一个新单纯形。
17.如权利要求16所述的计算机程序产品,其中此点集包括点的单纯形中的最优点,并且其中用于根据此点集中各点的重新采样操作特征确定新单纯形的第七指令包含用于根据点的单纯形中最优点处的操作特征的重新采样确定是否扩展或收缩单纯形以获得新单纯形的指令。
18.如权利要求16所述的计算机程序产品,还包括第八指令,用于在新点的操作特征比点的单纯形中各个点的操作特征的数值更好的情况下,在新点的方向扩展单纯形。
19.如权利要求16所述的计算机程序产品,还包括第八指令,用于向单纯形的尺寸分配上阈值及下阈值;以及第九指令,用于根据分配的上阈值及下阈值限制单纯形的扩充或收缩。
20.如权利要求19所述的计算机程序产品,其中单纯形的尺寸的下阈值表示单纯形的各个参数的最低显著性分辨率。
21.如权利要求19所述的计算机程序产品,其中如果与新点相关的一或多个配置参数值违反上阈值及下阈值之一,则把新点映射到最靠近新点的点,该点的相关配置参数值满足上阈值或下阈值。
22.如权利要求17所述的计算机程序产品,其中用于根据点的单纯形中最优点的操作特征的重新采样确定是否扩展或收缩单纯形的指令包含用于把最优点的重新采样操作特征数值与最优点的先前操作特征数值相比的指令;以及用于根据重新采样操作特征数值和先前操作特征数值之间的差确定是否扩充或收缩单纯形的指令。
23.如权利要求22所述的计算机程序产品,其中如果差大于一个阈值,则单纯形被扩充。
24.如权利要求22所述的计算机程序产品,其中如果差不大于一个阈值,则单纯形被收缩。
25.如权利要求16所述的计算机程序产品,其中单纯形中点的配置参数值可包含实数和整数配置参数值。
26.如权利要求25所述的计算机程序产品,还包括第八指令,用于检查通过扩充或收缩单纯形而获得的修改单纯形的维度;以及第九指令,用于在修改单纯形具有与单纯形不同的维度的情况下,不执行扩充或收缩。
27.如权利要求16所述的计算机程序产品,还包括第八指令,用于根据配置参数的数值类型,将新点的配置参数值转换为整数和实数值之一;第九指令,用于检查转换的配置参数值以确定单纯形的维度是否被配置参数的转换改变;及第十指令,用于将导致单纯形维度改变的新点的转换配置参数值设置为不降低单纯形维度的转换配置参数值。
28.如权利要求27所述的计算机程序产品,其中用于将导致单纯形维度改变的新点的转换配置参数值设置为不降低单纯形维度的转换配置参数值的第十指令包含用于将转换配置参数值设置为等于转换配置参数值减去一个惩罚值的转换配置参数值的指令。
29.如权利要求28所述的计算机程序产品,其中惩罚值是新点的初始配置参数值与转换配置参数值之间的距离的二次函数。
30.如权利要求16所述的计算机程序产品,还包括第八指令,用于在不可得到对单纯形的改进的情况下,使用单纯形中最优点的配置参数值配置计算设备。
31.一种用于确定计算设备的配置参数值设置以优化计算设备的操作特征的设备,包括用于获得点的单纯形的装置,其中单纯形中的每个点表示计算设备的一个配置参数集;用于对点的单纯形执行几何变换以识别一个新点以供考察的装置;用于在新点处采样操作特征的装置;用于确定与新点相关的操作特征是否比点的单纯形中的各个点的操作特征的数值更差的装置;用于在新点比点的单纯形中的各个点的操作特征的数值更差的情况下,确定单纯形中需要重新采样的一个点集的装置;用于在这个点集中的每个点处重新采样操作特征的装置;以及用于根据该点集中各点的重新采样操作特征确定一个新单纯形的装置。
32.一种用于通过优化配置参数值设置来配置计算设备的方法,包括获得点的单纯形,其中单纯形中的每个点表示计算设备的一个配置参数集,并且其中每个点具有与该点相关的对应操作特征数值;根据与单纯形的点相关的操作特征数值对单纯形执行一或多个几何变换,以识别的一个新点以供考察;根据与新点相关的一个配置参数集测量操作特征的数值;以及根据与结果单纯形中的一个最优点相关的一个配置参数集的数值配置计算设备,其中执行一或多个几何变换包含检查通过执行一或多个几何变换获得的新点以确定是否违反一或多个条件,并且其中设置条件以补偿计算设备的动态及噪声操作环境。
33.如权利要求32所述的方法,其中执行一或多个几何变换包含对单纯形的尺寸应用上限和下限;将新点配置参数值与上限和下限进行比较;以及根据比较调整新点配置参数值。
34.如权利要求32所述的方法,其中执行一或多个几何变换包含允许实数和整数取值的配置参数值;确定新点的配置参数值是否导致单纯形维度的降低;以及根据确定调整新点配置参数值。
35.如权利要求32所述的方法,其中执行一或多个几何变换包含如果一个几何变换未导致其配置参数值产生更优操作特征数值的新点,则在单纯形的最优点处重新采样操作特征;将最优点处的重新采样操作特征数值与最优点的初始操作特征数值相比;以及根据比较确定是否扩充或收缩单纯形。
全文摘要
一种改进方法和系统,用于自治计算系统的动态在线多参数优化,其中维护一个单纯形,针对单纯形中各点的配置参数设置,测量具体效用值的系统性能,使用单纯形的几何变换确定新采样点。以及限制几何变换产生的单纯形的尺寸的机制以在噪声环境实现本发明。以及提供对单纯形中当前最优点重新采样以确定环境是否变化的机制。如由该点的先前采样效用值获得很不同的效用值,单纯形被扩充而非收缩。如效用值之间的差不大,收缩单纯形。对单纯形执行几何变换所产生的无效取值参数被映射到最接近的有效值,以允许单纯形中的实取值和整取值参数的机制。违反约束的参数值映射到满足保证不降低单纯形维度的约束的值。
文档编号G06F9/45GK1637738SQ20041006211
公开日2005年7月13日 申请日期2004年7月2日 优先权日2003年7月11日
发明者萨拉巴·巴格奇, 拉加施·达斯, 刁以欣, 马可·亚当·卡普兰, 杰弗里·欧文·凯普哈特 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1