用于在分布式计算环境中在竞争服务当中分配存储器的方法和系统的制作方法

文档序号:7559633阅读:205来源:国知局
专利名称:用于在分布式计算环境中在竞争服务当中分配存储器的方法和系统的制作方法
技术领域
本发明涉及分布式计算网络,并且尤其是涉及用于在分布式计算环境中在竞争服务当中分配存储器的编程技术,以便能够从存储器分配中获得最大好处(例如,改善客户机响应时间)。
背景技术
在很大程度上由于公众Internet及其被称为″万维网″(WorldWide Web,或者简单地称为″Web″)的子集的逐渐发展的业务和用户使用,近年来分布式计算网络和网络计算的普及性已经极大地增加了。其它类型的分布式计算网络、诸如公司企业内部局域网和外联网也越来越普及。由于解决方案供应商致力于提供改善的基于web的计算,所以许多被开发的解决方案适合于其它分布式计算环境。因此,在此为了说明起见而非限制,提及了Internet和Web。
然而早期的Internet主要是用作一个其中人类用户能够请求传送已经生成的静态文档的分布式文件系统,但是近年来已经向服务于请求者的内容中增加了越来越动态的和个性化的方面。然而,许多动态生成的文档也包括静态内容、诸如表单、图形图像、声音文件、及其它类型的嵌入对象。(因此,在此讨论主要是就已经生成的静态内容而言,但是同样可以应用于被包含在动态生成的文档或者其它类型的动态生成的内容中的静态内容。)在为一个内容请求提供服务中涉及的对象数目可以在从一个存储对象到相对大量数目的对象(常常,大约数十个对象)的范围中变化。(术语“存储的对象”和“对象”在此可交换地使用以指被存储在一个存储介质上的一个对象或者文件--或者有时可以是在一个以上的存储介质之间分布的一个对象或者文件。应当注意,在此对对象的引用不能被看作是把本发明限制到面向对象编程的领域。此外,意图使在此使用的术语“内容”与一个或多个对象或者文件是同义的,除非引用环境另有所指。)虽然可编程地生成某些内容请求,但是许多内容请求让人类用户等待响应。因此对用户满意度和网站的整体成功而言,快速和有效地返回响应是关键性的。
在其中托管(host)许多服务的Web托管或者服务供应商环境中,被托管的服务处于对可用的稀有(即有限的)资源、诸如中央处理单元(“CPU”)时间、存储资源和存储器的竞争中。所期望的是协调系统以便使每个被托管的服务对那些资源有一个适当量的访问,从而允许服务集合作为一个整体向它们的用户提供最佳的响应。因此当在服务当中分配存储器以用作高速缓存空间时,所希望的是确定哪个服务将从这个资源分配中获得最多好处。
如本领域中众所周知的那样,高速缓存技术减少了达到Web服务器的请求的数目,借此改善了响应时间(并且还减小了从高速缓存向上游的设备的处理负载)。当内容不能从高速缓存中被服务时,内容请求到达Web服务器。这通常被称为“高速缓存未中”,然而找到能够从高速缓存中被服务的内容被称为“高速缓存命中”。
“高速缓存命中率”被定义为对在高速缓存中的对象的引用数目除以对所有对象的引用总数。(对于本发明,高速缓存命中率最好针对由Web托管环境提供的每个特殊服务来表示。)典型的高速缓存替换算法设法使高速缓存命中率最大化(或许具有某些用于考虑替换某些被高速缓存的对象的成本、以及针对高速缓存命中率改善而平衡这个成本的警告)。
由于从存储器中检索对象的成本增加,所以对高速缓存未中的对象来说响应时间较长。如果相对于其它托管的服务来说,用于一个特定服务“S”的高速缓存命中率低(即,有大量的高速缓存未中),则所希望的可能是为高速缓存服务S的对象分配更多的存储器,由此减少用于服务S的客户机请求的响应时间。
因此,需要的是改善的用于在分布式计算环境中在竞争的服务当中为高速缓存存储空间分配存储器的技术。

发明内容
本发明的一个目的是提供用于在分布式计算环境中在竞争的服务当中为高速缓存存储空间分配存储器的新技术。
本发明的另一个目的是基于服务特定的行为特性在多个服务当中编程地分配存储器。
本发明还有另一个目的是把服务级协定承诺(commitment)结合到存储器分配处理过程中。
本发明的其它目的和优点有部分将在随后的说明书和附图中被阐明,而有部分从说明书中将会是显而易见的,或者可以通过本发明的实践获知。
为了实现上述目的,并且依据在此广泛描述的本发明的目的,本发明提供了用于在分布式计算环境中在竞争的服务当中分配存储器的方法、系统、和计算机程序产品。在一个方面,分配了附加的存储器。在最佳实施例中,这种技术包含为多个竞争服务中的特定的每一个确定一个平均的每一请求的客户机响应时间的公式;计算每一个平均的每一请求的客户机响应时间公式的导数;为每一个计算的导数计算直线的斜率;以及根据为该竞争服务而计算的斜率选择用于分配附加存储器的竞争服务中的一个。所选择的一个竞争服务最好是为其计算的斜率具有最大值的那个服务。
最好是,平均的每一请求的客户机响应时间公式通过以下步骤确定确定用于处理特定服务的请求的平均CPU时间;确定用于特定服务的请求的平均存储器响应时间;为该特定服务确定一个估算的高速缓存命中率;为该特定服务计算一个估算的高速缓存未中率为(1-用于该特定服务的估算的高速缓存命中率);把用于特定服务的估算的高速缓存未中率乘以用于特定服务的平均存储器响应时间,产生一个用于该特定服务的响应时间分量;以及把用于特定服务的平均CPU时间和用于特定服务的响应时间分量相加,由此获得用于该特定服务的平均每一请求客户机响应时间公式。在最佳实施例中,估算的高速缓存命中率是以特定服务的类似Zipf的分布函数为基础的。
该技术可以进一步包含根据与为其计算斜率的特定服务有关的一个或多个服务级协定加权计算的斜率以反映响应时间承诺。
在另一个方面中,重新分配已经分配了的存储器。在最佳实施例中,这种技术包含为多个竞争服务中的特定的每一个确定一个平均每一请求客户机响应时间公式;计算每一个平均每一请求客户机响应时间公式的导数;为每一个计算的导数计算直线斜率;选择竞争服务中的第一个用于分配附加的存储器;选择竞争服务中的第二个用于解除分配已经分配的存储器;以及从第二竞争服务中解除分配一部分的已分配的存储器,并且重新分配那个部分到第一竞争服务。
最好是,第一竞争服务是竞争服务中为其计算的斜率具有最大值的那个竞争服务,而第二竞争服务是竞争服务中为其计算的斜率具有最小值的那个竞争服务。
重新分配可以由例如、在对第一竞争服务的客户机请求的到达率中的增加来触发。
在这个方面,确定平均每一请求客户机响应时间公式最好是与第一方面中的方法相似。类似地,估算的高速缓存命中率最好是以特定服务的类似Zipf的分布函数为基础,并且这个方面可以选择性地包括根据与为其计算斜率的特定服务有关的一个或多个服务级协定加权计算的斜率以反映响应时间承诺。
本发明也可以在经营商业的方法中被有益地使用,例如通过提供其中以改善的方式管理存储器分配的改善的系统和/或服务。Web托管服务供应商可以向他们的客户提供这个改善的存储器分配以在市场中处于竞争优势。这种经营商业的方法最好是进一步包含为多个竞争服务中的特定的每一个确定一个平均每一请求客户机响应时间公式;计算每一个平均每一请求客户机响应时间公式的导数;为每一个计算的导数计算直线斜率;当将要分配附加的存储器时,执行根据为那个竞争服务计算的斜率、选择竞争服务中的一个用于分配附加存储器的步骤;以及当将要重新分配已经分配了的存储器时,执行以下步骤选择竞争服务中的第一个用于分配附加的存储器;选择竞争服务中的第二个用于解除分配已经分配的存储器;以及从第二竞争服务中解除分配一部分已经分配的存储器,并且重新分配那个部分到第一竞争服务。
下面将结合下列附图对本发明进行描述,其中相似的附图标记自始至终表示相同的元件。


图1提供了一个图表,其举例说明了依据现有技术、不同Zipfα(alpha)系数值下的几个类似Zipf的普及性分布曲线;图2是改变了α系数值的类似Zipf分布的高速缓存命中率的图表;以及图3A-3C提供了在确定存储器分配时由最佳实施例使用的等式。
具体实施例方式
本发明提供了用于在分布式计算环境中在竞争的服务当中为高速缓存存储空间自主分配存储器的新技术。利用高速缓存命中率和客户机响应时间的已知(或者推导出的)公式,采用Web请求流的已知特性,来创建一个目标函数(即,提供目标地(objectively)计算的值的函数)。这个目标函数允许在竞争服务当中最大化存储器分配的好处,其中该存储器将被用于高速缓存服务中的对象。特别地,目标函数是客户机响应时间的导数。在计算这个导数时,其响应时间图表具有最高斜率的那个服务被确定为通过为高速缓存的对象增加更多存储器而受益最多。
依据最佳实施例,客户机响应时间被计算为每一请求的平均CPU时间加上每一请求的平均存储器响应时间。(在替换实施例中,网络响应时间能够被认为是充分的,但是由于该参数没有受到存储器分配的影响并且不能通过分配判定控制,所以它已经从最佳实施例的公式中省略掉了。)令“R”表示用于一个特定服务的请求的平均客户机响应时间,“RC”表示对该服务的每一请求的平均CPU时间。用于确定平均每一请求CPU时间的技术在本领域中是已知的,并且没有形成本发明的新构思的一部分。因此,任何适当的CPU时间估算函数都可以被用来计算RC。(最好是,CPU被建模作为一个基本的排队中心。)下面将描述最佳实施例计算平均存储器响应时间的方式。
假定一个客户机请求以λ(lambda)速率到达的分布,则将直接从高速缓存中服务这些请求中的某一些。(λ的值最好是通过估算在一段时间内一个服务的请求流来确定。)没有从高速缓存中被服务的那些请求将以“λS”速率到达存储器处理系统。令“RS”表示用于处理一个请求的存储器响应时间。注意,如果一个特定请求是针对一个被保存在高速缓存中的对象的,则RS的值为零(即,没有必要访问存储器)。否则,对那些未被保存在高速缓存中的对象来说,在高速缓存未中时从存储器中检索该对象的成本由公式RS=[DS/(1-λSDS)]表示,其中“ DS”是平均每一请求从存储器的传送时间。
为了为一个特定服务计算总的平均存储器响应时间,必须确定该服务的多少个对象将被高速缓存(或者,相反地,多少个对象将遭遇高速缓存未中,为其请求存储器检索)。下面将描述用来由最佳实施例实现的新技术。
依据各种研究,Web请求流(即,由客户机传输的请求流)通常遵循一个被称为“齐夫(Zipf)分布”(或者“类似Zipf”分布)的非常清楚的统计分布模型,这是一个已知的特性。Zipf分布是一种特殊的分布模型,其中分布的双对数绘制图(即,其中使用对数刻度、而不是线性刻度表示X轴和Y轴)成一条直线。通常在绘制对象普及性时会观察到Zipf分布。
在请求对象的环境中,对α的某些值来说,Zipf分布是其中对某一对象“O”的请求的概率PX与值[1/(X**α)]成正比的分布。在这个表达式中,“X”表示对象的排名(rank),而α(alpha)是Zipf系数值。例如,如果对象O是总共1,000个对象当中的第五个最普及的对象,则X=5,并且对这个对象的一个给定的入站(inbound)请求的概率是[1/(5**α)]。另一方面,对最不普及的对象(具有排名X=1,000)的一个给定请求的概率是非常低的[1/1,000**α]]。α的值将随不同的服务而改变,并且通常将在0.5和某些小数诸如1.1之间。对最普及对象具备很高的参考位置的服务具有一个相对高的α值;另一方面,当对象请求在全部对象总数上更均匀分布时,服务将具有一个较低的α值。因此,α的值确定了对该服务的Zipf分布曲线的形状。
图1举例说明了用于3个不同α值、即0.7、0.9、和1.1的类似Zipf的分布。在这个图表中,已经沿着Y轴绘制了一个对象的相对普及性,而且已经沿着X轴绘制了该对象的排名(即,对象落在最多被请求的对象序列内的什么位置)。当对象普及性呈现Zipf分布时,象在一个普通的网站中那样,通常有少量每个都接收非常大量的请求(诸如通用搜索引擎的主页)的对象,大量每个都接收非常小量的请求(诸如相对不著名的或者不普及的Web页面)的对象,和大量接收中等数量请求的对象。(在某些情况下,“不普及的”(unpopular)对象的数目小于接收中等数量请求的对象的数目;在其它情况下,不普及的对象的数目可以是很大的。)接收非常大量的请求的对象在相对普及性方面排名最高,并且因此具有较高的普及性值(绘制在Y轴上)和较低的对象排名(其中最普及的对象具有排名=1,沿着X轴绘制)。这些对象被表示在图1中的曲线的左上部。看上去象一个相对平的“尾部”的曲线的右下部分表示具有较低普及性并且因此具有较高对象排名的对象。
讨论在分布式计算环境中内容请求的类似Zipf分布的文章包括在Internet上http/www.useit.com/alertbox/zipf.html(1997年4月15日)的位置上公布的“Zipf Curves and WebsitePopularity”,和在Internet上http//www.useit.com/alertbox/9704b.html(1997年4月15日)的位置上公布的、Jakob Nielsen的“Do Websites Have Increasing Returns”。
如前所述,高速缓存命中率是通过把用于一特定服务的高速缓存命中的数目除以用于该服务的对象引用的总数而计算的。为了编程地确定存储器分配,用于一特定服务的一个估算高速缓存命中率可以被用来代替一个观察的高速缓存命中率,以便预测向一个服务的对象高速缓存分配附加存储器的影响。依据本发明的最佳实施例,这个估算的高速缓存命中率是使用该服务的请求流中的对象总数(“T”)、分配给这个服务的高速缓存的大小(“M”,用对象表示)、和用于该服务的请求流的αZipf值来计算的。(T的值可以通过在某一时间段上分析该服务的请求流来确定。)对于给定的高速缓存大小M,最佳实施例假定该服务的“M”个最普及的对象被保存在高速缓存中。即,为了便于分析,假定了一个“理想的”高速缓存替换算法。因此将只对具有普及性排名为(M+1)到T的对象发生高速缓存未中。在更详细地讨论用于估算高速缓存命中率的公式之前,下面将描述一个高速缓存命中率图表的例子。
图2描述了α系数值变化下的类似Zipf分布的高速缓存命中率的图表(其中这些α值对应于在创建图1中的分布曲线时使用的那些值)。在图2中的Y轴绘制了高速缓存命中率“H”,而X轴绘制了对象高速缓存的大小(即,适于该高速缓存的对象数目--为了便于分析,假定对象具有统一的大小)。如其中所示,随着分配给一个服务的高速缓存的数量增加了,高速缓存命中率也增加了(直至一个点)。而且如早先讨论的那样,由于能够直接从高速缓存中服务于更多请求,所以增加高速缓存命中率将减少整个客户机响应时间。
参见图2,就一个给定的服务来说,最佳实施例中的高速缓存命中率估算算法基于把在曲线下直至在X轴上的某一点“M”的面积除以在曲线下(表示点“T”)的总面积。这个算法如图3A所示。该算法可以被简化为如图3B所示的容易解答的、等效的闭合形式的算法。这个算法中的分子[1-(M**(1-α))]表示高速缓存命中,而分母[1-(T**(1-α))]表示对象请求总数。生成的值“H”是估算的高速缓存命中率。
因此,估算的高速缓存未中率可以被表示为(1-H)。把这个估算的高速缓存未中率乘以先前讨论的值“RS”(表示存储器响应时间),生成用于一个特定服务的总的平均存储器响应时间。再加上平均每一请求的CPU时间“Rc”,给出了对该服务的每一请求的平均客户机响应时间。这个等式如图3C所示(以未展开的形式)。
如图3C所示的客户机响应时间等式提供了由本发明中的最佳实施例使用以确定哪个服务应当接收附加的存储器分配的目标函数。利用这个等式的导数,(客户机响应时间的)直线斜率指示哪个服务将通过在高速缓存中增加一个更多对象而受益更多。当比较服务时,其导数函数具有最大斜率的那个服务是将从附加的存储器中受益更多的那一个服务。使用这种方法,能够很容易地确定在竞争服务当中的有利的存储器分配方案。
当有将要被最新分配的额外(未使用的)存储器时,和/或当决定是否从一个服务中解除分配存储器和向另一个服务重新分配该存储器(例如,当在该服务的客户机请求到达率增加某个可配置的阈值时),在此公开的目标函数可以被有利地使用。因此,在此对存储器分配的引用被认为是包括存储器再分配。在重新分配的情况下,最好是从在客户机响应时间图表中具有最小斜率的那个服务中解除分配存储器。
最好是,以可配置的间隔(诸如每30秒)执行存储器分配计算。
在可选的方面中,存储器分配计算还考虑在用于被托管的服务的服务级别协定(SLA)中指定的响应时间承诺。SLA通常由网络服务供应商使用以定义他们对他们的客户的契约服务义务。在SLA中指定的一个共用参数是响应时间承诺,借此向客户保证对于各类网络可访问服务的请求将在某个平均经过时间内和/或在某个最大经过时间内完成。如果服务义务没有被满足,则客户可以有资格减少应付给服务供应商的费用。服务供应商因此被高度地激励以符合在他们的SLA中的承诺。
SLA可以使用一种分层方法表示响应时间承诺。例如,SLA中的条款可以规定,如果平均响应时间落在第一范围内,则一个客户将为被服务的每个客户机请求向服务供应商支付金额“X”,如果平均响应时间被减少到落在第二(更快的)范围内,则将支付超过X的金额(例如,百分之20的奖赏)。可以在一个特定的SLA中定义一个以上的这种“奖赏定价”等级。
因此,当确定在竞争服务当中如何分配存储器时,以上所述的等式可以被修改为在各种服务的SLA承诺中的系数。例如,用于服务“A”的SLA可以规定这个客户将为一个给定响应时间承诺支付金额“Y”,而用于服务“B”的SLA规定这个客户将为同样的响应时间承诺支付Y*2的金额。因此服务供应商可以考虑它在决定哪个服务应当接收附加的存储器时提供各种响应时间的收益;尤其是,如果在估计客户机响应时间等式的导数时一个以上的服务具有几乎相同的斜率,则承诺为改善的响应时间支付更高费用的该服务可以被称作“胜局(tie-breaker)”。最好是使用一个加权处理以在存储器分配处理过程中反映这些差别。
象已经论证的那样,本发明提供了有利的、用于在分布式计算环境中在竞争的服务当中为高速缓冲存储分配存储器的技术。公开的技术允许最大化存储器分配的好处。选择性地,如已经描述的那样,来自SLA的信息可以在决定如何最好地分配存储器时使用。
公开的技术还可以被用来执行经营商业的改善方法。例如,Web托管系统可以使用公开的技术以便以一种改善的方式管理存储器分配。
如本领域技术人员将会理解的那样,本发明中的实施例被提供为方法、系统,或者计算机程序产品。因此,本发明可以采用完全硬件实施例、完全软件实施例、或者组合软件和硬件方面的的形式。此外,本发明可以采用被包含在一个或多个计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光存储器、等)上的计算机程序产品的形式,其中该计算机可用存储介质在其中包含有计算机可用的程序代码。
已经依据本发明的实施例、结合方法、装置(系统)和计算机程序产品的流程图说明和/或方框图对本发明进行了描述。应当理解该流程图说明和/或方框图中的每一块,以及该流程图说明和/或方框图中的块的组合,都能够由计算机程序指令实现。这些计算机程序指令可以被提供给一个通用计算机的一个处理器、专用计算机、嵌入式处理器、或者其它可编程的数据处理设备以生成一个机器,以便使经由计算机的处理器或者其它可编程数据处理设备执行的指令,创建用于实现在流程图及/或方框图的一个或者多个块中指定的功能的装置。
这些计算机程序指令还可以被保存在一个能够引导一个计算机或者其它可编程数据处理设备以一种特定方式起作用的计算机可读存储器中,以便使保存在计算机可读存储器中的指令生成这么一件产品,该产品包含实现了在该流程图及/或方框图的一个或者多个块中指定的功能的指令装置。
该计算机程序指令还可以被加载到一个计算机或者其它可编程数据处理设备上,以引起在该计算机或者其它可编程装置上执行一系列操作步骤,以产生一个计算机实现的处理过程,以便使在该计算机或者其它可编程装置上执行的指令提供了用于实现在该流程图及/或方框图的一个或者多个块中指定的功能的步骤。
虽然已经描述了本发明的最佳实施例,但是对本领域技术人员来说一旦他们获悉了基本的发明构思就可以想到在那些实施例中进行额外的变化和修改。因此,意图是使附加的权利要求应当被解释为包括最佳实施例和所有属于本发明的精神和范围之内的这种变化和修改。
权利要求
1.一种在分布式计算环境中在多个竞争服务当中分配存储器的方法,包含以下步骤为多个竞争服务中的每个特定服务确定一个平均的每一请求客户机响应时间公式;计算每个平均的每一请求客户机响应时间公式的导数;为每个计算出的导数计算直线斜率;以及根据计算出用于该竞争服务的斜率,选择竞争服务中的一个进行附加存储器的分配。
2.如权利要求1所述的方法,其特征在于确定一个平均的每一请求客户机响应时间公式的步骤进一步包含以下步骤确定用于处理该特定服务的多个请求的平均中央处理单元(“CPU”)时间;为该特定服务的多个请求确定平均存储器响应时间;为该特定服务确定一个估算高速缓存命中率;将该特定服务的估算高速缓存未中率计算为(1-该特定服务的估算高速缓存命中率);把该特定服务的估算高速缓存未中率乘以该特定服务的平均存储器响应时间,产生一个用于该特定服务的响应时间分量;以及把用于该特定服务的平均CPU时间和用于该特定服务的响应时间分量相加,由此获得用于该特定服务的平均每一请求客户机响应时间公式。
3.如权利要求2所述的方法,其特征在于估算的高速缓存命中率是以该特定服务的类似Zipf分布函数为基础的。
4.如权利要求1所述的方法,进一步包含步骤对计算出的斜率进行加权,以反映出来自与为其计算斜率的特定服务有关的一个或多个服务级别协定的响应时间承诺。
5.如权利要求1所述的方法,其特征在于所选择的一个竞争服务是为其计算出的斜率具有最大值的那一个服务。
6.一种用于在分布式计算环境中在多个竞争的服务当中分配存储器的系统,包含用于为多个竞争服务中的每个特定服务确定一个平均的每一请求客户机响应时间公式的装置;用于计算每个平均的每一请求客户机响应时间公式的导数的装置;用于为每个计算出的导数计算直线斜率的装置;以及用于根据计算出的用于该竞争服务的斜率来选择竞争服务中的一个进行附加存储器的分配的装置。
7.如权利要求6所述的系统,其特征在于用于确定一个平均的每一请求客户机响应时间公式的装置进一步包含用于确定用于处理该特定服务的多个请求的平均中央处理单元(“CPU”)时间的装置;用于为该特定服务的多个请求分配平均存储器响应时间的装置;用于为该特定服务确定一个估算高速缓存命中率的装置;用于将该特定服务的估算高速缓存未中率计算为(1-该特定服务的估算高速缓存命中率)的装置;用于把该特定服务的估算高速缓存未中率乘以用于该特定服务的平均存储器响应时间、以产生一个用于该特定服务的响应时间分量的装置;以及用于把用于该特定服务的平均CPU时间和用于该特定服务的响应时间分量相加、由此获得用于该特定服务的平均每一请求客户机响应时间公式的装置。
8.如权利要求7所述的系统,其特征在于估算的高速缓存命中率是以该特定服务的类似Zipf分布函数为基础的。
9.如权利要求6所述的系统,进一步包含用于对计算出的斜率进行加权,以反映出来自与为其计算斜率的特定服务有关的一个或多个服务级别协定的响应时间承诺的装置。
10.如权利要求6所述的系统,其特征在于所选择的一个竞争服务是为其计算出的斜率具有最大值的那一个服务。
11.一种用于在分布式计算环境中在多个竞争的服务当中分配存储器的计算机程序产品,该计算机程序产品被包含在一个或多个计算机可读介质上,并且包含用于为多个竞争服务中的每个特定服务确定一个平均的每一请求客户机响应时间公式的计算机可读程序代码装置;用于计算每个平均的每一请求客户机响应时间公式的导数的计算机可读程序代码装置;用于为每个计算出的导数计算直线斜率的计算机可读程序代码装置;以及用于根据计算出的用于该竞争服务的斜率来选择竞争服务中的一个进行附加存储器的分配的计算机可读程序代码装置。
12.如权利要求11所述的计算机程序产品,其特征在于用于确定一个平均的每一请求客户机响应时间公式的计算机可读程序代码装置进一步包含用于确定用于处理该特定服务的多个请求的平均中央处理单元(“CPU”)时间的计算机可读程序代码装置;用于为该特定服务的多个请求确定平均存储器响应时间的计算机可读程序代码装置;用于为该特定服务确定一个估算高速缓存命中率的计算机可读程序代码装置;用于将该特定服务的估算高速缓存未中率计算为(1-该特定服务的估算高速缓存命中率)的计算机可读程序代码装置;用于把该特定服务的估算高速缓存未中率乘以用于该特定服务的平均存储器响应时间、以产生一个用于该特定服务的响应时间分量的计算机可读程序代码装置;以及用于把用于该特定服务的平均CPU时间和用于该特定服务的响应时间分量相加、由此获得用于该特定服务的平均每一请求客户机响应时间公式的计算机可读程序代码装置。
13.如权利要求12所述的计算机程序产品,其特征在于估算的高速缓存命中率是以该特定服务的类似Zipf分布函数为基础的。
14.如权利要求11所述的计算机程序产品,进一步包含用于对计算出的斜率进行加权,以反映出来自与为其计算斜率的特定服务有关的一个或多个服务级别协定的响应时间承诺的计算机可读程序代码装置。
15.如权利要求11所述的计算机程序产品,其特征在于所选择的一个竞争服务是为其计算的斜率具有最大值的那一个服务。
16.一种在分布式计算环境中在多个竞争的服务当中重新分配存储器的方法,包含以下步骤为多个竞争服务中的每个特定服务确定一个平均的每一请求客户机响应时间公式;计算每个平均的每一请求客户机响应时间公式的导数;为每个计算的导数计算直线斜率;选择竞争服务中的一个第一服务进行附加存储器的分配;选择竞争服务中的一个第二服务进行已经分配的存储器的解除分配;以及从第二竞争服务中解除分配一部分已经分配的存储器,并且重新分配该部分到第一竞争服务。
17.如权利要求16所述的方法,其特征在于确定一个平均的每一请求客户机响应时间公式的步骤进一步包含以下步骤确定用于处理该特定服务的多个请求的平均中央处理单元(“CPU”)时间;为该特定服务的多个请求确定平均存储器响应时间;为该特定服务确定一个估算高速缓存命中率;将该特定服务的估算高速缓存未中率计算为(1-该特定服务的估算高速缓存命中率);把用于该特定服务的估算高速缓存未中率乘以用于该特定服务的平均存储器响应时间,产生一个用于该特定服务的响应时间分量;以及把用于该特定服务的平均CPU时间和用于该特定服务的响应时间分量相加,由此获得用于该特定服务的平均的每一请求客户机响应时间公式。
18.如权利要求17所述的方法,其特征在于估算的高速缓存命中率是以该特定服务的类似Zipf分布函数为基础的。
19.如权利要求16所述的方法,进一步包含步骤对计算出的斜率进行加权,以反映出来自与为其计算斜率的特定服务有关的一个或多个服务级别协定的响应时间承诺。
20.如权利要求16所述的方法,其特征在于通过对第一竞争服务的客户机请求的到达率增加来触发重新分配。
21.如权利要求16所述的方法,其特征在于第一竞争服务是竞争服务中为其计算的斜率具有最大值的那个竞争服务,而第二竞争服务是竞争服务中为其计算的斜率具有最小值的那个竞争服务。
22.一种用于在分布式计算环境中在多个竞争的服务当中重新分配存储器的系统,包含用于为多个竞争服务中的每个特定服务确定一个平均的每一请求客户机响应时间公式的装置;用于计算每个平均的每一请求客户机响应时间公式的导数的装置;用于为每个计算出的导数计算直线斜率的装置;以及用于选择竞争服务中的一个第一服务进行附加存储器的分配的装置;用于选择竞争服务中的一个第二服务进行已分配存储器的解除分配的装置;以及用于从第二竞争服务中解除分配一部分已经分配的存储器,并且重新分配该部分到第一竞争服务的装置。
23.如权利要求22所述的系统,其特征在于用于确定一个平均的每一请求客户机响应时间公式的装置进一步包含用于确定用于处理该特定服务的多个请求的平均中央处理单元(“CPU”)时间的装置;用于为该特定服务的多个请求确定平均存储器响应时间的装置;用于为该特定服务确定一个估算高速缓存命中率的装置;用于将该特定服务的估算高速缓存未中率计算为(1-该特定服务的估算高速缓存命中率)的装置;用于把用于该特定服务的估算高速缓存未中率乘以用于该特定服务的平均存储器响应时间、产生一个用于该特定服务的响应时间分量的装置;以及用于把用于该特定服务的平均CPU时间和用于该特定服务的响应时间分量相加、由此获得用于该特定服务的平均每一请求客户机响应时间公式的装置。
24.如权利要求23所述的系统,其特征在于估算的高速缓存命中率是以该特定服务的类似Zipf分布函数为基础的。
25.如权利要求22所述的系统,进一步包含用于对计算出的斜率进行加权,以反映出来自与为其计算斜率的特定服务有关的一个或多个服务级别协定的响应时间承诺的装置。
26.如权利要求22所述的系统,其特征在于通过对第一竞争服务的客户机请求的到达率增加来触发重新分配。
27.一种用于在分布式计算环境中在多个竞争的服务当中重新分配存储器的计算机程序产品,该计算机程序产品被包含在一个或多个计算机可读介质上,并且包含用于为多个竞争服务中的每个特定服务确定一个平均的每一请求客户机响应时间公式的计算机可读程序代码装置;用于计算每个平均的每一请求客户机响应时间公式的导数的计算机可读程序代码装置;用于为每个计算出的导数计算直线斜率的计算机可读程序代码装置;用于选择竞争服务中的一个第一服务进行附加存储器的分配的计算机可读程序代码装置;用于选择竞争服务中的一个第二服务进行已分配存储器的解除分配的计算机可读程序代码装置;以及用于从第二竞争服务中解除分配一部分已经分配的存储器、并且重新分配该部分到第一竞争服务的计算机可读程序代码装置。
28.如权利要求27所述的计算机程序产品,其特征在于用于确定一个平均的每一请求客户机响应时间公式的装置进一步包含用于确定用于处理该特定服务的多个请求的平均中央处理单元(“CPU”)时间的计算机可读程序代码装置;用于为该特定服务的多个请求确定平均存储器响应时间的计算机可读程序代码装置;用于为该特定服务确定一个估算高速缓存命中率的计算机可读程序代码装置;用于将该特定服务的估算高速缓存未中率计算为(1-该特定服务的估算高速缓存命中率)的计算机可读程序代码装置;用于把用于该特定服务的估算高速缓存未中率乘以用于该特定服务的平均存储器响应时间、产生一个用于该特定服务的响应时间分量的计算机可读程序代码装置;以及用于把用于该特定服务的平均CPU时间和用于该特定服务的响应时间分量相加、由此获得用于该特定服务的平均每一请求客户机响应时间公式的计算机可读程序代码装置。
29.如权利要求28所述的计算机程序产品,其特征在于估算的高速缓存命中率是以特定服务的类似Zipf分布函数为基础的。
30.如权利要求27所述的计算机程序产品,进一步包含用于对计算出的斜率进行加权,以反映出来自与为其计算斜率的特定服务有关的一个或多个服务级别协定的响应时间承诺的装置。
31.如权利要求27所述的计算机程序产品,其特征在于第一竞争服务是竞争服务中为其计算的斜率具有最大值的那个竞争服务,而第二竞争服务是竞争服务中为其计算的斜率具有最小值的那个竞争服务。
32.一种通过在分布式计算环境中在多个竞争的服务当中分配存储器而经营商业的方法,包含以下步骤为多个竞争服务中的每个特定服务确定一个平均的每一请求客户机响应时间公式;计算每个平均的每一请求客户机响应时间公式的导数;为每个计算出的导数计算直线斜率;当将要分配附加存储器时,执行以下步骤根据为该竞争服务计算出的斜率来选择竞争服务中的一个进行附加存储器的分配;以及当将要重新分配已经分配的存储器时,执行以下步骤选择竞争服务中的一个第一服务进行附加存储器的分配;选择竞争服务中的一个第二服务进行已分配存储器的解除分配;以及从第二竞争服务中解除分配一部分已经分配的存储器,并且重新分配该部分到第一竞争服务。
33.如权利要求32所述的方法,其特征在于确定一个平均的每一请求客户机响应时间公式的步骤进一步包含以下步骤确定用于处理该特定服务的多个请求的平均中央处理单元(“CPU”)时间;为该特定服务的多个请求确定平均存储器响应时间;为该特定服务确定一个估算高速缓存命中率;将该特定服务计算的估算高速缓存未中率计算为(1-该特定服务的估算高速缓存命中率);把用于该特定服务的估算高速缓存未中率乘以用于该特定服务的平均存储器响应时间,产生一个用于该特定服务的响应时间分量;以及把用于该特定服务的平均CPU时间和用于该特定服务的响应时间分量相加,由此获得用于该特定服务的平均每一请求客户机响应时间公式。
全文摘要
本发明提供一种用于在分布式计算环境中在竞争的服务当中编程地分配存储器的方法和系统。web请求流的特性和用于高速缓存命中率和客户机响应时间的公式被用来创建一个用于存储器分配的目标函数,以便能够从存储器分配获得最大收益。当一个特定服务被分配更多存储器时,它能够在高速缓存中存储它的更多对象,其改善了客户机响应时间。选择性地,来自服务级协定的信息可以被用作到存储器分配计算的输入。
文档编号H04L29/08GK1506848SQ20031011956
公开日2004年6月23日 申请日期2003年12月4日 优先权日2002年12月10日
发明者杰弗里·S·蔡斯, 罗纳德·P·多伊尔, P 多伊尔, 杰弗里 S 蔡斯 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1