编译方法、装置和程序的制作方法

文档序号:2327165阅读:144来源:国知局
专利名称:编译方法、装置和程序的制作方法
技术领域
本发明涉及控制器、信息处理系统、控制方法以及程序。具体地,本发明涉及控制在信息处理装置对处理请求的接收与该信息处理装置对该处理请求的响应之间所经过的平均响应时间的控制器、信息处理系统、控制方法以及程序。
背景技术
这些年来,旨在减少信息装置中的热量生成的节能技术正得到关注。一种用于改变中央处理单元的工作频率或电压的技术已经得到使用(例如参见非专利文献1)。为了通过使用这种技术来降低Web服务器中的能耗,已经提出了另一种基于Web服务器的90%响应时间来控制Web服务器的工作频率的技术(参见非专利文献2)。
在此文献中使用的术语“90%响应时间”指Web服务器对发送到该Web服务器的90%的处理请求进行响应所需要的时间。90%响应时间用作为Web服务器能够多快地执行处理的度量。
根据该技术,以有规律的时间间隔度量该90%响应时间。如果度量出的值小于目标值,则降低工作频率;如果度量出的值超过该目标值,则增加工作频率。这提供了在防止过量功耗的同时达到目标的可能。
已经提出了一种根据对Web服务器的处理请求的数量,控制该Web服务器的工作频率的技术(参见非专利文献3)。根据这种技术,根据之前度量出的处理请求的输入速率与当前度量出的处理请求的输入速率之间的差来确定在处理请求的输入速率上的最近变化的趋势,并且根据这种趋势计算未来平均响应时间的预计值。然后,设置能够维持小于目标值的平均响应时间的最低工作频率。因此,如果处理请求输入速率上的变化显示出了给定的趋势,那么就能够执行适当的控制。
“IntelPentiumProcessor Enhanced Intel SpeedStepTechnology”,网页URLhttp//support.intel.com/support/processors/mobile/pm/sb/CS007981.htm[非专利文献2]M.Elnozahy,M.Kistler,和R.Rajamony,“EnergyConservation Policies for Web Servers”,USITS 2003[非专利文献3]N.Kandasamy,S.A.Abdelwahed和J.P.Hayes,“Self-Optimization in Computer Systems via Online ControlApplicationto Power Management”,自主计算的国际会议的会议记录中,2004[非专利文献4]“WebSphereExtended Deployment Edition”,白皮书,网页URLhttp//www-6.ibm.com/jp/software/websphere/ft/was/xd/pdf/whitepaper.pdf因为90%响应时间是基于在预定的以前时间与目前时间之间的一段时间内的响应时间来确定的,因此在工作频率上的变化和该90%响应时间上的变化之间存在时滞。因此,在非专利文献1中描述的技术中的90%响应时间能够在目标值附近波动。非专利文献1中描述的技术通过包括监控TCP/IP包以度量90%响应时间的功能以及控制操作系统内核中的工作频率的功能来实现以非常短的时间间隔的工作频率控制。相应地,波动的范围也相对较窄。
然而,因为识别TCP/IP包级别上的处理请求的类型是困难的,因此对运行在Web服务器上的所有应用程序来说,仅能够设置一个响应时间目标。这是不切实际的,而是期望为每个应用程序设置响应时间目标。事实上,非专利文献4中描述的技术允许为每一个单独的应用程序设置响应时间目标。
为了设置一个以上的目标值,必须在诸如HTTP的更高级别上监控处理请求。在用户空间中来监控HTTP请求。用户空间中的响应时间的度量和工作频率控制使用比在内核空间中更大的开销。相应地,如果以短时间间隔来执行工作频率控制,则Web应用的性能将被极大地降低。
如在非专利文献4中描述的技术中,如果向Web服务器外部的工作负荷管理器提供一个响应时间目标,那么必须通过网络在外部控制该Web服务器的工作频率。从而,消耗了更多的开销。因此,设置时间间隔以便将工作频率控制在几十秒的量级上的较小值是困难的,并且必须以较长的时间间隔来控制工作频率。
如果非专利文献2中描述的技术在未做修改的情况下应用到这样一种系统,那么用于度量90%响应时间的时间间隔将变得相当长。结果,90%响应时间能够在远离目标值的范围内波动。这对于非专利文献3中描述的技术来说也是一样的情况。如果以长时间间隔内来执行工作频率控制,那么平均响应时间就可能波动。

发明内容
本发明的目的在于提供能够解决这些问题的控制装置、信息处理系统、控制方法以及程序。此目的可以通过在独立权利要求中提出的特征的组合来实现。从属权利要求定义了进一步的优选实施例。
为了解决这些问题,本发明的第一个方面提供一种用于控制信息处理装置对处理请求的接收与该信息处理装置对该处理请求的响应之间所经过的平均响应时间的控制器,该控制器包括响应时间目标获得部分,用于获得作为上述平均响应时间的目标值的响应时间目标;预计响应时间计算部分,用于计算预计响应时间,该预计响应时间是从在上述信息处理装置中设置一工作模式开始经过了预定参考期的时间点上的平均响应时间的预计值,该工作模式是提供不同吞吐量的多个工作模式中的任一种;以及工作模式设置部分,用于在上述预计响应时间计算部分计算出的预计响应时间少于上述响应时间目标时,在上述信息处理装置中设置上述工作模式。
上面提供的本发明的概述未列举本发明的所有必要特征。这些特征的各种子组合也能够构成本发明。
根据本发明,能够通过减少开销使Web服务器等的响应时间更加接近于目标值。


图1示出了信息处理系统10的总体配置;图2以功能块示出了控制器25的功能;图3是变换图,其示出了Web服务器30如何在稳定、瞬时和不稳定状态之间进行变换;图4示出了由控制器25执行的用于设置信息处理系统10的吞吐量的过程的例子;图5示出了在图4中的S430处执行的过程的细节;图6是概念图,其通过使用一阶滞后元件对平均响应时间随着时间的变化建模;图7示出了平均响应时间的控制的例子;图8以功能单元示出了本实施例的变体中的控制器25的功能;图9示出了由控制器25执行的用于设置信息处理系统10的吞吐量的过程的例子;以及图10示出了根据本实施例或其变体的边缘服务器20的示例性硬件配置。
符号说明10…信息处理系统20…边缘服务器25…控制器30…Web服务器200…响应时间目标获得部分210…平均响应时间获得部分220…请求计数获得部分
230…预计响应时间计算部分240…工作模式设置部分具体实施方式
下面将对于本发明的实施例来描述本发明,但是这些实施例并不是要限制在权利要求中定义的本发明,并且这些实施例中描述的特征的所有组合对于本发明技术方案来说并非都是必需的。
图1示出了信息系统10的整体配置。可以是在电子商务公司中提供的Web系统的信息处理系统10,对来自外部源的处理请求进行响应。信息处理系统10包括Web服务器30、本发明的信息处理装置的例子以及控制和管理Web服务器30的边缘服务器20。
边缘服务器20将从外部源接收到的处理请求传送给Web服务器30。如果信息处理系统10具有多个Web服务器30,那么边缘服务器20可以根据各个Web服务器30上的工作负荷选择要将该请求传送给其的Web服务器30,并将该请求传送给该Web服务器30。Web服务器30将对外部请求的响应发送给该请求的发送方。
边缘服务器20具有控制器25,它控制从在Web服务器30处接收到处理请求到对该请求进行响应之间所经过的平均响应时间。具体地,控制器25从Web服务器30获得Web服务器30的平均响应时间。如果该平均响应时间比目标值长,那么控制器25就在Web服务器30中设置提供更高吞吐量的工作模式。另一方面,如果该平均响应时间短于该目标值,那么控制器25就在Web服务器30中设置提供更低吞吐量的工作模式。
在从工作模式的先前变化开始经历预定时期之后,控制器25计算平均响应时间的预计值,并且设置提供比该目标值要低的预计值的工作模式。这样做的目的在于在该目标值附近的范围内稳定地改变平均响应时间,同时防止吞吐量过度地变化,即使该吞吐量以相对较长的时间间隔被控制。
图2以功能块示出了控制器25的功能。控制器25包括响应时间目标获得部分200、平均响应时间获得部分210、请求计数获得部分220、预计响应时间计算部分230和工作模式设置部分240。响应时间目标获得部分200获得响应时间目标,它是平均响应时间的目标值。平均响应时间获得部分210以预定时间间隔(例如5分钟),从Web服务器30获得从一个预定的以前时间到当前时间的时期内的平均响应时间。请求计数获得部分220从Web服务器30获得该Web服务器30接收到的处理请求的累计计数。请求计数获得部分220还获得每单位时间内该Web服务器30接收到的处理请求的计数。
如果平均响应时间在一个范围内稳定地变化,则不管预计响应时间如何,工作模式设置部分240都设置提供该响应时间目标的工作模式。如果响应时间在参考界限之外的一个方向上变化,那么预计响应时间计算部分230计算这样的预计响应时间,即它是从在Web服务器30中设置提供不同吞吐量的工作模式的时间开始经历预定时期后的时间点的平均响应时间的预计值。如果由部分230计算出的预计响应时间低于所述响应时间目标,那么工作模式设置部分240在Web服务器30中设置该工作模式。这使得平均响应时间能够迅速接近该响应时间目标。
图3是状态变换图,其示出了Web服务器30怎样在三个状态之间改变,这三个状态为稳定、瞬时和不稳定。稳定状态是这样一种状态,即其中平均响应时间获得部分210所获得的平均响应时间在预定的参考界限内随着时间变化。例如,在Web服务器30的吞吐量在足够长的时期内恒定之后,Web服务器变换到这一状态(S310和S330)。
瞬时状态是这样一种状态,即其中平均响应时间获得部分210所获得的平均响应时间在参考界限中的一个之外的一个方向上随着时间变化。例如,如果Web服务器30的吞吐量最近发生了变化,则Web服务器30变换到这一状态(S300)。不稳定状态是这样一种状态,即其中平均响应时间获得部分210所获得的平均响应时间在参考界限内的值与大于参考界限上限的值或低于下限的值之间变化。例如,如果响应时间增加,即使吞吐量最近增加了,Web服务器30也通常变换到这一状态(S320和S340)。
图4示出了由控制器25执行的用于设置信息处理系统10的吞吐量的过程的例子。控制器25每经过一个预定时期就执行该过程。首先,平均响应时间获得部分210从Web服务器30获得预定的以前时间与当前时间之间的时期上的平均响应时间(S400)。然后,工作模式设置部分240确定在平均响应时间上的变化是否处于参考界限内(S410)。例如,每当在S400获得平均响应时间时,工作模式设置部分240就可以对其进行记录并且与先前记录的平均响应时间进行比较,以确定变化是否处于参考界限内。
如果平均响应时间随着时间在参考界限(例如0.1秒)内变化(S410在参考界限内),那么工作模式设置部分240执行用于稳定状态的过程(420)。具体地,工作模式设置部分240在Web服务器30中设置将Web服务器30的响应时间减少到低于响应时间目标的值的工作模式。例如,如果平均响应时间在大约1.5秒的范围内变化,而响应时间目标是3秒,那么工作模式设置部分240将吞吐量减少因子2,以便响应时间在工作模式改变以后立即变为3秒。Web服务器30变换到瞬时状态,其中平均响应时间在参考界限中的一个之外的一个方向上变化,并且在经过足够长的时期之后,该平均响应时间接近于响应时间目标。
如果平均响应时间随着时间在参考界限之外的一个方向上变化(S410在一个方向上的变化),那么工作模式设置部分240执行用于瞬时状态的过程(S430)。这一过程的细节将在后面描述。如果平均响应时间随着时间在一个值与大于参考界限上限的值或低于参考界限下限的值之间变化(S410在两个方向上变化),那么工作模式设置部分240执行用于不稳定状态的过程(S440)。
具体地,工作模式设置部分240首先获得由平均响应时间获得部分210在预定的以前时期之上获得的平均响应时间的最大值。如果该最大值大于响应时间目标,那么工作模式设置部分240就设置将等于该最大值的平均响应时间变为一个小于该响应时间目标的值的工作模式。例如,如果最大值为4秒,而响应时间目标为3秒,那么工作模式设置部分240在Web服务器30中设置将吞吐量减少到4/3的工作模式。如果输入处理请求的频率趋势没有变化,则该响应时间能够被减少到响应时间目标。
图5示出了在图4中的S430处执行的过程的细节。响应时间目标获得部分200获得响应时间目标(S500)。请求计数获得部分220从Web服务器30获得Web服务器30接收到的处理请求的累计计数(S510)。图5中所示的过程被执行的时间由tc表示,而所获得的请求的累计计数由n(tc)表示。请求计数获得部分220根据请求的累计计数计算Web服务器30每单位时间接收到的请求数量(S520)。
具体地,请求计数获得部分220从当前获得的处理请求的累计计数中减去先前获得的处理请求的累计计数。该差值由nprev(tc)表示。请求计数获得部分220计算被参考期(tc-tprev)除后的差值的平均值,以及被所经过的时间除后的当前获得的处理请求的累计计数。该平均值是Web服务器30在单位时间内接收到的处理请求的数量。利用处理请求的数量m(tc),这一过程可用等式(1)来表示[公式1]m(tc)=mtotal(tc)+mprev(tc)2=n(tc)tc+nprev(tc)tc-tprev2...(1)]]>然后,预计响应时间计算部分230和工作模式设置部分240为能够在Web服务器30中设置的多个该中的每一个执行以下过程(S530)。预计响应时间计算部分230计算预计响应时间,它是自从在Web服务器30中设置当前工作模式的时间开始经过参考期后的时间上的平均响应时间的预计值(S540)。
更具体地,预计响应时间计算部分230通过使用一个功能来计算预计响应时间,该功能通过使用一阶滞后元件对平均响应时间随着时间的变化(ravg(t))进行建模。这一功能可以由等式(2)表示,其中在当设置该工作模式时的Web服务器30的响应时间(Rgoal±)与在先前的稳定状态中提供的平均响应时间(ravg(t0))之间的差值被用作增益,并且基于每单位时间的处理请求的数量以及处理请求的累计计数的值被用作时间常量T。
ravg(t)=(Rgoal±-ravg(t0))·(1-etT)+ravg(t0)...(2)]]>预计响应时间计算部分230使用以与该工作模式中的吞吐量水平成反比例变化的值作为响应时间(Rgoal±),该响应时间将在Web服务器30中设置该工作模式时被提供。例如,预计响应时间计算部分230使用用于达到响应时间目标的吞吐量(Pgoal)、响应时间目标(Rgoal)以及该工作模式中的吞吐量(Ppgoal±),来获得如下的响应时间(Rgoal±)[公式3]Rgoal±=PgoalPgoal±·Rgoal...(3)]]>然后,预计响应时间计算部分230确定公式(2)的时间常量T,该时间常量T随着每单位时间的处理请求的数量的增加而增加平均响应时间的变化速率,并且随着处理请求的累计计数的增加而降低变化速率。例如,时间常量T可以使用等式(4)来计算[公式4]T=n(tc)·(Rgoal-ravg(t0))m(tc)·(Rgoal±-ravg(tc)-Δr)...(4)]]>其中Δr是一个预定的较小数量。
参照图6,将对用于推导等式(4)的过程进行描述。图6示出了一个概念图,其通过使用一阶滞后元件对平均响应时间随着时间的变化进行建模。时间常量T被表示为一阶滞后元件的曲线的起始点处的正切达到图6所示的目标值所需的时间。时间常量可由等式(5)来表示[公式5]T=Rgoal±-ravg(t0)k...(5)]]>其中k是正切的斜率。
使用平均响应时间增加Δr所需的时间Δt,k可由等式(6)来表示[公式6]
K=ΔrΔt...(6)]]>因此,可通过获得对于Δr的特定值的Δt来获得时间常量T(例如0.01毫秒)。
在时间tc+Δt上的平均响应时间ravg(tc+Δt)可由等式(7)来表示[公式7]ravg(tc+Δt)=ravg(tc)+Δr...(7)由于平均响应时间ravg(tc)可由等式(8)来表示,所以在时间tc+Δt上的平均响应时间ravg(tc+Δt)也可由等式(9)来表示。
ravg(tc)=1n(tc)·Σi=0n(tc)-1cri...(8)]]>[公式9]ravg(tc+Δt)=1n(tc+Δt)·Σi=0n(tc+Δt)-1ri...(9)]]>其中,ri是对每一处理请求的响应时间。在时间tc+Δt上的处理请求的累计计数n(tc+Δt)可由等式(10)利用每单位时间的处理请求的累计计数m(tc)来近似。
n(tc+Δt)=n(tc)+m(tc).Δt…(10)从等式(7)、(9)和(10)可以推导出等式(11)。
ravg(tc)+Δr=1n(tc)+m(tc)·Δt·Σi=0n(tc)+m(tc)·Δt-1ri=1n(tc)+m(tc)·Δt·(Σi=0n(tc)-1ri+Σi=n(tc)n(tc)+m(tc)·Δt-1ri)...(11)]]>由于在时间Δt上的响应时间的平均值是Rgoal±,所以等式12成立。
Rgoal±=1m(tc)·ΔtΣi=n(tc)n(tc)+m(tc)·Δt-1r1...(12)]]>
从等式(8)、(11)和(12)可以推导出等式(13)。
ravg(tc)+Δr=1n(tc)+m(tc)·Δt·(n(tc)·ravg(tc)+m(tc)·Δt·Rgoal±)...(13)]]>对于Δt求解等式(13),得到等式(14)。
Δt=n(tc)·Δrm(tc)·(Rgoal±-ravg(tc)-Δr)...(14)]]>从等式(14)和(5),可以推导出等式(4)。
回到图5,每当预计响应时间计算部分230计算出预计响应时间时,工作模式设置部分240确定该预计响应时间是否超过响应时间目标(S550)。如果该预计响应时间低于或等于响应时间目标(S550否),则工作模式设置部分240选择该工作模式作为候选工作模式来设置(S560)。对于每一工作模式重复该过程(S570)。
最后,工作模式设置部分240选择提供低于响应时间目标的平均响应时间的工作模式中的一个,并且在Web服务器30中设置它(S580)。例如,可设置提供最低吞吐量的工作模式。这能够将能耗最小化到这样的程度,即平均响应时间能够在一个低于目标响应的值上保持一个直到下一次对吞吐量进行控制时为止的时期。
例如,这里的吞吐量可以是中央处理单元的工作频率。如果设置一个提供较低吞吐量的工作模式,则与提供较高吞吐量的工作模式相比,中央处理单元的工作频率降低。因此,能够降低工作频率并且因此降低中央处理单元的能耗以及中央处理单元的电压。
吞吐量并不局限于中央处理单元的工作频率。例如,它可以是分配给一个Web应用程序的中央处理单元的数量。在此情况下,Web服务器30具有多个中央处理单元并且,如果设置了一个提供较低吞吐量的工作模式,那么与提供较高吞吐量的工作模式相比,分配给该Web应用程序的中央处理单元的数量被减少。因此,由其它中央处理单元执行的其它程序的执行效率能够被改善,并且由这些中央处理单元提供的计算资源能够被有效地使用而不被浪费。
在其它的例子中,吞吐量可以是给予Web应用程序的中央处理单元的计算时间的时间片的长度,或者可以是对于调度执行线程而给予Web应用程序的优先级。在这些例子里,同工作频率的情况一样,通过适当地控制吞吐量,能够有效地使用由中央处理单元提供的计算资源而不会浪费。
图7示出了控制平均响应时间的一个例子。图7的部分(a)示出了当从稳定状态变换到瞬时状态时平均响应时间和吞吐量上的变化。当工作模式被改变以降低吞吐量时,平均响应时间逐渐增加,并且接近于部分(a)中所示的响应时间目标。
部分(b)示出了瞬时状态中的平均响应时间和吞吐量上的变化。在瞬时状态中,提供最低可能的吞吐量的工作模式被设置,该吞吐量不会引起平均响应时间在参考期之后超过响应时间目标。相应地,Web服务器30被置于其中与(a)中所示的情况相比吞吐量要低的工作模式中。结果,与部分(a)中所示的情况相比,平均响应时间迅速增加。因此,与(a)中所示的控制相比,能耗能够被减少。
在瞬时状态中,控制器25获得平均响应时间,并且每经过一个参考期时便计算预计响应时间。该预计响应时间随着时间逐渐增加,并且超过响应时间目标。然后,控制器25在Web服务器30中设置提供较高吞吐量(其在(b)中由虚线表示)的工作模式。因此,平均响应时间接近但是并不超过响应时间目标。
正如参照图1至图7所描述的那样,利用本实施例的信息处理系统10,每经过一个参考时间时,便计算从工作模式的改变开始的下一个参考期内的平均响应时间的预计值,并且设置提供低于目标值的预计值的工作模式。这能够在目标值附近的范围内稳定地改变平均响应时间,同时即使以相对较长的时间间隔对吞吐量进行控制,也能够防止吞吐量过度地变化。
本实施例的效果已经在其中得到检验的实验表明,与其中Web服务器30始终以其最大工作频率进行操作的情形相比,本发明能够将Web服务器30中的能耗减少50%或更多。它还表明与其中Web服务器30以已知的最优工作频率进行操作的情形相比,在能耗上的变化是很微小的。在该实验中,使用SPECjAppServer 2002作为基准程序,并且将作为处理请求的频率的设置值的IR设置为40和50。所使用的Web服务器30是具有PentiumM1.6GHZ(Pentium是注册商标)的个人计算机,其上运行有WebSphere应用服务器(WebSphere是注册商标)。
图8以功能块示出了本实施例的变体中的控制器25的功能。该变体中的Web服务器30执行多个应用程序,并且对于每一个应用程序预先设置了响应时间目标。也就是说,预先定义在应用接收到处理请求与对该请求进行响应之间所耗费的响应时间的目标值,并且预先定义另一个应用程序接收到处理请求与对该请求进行响应之间的响应时间的目标值。这些目标值可互不相同。
响应时间目标获得部分200获得每一应用程序的响应时间目标。平均响应时间获得部分210获得每一应用程序的平均响应时间,它是在Web服务器30执行该应用程序期间之上的响应时间的平均值。请求计数获得部分220对于每一应用程序从Web服务器30获得该Web服务器30接收到的处理请求的累计数量。如果任何应用程序的平均响应时间超过了它的响应时间目标,那么预计响应时间计算部分230选择该应用程序作为要对其执行控制的程序。在Web服务器30中设置多个工作模式中的每一个的时候,预计响应时间计算部分230计算将导致的应用程序的预计响应时间。如果Web服务器30处于瞬时状态,则工作模式设置部分240将从提供低于响应时间目标的预计响应时间的工作模式之中,选择消耗最少能量的工作模式,并且在Web服务器30中设置该模式。工作模式设置部分240的其它操作与图2中所示的工作模式设置部分240相同,因此将省略其描述。
图9根据本实施例的变体示出了由控制器25执行的用于设置信息处理系统10的吞吐量的过程的一个例子。平均响应时间获得部分210获得每一应用程序的平均响应时间(S800),并且响应时间目标获得部分200获得每一应用程序的响应时间目标(S810)。
预计响应时间计算部分230确定是否所有应用程序的平均响应时间都低于它们的响应时间目标(S820)。如果任何应用程序的平均响应时间超过了其响应时间目标(S820否),则预计响应时间计算部分230从提供超过其响应时间目标的平均响应时间的每一个应用程序的响应时间目标中减去平均响应时间(S830)。然后选择其计算出的差值在这些应用程序中最大的应用程序作为要对其执行控制的应用程序。
另一方面,如果所有应用程序的平均响应时间低于它们的响应时间目标(S820是),那么预计响应时间计算部分230选择其平均响应时间与响应时间目标之间的差值最小的应用程序作为将对其执行控制的应用程序(S840)。
控制器25使用选择出的应用程序的平均响应时间和响应时间目标来执行步骤S850到S880。具体地,如果步骤S830被执行,则对于其平均响应时间和响应时间目标之间的差值最大的应用程序,控制工作模式。如果步骤S840被执行,则对于其平均响应时间几乎超过了其响应时间目标的应用程序,控制工作模式。具体地,如果Web服务器30处于瞬时状态,则预计响应时间计算部分230度量如果在Web服务器30中设置每一工作模式都将被提供的所针对的应用程序的预计响应时间。工作模式设置部分240在Web服务器30中设置提供低于响应时间目标的预计响应时间的工作模式。步骤S850至S880与图4中所示的步骤S410至S440相同,因此将省略其描述。
正如对于该变体所描述的那样,即使控制器25以相对较长的时间间隔控制该工作模式,其也能够将平均响应时间减少到低于响应时间目标的值,并且因此能够获得诸如各个应用程序的平均响应时间的值。这使得控制器25根据各个应用程序的平均响应时间和响应时间目标来控制Web服务器30。
图10示出了根据本实施例或其变体的边缘服务器20的示例性硬件配置。边缘服务器20包括CPU外围部分、输入/输出部分和遗留输入/输出部分,CPU外围部分包括通过主机控制器1082互连的CPU1000、RAM1020和图形控制器1075,输入/输出部分包括通过输入/输出控制器1084与主机控制器1082相连的通信接口1030、硬盘驱动器1040和CD-ROM驱动器1060,遗留输入/输出部分包括连接到输入/输出控制器1084的ROM1010、软盘驱动器1050和输入/输出芯片1070。
主机控制器1082将以较高的传输速率访问RAM1020的CPU1000和图形控制器1075与RAM1020相连。CPU1000根据存储在ROM1010和RAM1020中的程序进行操作,以控制边缘服务器20的各组件。图形控制器1075获得在RAM1020中提供的帧缓冲器上由CPU1000生成的图像数据,并且使其显示在显示设备1080上。可选择地,图形控制器1075可以包含帧缓冲器,用于存储由CPU1000生成的图像数据。
输入/输出控制器1084将主机控制器1082与通信接口1030、硬盘驱动器1040和CD-ROM驱动器1060连接,它们是相对快速的输入/输出设备。通信接口1030通过网络与外部设备通信。硬盘驱动器1040存储由边缘服务器20使用的程序和数据。CD-ROM驱动器1060从CD-ROM1095中读取程序或数据,并且通过RAM1020将其提供给输入/输出芯片1070。
相对慢速的输入/输出设备,诸如软盘驱动器1050和输入/输出芯片1070,连接到输入/输出控制器1084。ROM1010存储在边缘服务器20启动期间由CPU1000执行的引导程序以及依赖于边缘服务器20的硬件的程序。软盘驱动器1050从软盘1090中读取程序或数据,并且通过RAM1020将其提供给输入/输出芯片1070。输入/输出芯片1070通过诸如并行端口、串行端口、键盘端口和鼠标端口的端口连接软盘1090和各种输入/输出设备。
将要提供给边缘服务器20的程序被存储在记录介质上,该记录介质诸如软盘1090、CD-ROM 1095或者IC卡,并且该程序是由用户提供的。通过输入/输出芯片1070和/或输入/输出控制器1084,从该记录介质中读出该程序并将其安装在边缘服务器20上,并且执行。在该程序的控制之下,边缘服务器20执行的操作与参照图1和9描述的边缘服务器20中的操作相同,因此将省略其描述。
该程序可以存储在外部存储介质上。该存储介质可以是软盘1090或CD-ROM 1095,或者是诸如DVD和PD的光记录介质,诸如MD、磁带介质的磁-光记录介质,或者诸如IC卡的半导体存储器。可选地,在连接到专用通信网络或因特网的服务器系统中提供的存储设备,诸如硬盘或RAM,可以用作该记录介质,并且可以从该存储设备将该程序通过网络提供给边缘服务器20。
尽管结合本发明的实施例对本发明进行了描述,但是本发明的技术范围不局限于对于这些实施例所描述的范围内。对于本领域的技术人员来说显而易见的是,可以对此实施例进行各种修改或改进。根据权利要求显而易见的是,进行了这样的修改和改进的实施例均落入本发明的技术范围的范围内。
权利要求
1.一种用于控制信息处理装置对处理请求的接收与该信息处理装置对该处理请求的响应之间所经过的平均响应时间的控制器,该控制器包括响应时间目标获得部分,用于获得作为上述平均响应时间的目标值的响应时间目标;预计响应时间计算部分,用于计算预计响应时间,该预计响应时间是从在上述信息处理装置中设置一工作模式开始经过了预定参考期的时间点上的平均响应时间的预计值,该工作模式是提供不同吞吐量的多个工作模式中的任一种;以及工作模式设置部分,用于在上述预计响应时间计算部分计算出的预计响应时间少于上述响应时间目标时,在上述信息处理装置中设置上述工作模式。
2.按照权利要求1所述的控制器,进一步包括平均响应时间获得部分,用于每次经过上述参考期时,从上述信息处理装置获得上述平均响应时间;其中,如果上述信息处理装置处于瞬时状态,在该瞬时状态中由该平均响应时间获得部分获得的平均响应时间随着时间在预定参考范围之外的一个方向上变化,上述预计响应时间计算部分在每次经过上述参考时间时,计算在上述工作模式中的每一个被设置时所提供的预计响应时间;以及每次上述预计响应时间计算部分计算出每一工作模式中的预计响应时间时,上述工作模式设置部分选择提供少于上述响应时间目标的预计响应时间的工作模式中的任一种,并且在上述信息处理装置中设置该工作模式。
3.按照权利要求2所述的控制器,其中,如果上述信息处理装置处于稳定状态,在该稳定状态中由上述平均响应时间获得部分获得的平均响应时间随着时间在上述参考范围内变化,则上述工作模式设置部分设置将上述信息处理装置的响应时间变化到少于上述响应时间目标的值的工作模式,以将上述信息处理装置置于上述瞬时状态。
4.按照权利要求3所述的控制器,其中,如果上述信息处理装置处于不稳定状态,在该不稳定状态中由上述平均响应时间获得部分获得的平均响应时间随着时间在一值与大于上述参考范围的上限的值或小于该参考范围的下限的值之间变化,则上述工作模式设置部分获得由上述平均响应时间获得部分在预定的以前时间段之上获得的平均响应时间的最大值,并且在上述信息处理装置中设置将等于该最大值的响应时间降低到小于上述响应时间目标的值的工作模式。
5.按照权利要求3所述的控制器,进一步包括请求计数获得部分,用于获得上述信息处理装置每单位时间接收到的处理请求的数量以及该信息处理装置接收到的处理请求的累计数量;其中上述预计响应时间计算部分通过使用一功能为上述多个工作模式中的每一种计算预计响应时间,该功能通过使用一阶滞后元件对上述信息处理装置的平均响应时间随着时间的变化建模,其中该功能使用当在该信息处理装置中设置该工作模式时所提供的响应时间与在稳定状态下的平均响应时间之间的差值作为增益,并且使用基于上述每单位时间的处理请求的数量和处理请求的累计数量的值作为时间常量。
6.按照权利要求5所述的控制器,其中上述预计响应时间计算部分为上述多个工作模式中的每一种计算预计响应时间,此计算是通过使用与该工作模式下的吞吐量成反比例的值作为在上述信息处理装置中设置该工作模式时所提供的响应时间来完成的。
7.按照权利要求5所述的控制器,其中上述预计响应时间计算部分计算预计响应时间,此计算是通过随着每单位时间的处理请求的数量的增加而增加变化速率,并随着处理请求的累计数量的增加而降低变化速率来完成的。
8.按照权利要求5所述的控制器,其中上述请求计数获得部分在每次经过上述参考期时,从上述信息处理装置获得该信息处理装置接收到的处理请求的累计数量,从当前获得的处理请求的累计数量减去先前获得的处理请求的累计数量以获得差值,并获得被该参考期除后的该差值的平均值以及被累计经过的时间除后的当前获得的处理请求的累计数量作为该信息处理装置每单位时间接收到的处理请求的数量。
9.一种信息处理系统,包括信息处理装置,其对从外部源接收到的处理请求进行响应;以及控制器,用于控制上述信息处理装置对处理请求的接收与该信息处理装置对该处理请求的响应之间所经过的平均响应时间,该控制器具有响应时间目标获得部分,用于获得作为上述平均响应时间的目标值的响应时间目标;预计响应时间计算部分,用于计算预计响应时间,该预计响应时间是从在上述信息处理装置中设置一工作模式开始经过了预定参考期的时间点上的平均响应时间的预计值,该工作模式是提供不同吞吐量的多个工作模式中的任一种;以及工作模式设置部分,用于在上述预计响应时间计算部分计算出的预计响应时间少于上述响应时间目标时,在上述信息处理装置中设置上述工作模式。
10.按照权利要求9所述的信息处理系统,其中上述信息处理装置执行多个应用程序中的每一个;上述响应时间目标获得部分获得这些应用程序中每一个的响应时间目标;上述信息处理系统进一步包括平均响应时间获得部分,用于为这些应用程序中的每一个获得该信息处理装置执行该应用程序的时期上的响应时间的平均值,作为上述平均响应时间;以及如果这些应用程序中任一个的平均响应时间超过上述响应时间目标,则上述预计响应时间计算部分为该应用程序计算在设置上述多个工作模式中的任一种时所提供的预计响应时间;以及如果上述预计响应时间计算部分计算出的预计响应时间少于上述响应时间目标,则上述工作模式设置部分在上述信息处理装置中设置上述工作模式。
11.按照权利要求10所述的信息处理系统,其中如果上述多个应用程序中任一个的平均响应时间超过上述响应时间目标,则上述预计响应时间计算部分选择其平均响应时间与上述响应时间目标之间的差值在这多个应用程序中最大的应用程序,并且计算在上述信息处理装置中设置该工作模式时所提供的该应用程序的预计响应时间;以及如果上述预计响应时间计算部分计算出的预计响应时间少于上述应用程序的响应时间目标,则上述工作模式设置部分在上述信息处理装置中设置上述工作模式。
12.按照权利要求10所述的信息处理系统,其中如果所有的上述应用程序的平均响应时间均少于上述响应时间目标,则上述预计响应时间计算部分选择其平均响应时间与上述响应时间目标之间的差值在这些应用程序中最小的应用程序,并且计算在上述信息处理装置中设置上述工作模式时所提供的该应用程序的预计响应时间;以及如果上述预计响应时间计算部分计算出的预计响应时间少于上述应用程序的响应时间目标,则上述工作模式设置部分在上述信息处理装置中设置上述工作模式。
13.一种用于控制信息处理装置对处理请求的接收与该信息处理装置对该处理请求的响应之间所经过的平均响应时间的控制方法,该控制方法包括响应时间目标获得步骤,其获得作为上述平均响应时间的目标值的响应时间目标;预计响应时间计算步骤,其计算预计响应时间,该预计响应时间是从在上述信息处理装置中设置一工作模式开始经过了预定参考期的时间点上的平均响应时间的预计值,该工作模式是提供不同吞吐量的多个工作模式中的任一种;以及工作模式设置步骤,其在上述预计响应时间计算步骤计算出的预计响应时间少于上述响应时间目标时,在上述信息处理装置中设置上述工作模式。
14.一种用于使计算机作为控制器发挥作用的程序,该控制器控制信息处理装置对处理请求的接收与该信息处理装置对该处理请求的响应之间所经过的平均响应时间,该程序使该计算机如下来发挥作用响应时间目标获得部分,用于获得作为上述平均响应时间的目标值的响应时间目标;预计响应时间计算部分,用于计算预计响应时间,该预计响应时间是从在上述信息处理装置中设置一工作模式开始经过了预定参考期的时间点上的平均响应时间的预计值,该工作模式是提供不同吞吐量的多个工作模式中的任一种;以及工作模式设置部分,用于在上述预计响应时间计算部分计算出的预计响应时间少于上述响应时间目标时,在上述信息处理装置中设置上述工作模式。
全文摘要
本发明的目的在于使Web服务器等的响应时间更接近于目标值。本发明提供了一种用于控制信息处理装置对处理请求的接收与该信息处理装置对该处理请求的响应之间所经过的平均响应时间的控制器,该控制器包括响应时间目标获得部分,用于获得作为平均响应时间的目标值的响应时间目标;预计响应时间计算部分,用于计算预计响应时间,预计响应时间是从在该信息处理装置中设置一工作模式开始经过了预定参考期的时间点上的平均响应时间的预计值,该工作模式是提供不同吞吐量的多个工作模式中的任一种;以及工作模式设置部分,用于在预计响应时间计算部分计算出的预计响应时间少于响应时间目标时,在该信息处理装置中设置该工作模式。
文档编号B25D9/00GK1782957SQ20051012832
公开日2006年6月7日 申请日期2005年11月14日 优先权日2004年12月1日
发明者仲池卓也, 小松秀昭 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1