專利名稱:編譯方法、裝置和程序的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及控制器、信息處理系統(tǒng)、控制方法以及程序。具體地,本發(fā)明涉及控制在信息處理裝置對(duì)處理請(qǐng)求的接收與該信息處理裝置對(duì)該處理請(qǐng)求的響應(yīng)之間所經(jīng)過的平均響應(yīng)時(shí)間的控制器、信息處理系統(tǒng)、控制方法以及程序。
背景技術(shù):
這些年來,旨在減少信息裝置中的熱量生成的節(jié)能技術(shù)正得到關(guān)注。一種用于改變中央處理單元的工作頻率或電壓的技術(shù)已經(jīng)得到使用(例如參見非專利文獻(xiàn)1)。為了通過使用這種技術(shù)來降低Web服務(wù)器中的能耗,已經(jīng)提出了另一種基于Web服務(wù)器的90%響應(yīng)時(shí)間來控制Web服務(wù)器的工作頻率的技術(shù)(參見非專利文獻(xiàn)2)。
在此文獻(xiàn)中使用的術(shù)語“90%響應(yīng)時(shí)間”指Web服務(wù)器對(duì)發(fā)送到該Web服務(wù)器的90%的處理請(qǐng)求進(jìn)行響應(yīng)所需要的時(shí)間。90%響應(yīng)時(shí)間用作為Web服務(wù)器能夠多快地執(zhí)行處理的度量。
根據(jù)該技術(shù),以有規(guī)律的時(shí)間間隔度量該90%響應(yīng)時(shí)間。如果度量出的值小于目標(biāo)值,則降低工作頻率;如果度量出的值超過該目標(biāo)值,則增加工作頻率。這提供了在防止過量功耗的同時(shí)達(dá)到目標(biāo)的可能。
已經(jīng)提出了一種根據(jù)對(duì)Web服務(wù)器的處理請(qǐng)求的數(shù)量,控制該Web服務(wù)器的工作頻率的技術(shù)(參見非專利文獻(xiàn)3)。根據(jù)這種技術(shù),根據(jù)之前度量出的處理請(qǐng)求的輸入速率與當(dāng)前度量出的處理請(qǐng)求的輸入速率之間的差來確定在處理請(qǐng)求的輸入速率上的最近變化的趨勢,并且根據(jù)這種趨勢計(jì)算未來平均響應(yīng)時(shí)間的預(yù)計(jì)值。然后,設(shè)置能夠維持小于目標(biāo)值的平均響應(yīng)時(shí)間的最低工作頻率。因此,如果處理請(qǐng)求輸入速率上的變化顯示出了給定的趨勢,那么就能夠執(zhí)行適當(dāng)?shù)目刂啤?br>
“IntelPentiumProcessor Enhanced Intel SpeedStepTechnology”,網(wǎng)頁URLhttp//support.intel.com/support/processors/mobile/pm/sb/CS007981.htm[非專利文獻(xiàn)2]M.Elnozahy,M.Kistler,和R.Rajamony,“EnergyConservation Policies for Web Servers”,USITS 2003[非專利文獻(xiàn)3]N.Kandasamy,S.A.Abdelwahed和J.P.Hayes,“Self-Optimization in Computer Systems via Online ControlApplicationto Power Management”,自主計(jì)算的國際會(huì)議的會(huì)議記錄中,2004[非專利文獻(xiàn)4]“WebSphereExtended Deployment Edition”,白皮書,網(wǎng)頁URLhttp//www-6.ibm.com/jp/software/websphere/ft/was/xd/pdf/whitepaper.pdf因?yàn)?0%響應(yīng)時(shí)間是基于在預(yù)定的以前時(shí)間與目前時(shí)間之間的一段時(shí)間內(nèi)的響應(yīng)時(shí)間來確定的,因此在工作頻率上的變化和該90%響應(yīng)時(shí)間上的變化之間存在時(shí)滯。因此,在非專利文獻(xiàn)1中描述的技術(shù)中的90%響應(yīng)時(shí)間能夠在目標(biāo)值附近波動(dòng)。非專利文獻(xiàn)1中描述的技術(shù)通過包括監(jiān)控TCP/IP包以度量90%響應(yīng)時(shí)間的功能以及控制操作系統(tǒng)內(nèi)核中的工作頻率的功能來實(shí)現(xiàn)以非常短的時(shí)間間隔的工作頻率控制。相應(yīng)地,波動(dòng)的范圍也相對(duì)較窄。
然而,因?yàn)樽R(shí)別TCP/IP包級(jí)別上的處理請(qǐng)求的類型是困難的,因此對(duì)運(yùn)行在Web服務(wù)器上的所有應(yīng)用程序來說,僅能夠設(shè)置一個(gè)響應(yīng)時(shí)間目標(biāo)。這是不切實(shí)際的,而是期望為每個(gè)應(yīng)用程序設(shè)置響應(yīng)時(shí)間目標(biāo)。事實(shí)上,非專利文獻(xiàn)4中描述的技術(shù)允許為每一個(gè)單獨(dú)的應(yīng)用程序設(shè)置響應(yīng)時(shí)間目標(biāo)。
為了設(shè)置一個(gè)以上的目標(biāo)值,必須在諸如HTTP的更高級(jí)別上監(jiān)控處理請(qǐng)求。在用戶空間中來監(jiān)控HTTP請(qǐng)求。用戶空間中的響應(yīng)時(shí)間的度量和工作頻率控制使用比在內(nèi)核空間中更大的開銷。相應(yīng)地,如果以短時(shí)間間隔來執(zhí)行工作頻率控制,則Web應(yīng)用的性能將被極大地降低。
如在非專利文獻(xiàn)4中描述的技術(shù)中,如果向Web服務(wù)器外部的工作負(fù)荷管理器提供一個(gè)響應(yīng)時(shí)間目標(biāo),那么必須通過網(wǎng)絡(luò)在外部控制該Web服務(wù)器的工作頻率。從而,消耗了更多的開銷。因此,設(shè)置時(shí)間間隔以便將工作頻率控制在幾十秒的量級(jí)上的較小值是困難的,并且必須以較長的時(shí)間間隔來控制工作頻率。
如果非專利文獻(xiàn)2中描述的技術(shù)在未做修改的情況下應(yīng)用到這樣一種系統(tǒng),那么用于度量90%響應(yīng)時(shí)間的時(shí)間間隔將變得相當(dāng)長。結(jié)果,90%響應(yīng)時(shí)間能夠在遠(yuǎn)離目標(biāo)值的范圍內(nèi)波動(dòng)。這對(duì)于非專利文獻(xiàn)3中描述的技術(shù)來說也是一樣的情況。如果以長時(shí)間間隔內(nèi)來執(zhí)行工作頻率控制,那么平均響應(yīng)時(shí)間就可能波動(dòng)。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供能夠解決這些問題的控制裝置、信息處理系統(tǒng)、控制方法以及程序。此目的可以通過在獨(dú)立權(quán)利要求中提出的特征的組合來實(shí)現(xiàn)。從屬權(quán)利要求定義了進(jìn)一步的優(yōu)選實(shí)施例。
為了解決這些問題,本發(fā)明的第一個(gè)方面提供一種用于控制信息處理裝置對(duì)處理請(qǐng)求的接收與該信息處理裝置對(duì)該處理請(qǐng)求的響應(yīng)之間所經(jīng)過的平均響應(yīng)時(shí)間的控制器,該控制器包括響應(yīng)時(shí)間目標(biāo)獲得部分,用于獲得作為上述平均響應(yīng)時(shí)間的目標(biāo)值的響應(yīng)時(shí)間目標(biāo);預(yù)計(jì)響應(yīng)時(shí)間計(jì)算部分,用于計(jì)算預(yù)計(jì)響應(yīng)時(shí)間,該預(yù)計(jì)響應(yīng)時(shí)間是從在上述信息處理裝置中設(shè)置一工作模式開始經(jīng)過了預(yù)定參考期的時(shí)間點(diǎn)上的平均響應(yīng)時(shí)間的預(yù)計(jì)值,該工作模式是提供不同吞吐量的多個(gè)工作模式中的任一種;以及工作模式設(shè)置部分,用于在上述預(yù)計(jì)響應(yīng)時(shí)間計(jì)算部分計(jì)算出的預(yù)計(jì)響應(yīng)時(shí)間少于上述響應(yīng)時(shí)間目標(biāo)時(shí),在上述信息處理裝置中設(shè)置上述工作模式。
上面提供的本發(fā)明的概述未列舉本發(fā)明的所有必要特征。這些特征的各種子組合也能夠構(gòu)成本發(fā)明。
根據(jù)本發(fā)明,能夠通過減少開銷使Web服務(wù)器等的響應(yīng)時(shí)間更加接近于目標(biāo)值。
圖1示出了信息處理系統(tǒng)10的總體配置;圖2以功能塊示出了控制器25的功能;圖3是變換圖,其示出了Web服務(wù)器30如何在穩(wěn)定、瞬時(shí)和不穩(wěn)定狀態(tài)之間進(jìn)行變換;圖4示出了由控制器25執(zhí)行的用于設(shè)置信息處理系統(tǒng)10的吞吐量的過程的例子;圖5示出了在圖4中的S430處執(zhí)行的過程的細(xì)節(jié);圖6是概念圖,其通過使用一階滯后元件對(duì)平均響應(yīng)時(shí)間隨著時(shí)間的變化建模;圖7示出了平均響應(yīng)時(shí)間的控制的例子;圖8以功能單元示出了本實(shí)施例的變體中的控制器25的功能;圖9示出了由控制器25執(zhí)行的用于設(shè)置信息處理系統(tǒng)10的吞吐量的過程的例子;以及圖10示出了根據(jù)本實(shí)施例或其變體的邊緣服務(wù)器20的示例性硬件配置。
符號(hào)說明10…信息處理系統(tǒng)20…邊緣服務(wù)器25…控制器30…Web服務(wù)器200…響應(yīng)時(shí)間目標(biāo)獲得部分210…平均響應(yīng)時(shí)間獲得部分220…請(qǐng)求計(jì)數(shù)獲得部分
230…預(yù)計(jì)響應(yīng)時(shí)間計(jì)算部分240…工作模式設(shè)置部分具體實(shí)施方式
下面將對(duì)于本發(fā)明的實(shí)施例來描述本發(fā)明,但是這些實(shí)施例并不是要限制在權(quán)利要求中定義的本發(fā)明,并且這些實(shí)施例中描述的特征的所有組合對(duì)于本發(fā)明技術(shù)方案來說并非都是必需的。
圖1示出了信息系統(tǒng)10的整體配置??梢允窃陔娮由虅?wù)公司中提供的Web系統(tǒng)的信息處理系統(tǒng)10,對(duì)來自外部源的處理請(qǐng)求進(jìn)行響應(yīng)。信息處理系統(tǒng)10包括Web服務(wù)器30、本發(fā)明的信息處理裝置的例子以及控制和管理Web服務(wù)器30的邊緣服務(wù)器20。
邊緣服務(wù)器20將從外部源接收到的處理請(qǐng)求傳送給Web服務(wù)器30。如果信息處理系統(tǒng)10具有多個(gè)Web服務(wù)器30,那么邊緣服務(wù)器20可以根據(jù)各個(gè)Web服務(wù)器30上的工作負(fù)荷選擇要將該請(qǐng)求傳送給其的Web服務(wù)器30,并將該請(qǐng)求傳送給該Web服務(wù)器30。Web服務(wù)器30將對(duì)外部請(qǐng)求的響應(yīng)發(fā)送給該請(qǐng)求的發(fā)送方。
邊緣服務(wù)器20具有控制器25,它控制從在Web服務(wù)器30處接收到處理請(qǐng)求到對(duì)該請(qǐng)求進(jìn)行響應(yīng)之間所經(jīng)過的平均響應(yīng)時(shí)間。具體地,控制器25從Web服務(wù)器30獲得Web服務(wù)器30的平均響應(yīng)時(shí)間。如果該平均響應(yīng)時(shí)間比目標(biāo)值長,那么控制器25就在Web服務(wù)器30中設(shè)置提供更高吞吐量的工作模式。另一方面,如果該平均響應(yīng)時(shí)間短于該目標(biāo)值,那么控制器25就在Web服務(wù)器30中設(shè)置提供更低吞吐量的工作模式。
在從工作模式的先前變化開始經(jīng)歷預(yù)定時(shí)期之后,控制器25計(jì)算平均響應(yīng)時(shí)間的預(yù)計(jì)值,并且設(shè)置提供比該目標(biāo)值要低的預(yù)計(jì)值的工作模式。這樣做的目的在于在該目標(biāo)值附近的范圍內(nèi)穩(wěn)定地改變平均響應(yīng)時(shí)間,同時(shí)防止吞吐量過度地變化,即使該吞吐量以相對(duì)較長的時(shí)間間隔被控制。
圖2以功能塊示出了控制器25的功能??刂破?5包括響應(yīng)時(shí)間目標(biāo)獲得部分200、平均響應(yīng)時(shí)間獲得部分210、請(qǐng)求計(jì)數(shù)獲得部分220、預(yù)計(jì)響應(yīng)時(shí)間計(jì)算部分230和工作模式設(shè)置部分240。響應(yīng)時(shí)間目標(biāo)獲得部分200獲得響應(yīng)時(shí)間目標(biāo),它是平均響應(yīng)時(shí)間的目標(biāo)值。平均響應(yīng)時(shí)間獲得部分210以預(yù)定時(shí)間間隔(例如5分鐘),從Web服務(wù)器30獲得從一個(gè)預(yù)定的以前時(shí)間到當(dāng)前時(shí)間的時(shí)期內(nèi)的平均響應(yīng)時(shí)間。請(qǐng)求計(jì)數(shù)獲得部分220從Web服務(wù)器30獲得該Web服務(wù)器30接收到的處理請(qǐng)求的累計(jì)計(jì)數(shù)。請(qǐng)求計(jì)數(shù)獲得部分220還獲得每單位時(shí)間內(nèi)該Web服務(wù)器30接收到的處理請(qǐng)求的計(jì)數(shù)。
如果平均響應(yīng)時(shí)間在一個(gè)范圍內(nèi)穩(wěn)定地變化,則不管預(yù)計(jì)響應(yīng)時(shí)間如何,工作模式設(shè)置部分240都設(shè)置提供該響應(yīng)時(shí)間目標(biāo)的工作模式。如果響應(yīng)時(shí)間在參考界限之外的一個(gè)方向上變化,那么預(yù)計(jì)響應(yīng)時(shí)間計(jì)算部分230計(jì)算這樣的預(yù)計(jì)響應(yīng)時(shí)間,即它是從在Web服務(wù)器30中設(shè)置提供不同吞吐量的工作模式的時(shí)間開始經(jīng)歷預(yù)定時(shí)期后的時(shí)間點(diǎn)的平均響應(yīng)時(shí)間的預(yù)計(jì)值。如果由部分230計(jì)算出的預(yù)計(jì)響應(yīng)時(shí)間低于所述響應(yīng)時(shí)間目標(biāo),那么工作模式設(shè)置部分240在Web服務(wù)器30中設(shè)置該工作模式。這使得平均響應(yīng)時(shí)間能夠迅速接近該響應(yīng)時(shí)間目標(biāo)。
圖3是狀態(tài)變換圖,其示出了Web服務(wù)器30怎樣在三個(gè)狀態(tài)之間改變,這三個(gè)狀態(tài)為穩(wěn)定、瞬時(shí)和不穩(wěn)定。穩(wěn)定狀態(tài)是這樣一種狀態(tài),即其中平均響應(yīng)時(shí)間獲得部分210所獲得的平均響應(yīng)時(shí)間在預(yù)定的參考界限內(nèi)隨著時(shí)間變化。例如,在Web服務(wù)器30的吞吐量在足夠長的時(shí)期內(nèi)恒定之后,Web服務(wù)器變換到這一狀態(tài)(S310和S330)。
瞬時(shí)狀態(tài)是這樣一種狀態(tài),即其中平均響應(yīng)時(shí)間獲得部分210所獲得的平均響應(yīng)時(shí)間在參考界限中的一個(gè)之外的一個(gè)方向上隨著時(shí)間變化。例如,如果Web服務(wù)器30的吞吐量最近發(fā)生了變化,則Web服務(wù)器30變換到這一狀態(tài)(S300)。不穩(wěn)定狀態(tài)是這樣一種狀態(tài),即其中平均響應(yīng)時(shí)間獲得部分210所獲得的平均響應(yīng)時(shí)間在參考界限內(nèi)的值與大于參考界限上限的值或低于下限的值之間變化。例如,如果響應(yīng)時(shí)間增加,即使吞吐量最近增加了,Web服務(wù)器30也通常變換到這一狀態(tài)(S320和S340)。
圖4示出了由控制器25執(zhí)行的用于設(shè)置信息處理系統(tǒng)10的吞吐量的過程的例子??刂破?5每經(jīng)過一個(gè)預(yù)定時(shí)期就執(zhí)行該過程。首先,平均響應(yīng)時(shí)間獲得部分210從Web服務(wù)器30獲得預(yù)定的以前時(shí)間與當(dāng)前時(shí)間之間的時(shí)期上的平均響應(yīng)時(shí)間(S400)。然后,工作模式設(shè)置部分240確定在平均響應(yīng)時(shí)間上的變化是否處于參考界限內(nèi)(S410)。例如,每當(dāng)在S400獲得平均響應(yīng)時(shí)間時(shí),工作模式設(shè)置部分240就可以對(duì)其進(jìn)行記錄并且與先前記錄的平均響應(yīng)時(shí)間進(jìn)行比較,以確定變化是否處于參考界限內(nèi)。
如果平均響應(yīng)時(shí)間隨著時(shí)間在參考界限(例如0.1秒)內(nèi)變化(S410在參考界限內(nèi)),那么工作模式設(shè)置部分240執(zhí)行用于穩(wěn)定狀態(tài)的過程(420)。具體地,工作模式設(shè)置部分240在Web服務(wù)器30中設(shè)置將Web服務(wù)器30的響應(yīng)時(shí)間減少到低于響應(yīng)時(shí)間目標(biāo)的值的工作模式。例如,如果平均響應(yīng)時(shí)間在大約1.5秒的范圍內(nèi)變化,而響應(yīng)時(shí)間目標(biāo)是3秒,那么工作模式設(shè)置部分240將吞吐量減少因子2,以便響應(yīng)時(shí)間在工作模式改變以后立即變?yōu)?秒。Web服務(wù)器30變換到瞬時(shí)狀態(tài),其中平均響應(yīng)時(shí)間在參考界限中的一個(gè)之外的一個(gè)方向上變化,并且在經(jīng)過足夠長的時(shí)期之后,該平均響應(yīng)時(shí)間接近于響應(yīng)時(shí)間目標(biāo)。
如果平均響應(yīng)時(shí)間隨著時(shí)間在參考界限之外的一個(gè)方向上變化(S410在一個(gè)方向上的變化),那么工作模式設(shè)置部分240執(zhí)行用于瞬時(shí)狀態(tài)的過程(S430)。這一過程的細(xì)節(jié)將在后面描述。如果平均響應(yīng)時(shí)間隨著時(shí)間在一個(gè)值與大于參考界限上限的值或低于參考界限下限的值之間變化(S410在兩個(gè)方向上變化),那么工作模式設(shè)置部分240執(zhí)行用于不穩(wěn)定狀態(tài)的過程(S440)。
具體地,工作模式設(shè)置部分240首先獲得由平均響應(yīng)時(shí)間獲得部分210在預(yù)定的以前時(shí)期之上獲得的平均響應(yīng)時(shí)間的最大值。如果該最大值大于響應(yīng)時(shí)間目標(biāo),那么工作模式設(shè)置部分240就設(shè)置將等于該最大值的平均響應(yīng)時(shí)間變?yōu)橐粋€(gè)小于該響應(yīng)時(shí)間目標(biāo)的值的工作模式。例如,如果最大值為4秒,而響應(yīng)時(shí)間目標(biāo)為3秒,那么工作模式設(shè)置部分240在Web服務(wù)器30中設(shè)置將吞吐量減少到4/3的工作模式。如果輸入處理請(qǐng)求的頻率趨勢沒有變化,則該響應(yīng)時(shí)間能夠被減少到響應(yīng)時(shí)間目標(biāo)。
圖5示出了在圖4中的S430處執(zhí)行的過程的細(xì)節(jié)。響應(yīng)時(shí)間目標(biāo)獲得部分200獲得響應(yīng)時(shí)間目標(biāo)(S500)。請(qǐng)求計(jì)數(shù)獲得部分220從Web服務(wù)器30獲得Web服務(wù)器30接收到的處理請(qǐng)求的累計(jì)計(jì)數(shù)(S510)。圖5中所示的過程被執(zhí)行的時(shí)間由tc表示,而所獲得的請(qǐng)求的累計(jì)計(jì)數(shù)由n(tc)表示。請(qǐng)求計(jì)數(shù)獲得部分220根據(jù)請(qǐng)求的累計(jì)計(jì)數(shù)計(jì)算Web服務(wù)器30每單位時(shí)間接收到的請(qǐng)求數(shù)量(S520)。
具體地,請(qǐng)求計(jì)數(shù)獲得部分220從當(dāng)前獲得的處理請(qǐng)求的累計(jì)計(jì)數(shù)中減去先前獲得的處理請(qǐng)求的累計(jì)計(jì)數(shù)。該差值由nprev(tc)表示。請(qǐng)求計(jì)數(shù)獲得部分220計(jì)算被參考期(tc-tprev)除后的差值的平均值,以及被所經(jīng)過的時(shí)間除后的當(dāng)前獲得的處理請(qǐng)求的累計(jì)計(jì)數(shù)。該平均值是Web服務(wù)器30在單位時(shí)間內(nèi)接收到的處理請(qǐng)求的數(shù)量。利用處理請(qǐng)求的數(shù)量m(tc),這一過程可用等式(1)來表示[公式1]m(tc)=mtotal(tc)+mprev(tc)2=n(tc)tc+nprev(tc)tc-tprev2...(1)]]>然后,預(yù)計(jì)響應(yīng)時(shí)間計(jì)算部分230和工作模式設(shè)置部分240為能夠在Web服務(wù)器30中設(shè)置的多個(gè)該中的每一個(gè)執(zhí)行以下過程(S530)。預(yù)計(jì)響應(yīng)時(shí)間計(jì)算部分230計(jì)算預(yù)計(jì)響應(yīng)時(shí)間,它是自從在Web服務(wù)器30中設(shè)置當(dāng)前工作模式的時(shí)間開始經(jīng)過參考期后的時(shí)間上的平均響應(yīng)時(shí)間的預(yù)計(jì)值(S540)。
更具體地,預(yù)計(jì)響應(yīng)時(shí)間計(jì)算部分230通過使用一個(gè)功能來計(jì)算預(yù)計(jì)響應(yīng)時(shí)間,該功能通過使用一階滯后元件對(duì)平均響應(yīng)時(shí)間隨著時(shí)間的變化(ravg(t))進(jìn)行建模。這一功能可以由等式(2)表示,其中在當(dāng)設(shè)置該工作模式時(shí)的Web服務(wù)器30的響應(yīng)時(shí)間(Rgoal±)與在先前的穩(wěn)定狀態(tài)中提供的平均響應(yīng)時(shí)間(ravg(t0))之間的差值被用作增益,并且基于每單位時(shí)間的處理請(qǐng)求的數(shù)量以及處理請(qǐng)求的累計(jì)計(jì)數(shù)的值被用作時(shí)間常量T。
ravg(t)=(Rgoal±-ravg(t0))·(1-etT)+ravg(t0)...(2)]]>預(yù)計(jì)響應(yīng)時(shí)間計(jì)算部分230使用以與該工作模式中的吞吐量水平成反比例變化的值作為響應(yīng)時(shí)間(Rgoal±),該響應(yīng)時(shí)間將在Web服務(wù)器30中設(shè)置該工作模式時(shí)被提供。例如,預(yù)計(jì)響應(yīng)時(shí)間計(jì)算部分230使用用于達(dá)到響應(yīng)時(shí)間目標(biāo)的吞吐量(Pgoal)、響應(yīng)時(shí)間目標(biāo)(Rgoal)以及該工作模式中的吞吐量(Ppgoal±),來獲得如下的響應(yīng)時(shí)間(Rgoal±)[公式3]Rgoal±=PgoalPgoal±·Rgoal...(3)]]>然后,預(yù)計(jì)響應(yīng)時(shí)間計(jì)算部分230確定公式(2)的時(shí)間常量T,該時(shí)間常量T隨著每單位時(shí)間的處理請(qǐng)求的數(shù)量的增加而增加平均響應(yīng)時(shí)間的變化速率,并且隨著處理請(qǐng)求的累計(jì)計(jì)數(shù)的增加而降低變化速率。例如,時(shí)間常量T可以使用等式(4)來計(jì)算[公式4]T=n(tc)·(Rgoal-ravg(t0))m(tc)·(Rgoal±-ravg(tc)-Δr)...(4)]]>其中Δr是一個(gè)預(yù)定的較小數(shù)量。
參照?qǐng)D6,將對(duì)用于推導(dǎo)等式(4)的過程進(jìn)行描述。圖6示出了一個(gè)概念圖,其通過使用一階滯后元件對(duì)平均響應(yīng)時(shí)間隨著時(shí)間的變化進(jìn)行建模。時(shí)間常量T被表示為一階滯后元件的曲線的起始點(diǎn)處的正切達(dá)到圖6所示的目標(biāo)值所需的時(shí)間。時(shí)間常量可由等式(5)來表示[公式5]T=Rgoal±-ravg(t0)k...(5)]]>其中k是正切的斜率。
使用平均響應(yīng)時(shí)間增加Δr所需的時(shí)間Δt,k可由等式(6)來表示[公式6]
K=ΔrΔt...(6)]]>因此,可通過獲得對(duì)于Δr的特定值的Δt來獲得時(shí)間常量T(例如0.01毫秒)。
在時(shí)間tc+Δt上的平均響應(yīng)時(shí)間ravg(tc+Δt)可由等式(7)來表示[公式7]ravg(tc+Δt)=ravg(tc)+Δr...(7)由于平均響應(yīng)時(shí)間ravg(tc)可由等式(8)來表示,所以在時(shí)間tc+Δt上的平均響應(yīng)時(shí)間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是對(duì)每一處理請(qǐng)求的響應(yīng)時(shí)間。在時(shí)間tc+Δt上的處理請(qǐng)求的累計(jì)計(jì)數(shù)n(tc+Δt)可由等式(10)利用每單位時(shí)間的處理請(qǐng)求的累計(jì)計(jì)數(shù)m(tc)來近似。
n(tc+Δt)=n(tc)+m(tc).Δt…(10)從等式(7)、(9)和(10)可以推導(dǎo)出等式(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)]]>由于在時(shí)間Δt上的響應(yīng)時(shí)間的平均值是Rgoal±,所以等式12成立。
Rgoal±=1m(tc)·ΔtΣi=n(tc)n(tc)+m(tc)·Δt-1r1...(12)]]>
從等式(8)、(11)和(12)可以推導(dǎo)出等式(13)。
ravg(tc)+Δr=1n(tc)+m(tc)·Δt·(n(tc)·ravg(tc)+m(tc)·Δt·Rgoal±)...(13)]]>對(duì)于Δt求解等式(13),得到等式(14)。
Δt=n(tc)·Δrm(tc)·(Rgoal±-ravg(tc)-Δr)...(14)]]>從等式(14)和(5),可以推導(dǎo)出等式(4)。
回到圖5,每當(dāng)預(yù)計(jì)響應(yīng)時(shí)間計(jì)算部分230計(jì)算出預(yù)計(jì)響應(yīng)時(shí)間時(shí),工作模式設(shè)置部分240確定該預(yù)計(jì)響應(yīng)時(shí)間是否超過響應(yīng)時(shí)間目標(biāo)(S550)。如果該預(yù)計(jì)響應(yīng)時(shí)間低于或等于響應(yīng)時(shí)間目標(biāo)(S550否),則工作模式設(shè)置部分240選擇該工作模式作為候選工作模式來設(shè)置(S560)。對(duì)于每一工作模式重復(fù)該過程(S570)。
最后,工作模式設(shè)置部分240選擇提供低于響應(yīng)時(shí)間目標(biāo)的平均響應(yīng)時(shí)間的工作模式中的一個(gè),并且在Web服務(wù)器30中設(shè)置它(S580)。例如,可設(shè)置提供最低吞吐量的工作模式。這能夠?qū)⒛芎淖钚』竭@樣的程度,即平均響應(yīng)時(shí)間能夠在一個(gè)低于目標(biāo)響應(yīng)的值上保持一個(gè)直到下一次對(duì)吞吐量進(jìn)行控制時(shí)為止的時(shí)期。
例如,這里的吞吐量可以是中央處理單元的工作頻率。如果設(shè)置一個(gè)提供較低吞吐量的工作模式,則與提供較高吞吐量的工作模式相比,中央處理單元的工作頻率降低。因此,能夠降低工作頻率并且因此降低中央處理單元的能耗以及中央處理單元的電壓。
吞吐量并不局限于中央處理單元的工作頻率。例如,它可以是分配給一個(gè)Web應(yīng)用程序的中央處理單元的數(shù)量。在此情況下,Web服務(wù)器30具有多個(gè)中央處理單元并且,如果設(shè)置了一個(gè)提供較低吞吐量的工作模式,那么與提供較高吞吐量的工作模式相比,分配給該Web應(yīng)用程序的中央處理單元的數(shù)量被減少。因此,由其它中央處理單元執(zhí)行的其它程序的執(zhí)行效率能夠被改善,并且由這些中央處理單元提供的計(jì)算資源能夠被有效地使用而不被浪費(fèi)。
在其它的例子中,吞吐量可以是給予Web應(yīng)用程序的中央處理單元的計(jì)算時(shí)間的時(shí)間片的長度,或者可以是對(duì)于調(diào)度執(zhí)行線程而給予Web應(yīng)用程序的優(yōu)先級(jí)。在這些例子里,同工作頻率的情況一樣,通過適當(dāng)?shù)乜刂仆掏铝?,能夠有效地使用由中央處理單元提供的?jì)算資源而不會(huì)浪費(fèi)。
圖7示出了控制平均響應(yīng)時(shí)間的一個(gè)例子。圖7的部分(a)示出了當(dāng)從穩(wěn)定狀態(tài)變換到瞬時(shí)狀態(tài)時(shí)平均響應(yīng)時(shí)間和吞吐量上的變化。當(dāng)工作模式被改變以降低吞吐量時(shí),平均響應(yīng)時(shí)間逐漸增加,并且接近于部分(a)中所示的響應(yīng)時(shí)間目標(biāo)。
部分(b)示出了瞬時(shí)狀態(tài)中的平均響應(yīng)時(shí)間和吞吐量上的變化。在瞬時(shí)狀態(tài)中,提供最低可能的吞吐量的工作模式被設(shè)置,該吞吐量不會(huì)引起平均響應(yīng)時(shí)間在參考期之后超過響應(yīng)時(shí)間目標(biāo)。相應(yīng)地,Web服務(wù)器30被置于其中與(a)中所示的情況相比吞吐量要低的工作模式中。結(jié)果,與部分(a)中所示的情況相比,平均響應(yīng)時(shí)間迅速增加。因此,與(a)中所示的控制相比,能耗能夠被減少。
在瞬時(shí)狀態(tài)中,控制器25獲得平均響應(yīng)時(shí)間,并且每經(jīng)過一個(gè)參考期時(shí)便計(jì)算預(yù)計(jì)響應(yīng)時(shí)間。該預(yù)計(jì)響應(yīng)時(shí)間隨著時(shí)間逐漸增加,并且超過響應(yīng)時(shí)間目標(biāo)。然后,控制器25在Web服務(wù)器30中設(shè)置提供較高吞吐量(其在(b)中由虛線表示)的工作模式。因此,平均響應(yīng)時(shí)間接近但是并不超過響應(yīng)時(shí)間目標(biāo)。
正如參照?qǐng)D1至圖7所描述的那樣,利用本實(shí)施例的信息處理系統(tǒng)10,每經(jīng)過一個(gè)參考時(shí)間時(shí),便計(jì)算從工作模式的改變開始的下一個(gè)參考期內(nèi)的平均響應(yīng)時(shí)間的預(yù)計(jì)值,并且設(shè)置提供低于目標(biāo)值的預(yù)計(jì)值的工作模式。這能夠在目標(biāo)值附近的范圍內(nèi)穩(wěn)定地改變平均響應(yīng)時(shí)間,同時(shí)即使以相對(duì)較長的時(shí)間間隔對(duì)吞吐量進(jìn)行控制,也能夠防止吞吐量過度地變化。
本實(shí)施例的效果已經(jīng)在其中得到檢驗(yàn)的實(shí)驗(yàn)表明,與其中Web服務(wù)器30始終以其最大工作頻率進(jìn)行操作的情形相比,本發(fā)明能夠?qū)eb服務(wù)器30中的能耗減少50%或更多。它還表明與其中Web服務(wù)器30以已知的最優(yōu)工作頻率進(jìn)行操作的情形相比,在能耗上的變化是很微小的。在該實(shí)驗(yàn)中,使用SPECjAppServer 2002作為基準(zhǔn)程序,并且將作為處理請(qǐng)求的頻率的設(shè)置值的IR設(shè)置為40和50。所使用的Web服務(wù)器30是具有PentiumM1.6GHZ(Pentium是注冊(cè)商標(biāo))的個(gè)人計(jì)算機(jī),其上運(yùn)行有WebSphere應(yīng)用服務(wù)器(WebSphere是注冊(cè)商標(biāo))。
圖8以功能塊示出了本實(shí)施例的變體中的控制器25的功能。該變體中的Web服務(wù)器30執(zhí)行多個(gè)應(yīng)用程序,并且對(duì)于每一個(gè)應(yīng)用程序預(yù)先設(shè)置了響應(yīng)時(shí)間目標(biāo)。也就是說,預(yù)先定義在應(yīng)用接收到處理請(qǐng)求與對(duì)該請(qǐng)求進(jìn)行響應(yīng)之間所耗費(fèi)的響應(yīng)時(shí)間的目標(biāo)值,并且預(yù)先定義另一個(gè)應(yīng)用程序接收到處理請(qǐng)求與對(duì)該請(qǐng)求進(jìn)行響應(yīng)之間的響應(yīng)時(shí)間的目標(biāo)值。這些目標(biāo)值可互不相同。
響應(yīng)時(shí)間目標(biāo)獲得部分200獲得每一應(yīng)用程序的響應(yīng)時(shí)間目標(biāo)。平均響應(yīng)時(shí)間獲得部分210獲得每一應(yīng)用程序的平均響應(yīng)時(shí)間,它是在Web服務(wù)器30執(zhí)行該應(yīng)用程序期間之上的響應(yīng)時(shí)間的平均值。請(qǐng)求計(jì)數(shù)獲得部分220對(duì)于每一應(yīng)用程序從Web服務(wù)器30獲得該Web服務(wù)器30接收到的處理請(qǐng)求的累計(jì)數(shù)量。如果任何應(yīng)用程序的平均響應(yīng)時(shí)間超過了它的響應(yīng)時(shí)間目標(biāo),那么預(yù)計(jì)響應(yīng)時(shí)間計(jì)算部分230選擇該應(yīng)用程序作為要對(duì)其執(zhí)行控制的程序。在Web服務(wù)器30中設(shè)置多個(gè)工作模式中的每一個(gè)的時(shí)候,預(yù)計(jì)響應(yīng)時(shí)間計(jì)算部分230計(jì)算將導(dǎo)致的應(yīng)用程序的預(yù)計(jì)響應(yīng)時(shí)間。如果Web服務(wù)器30處于瞬時(shí)狀態(tài),則工作模式設(shè)置部分240將從提供低于響應(yīng)時(shí)間目標(biāo)的預(yù)計(jì)響應(yīng)時(shí)間的工作模式之中,選擇消耗最少能量的工作模式,并且在Web服務(wù)器30中設(shè)置該模式。工作模式設(shè)置部分240的其它操作與圖2中所示的工作模式設(shè)置部分240相同,因此將省略其描述。
圖9根據(jù)本實(shí)施例的變體示出了由控制器25執(zhí)行的用于設(shè)置信息處理系統(tǒng)10的吞吐量的過程的一個(gè)例子。平均響應(yīng)時(shí)間獲得部分210獲得每一應(yīng)用程序的平均響應(yīng)時(shí)間(S800),并且響應(yīng)時(shí)間目標(biāo)獲得部分200獲得每一應(yīng)用程序的響應(yīng)時(shí)間目標(biāo)(S810)。
預(yù)計(jì)響應(yīng)時(shí)間計(jì)算部分230確定是否所有應(yīng)用程序的平均響應(yīng)時(shí)間都低于它們的響應(yīng)時(shí)間目標(biāo)(S820)。如果任何應(yīng)用程序的平均響應(yīng)時(shí)間超過了其響應(yīng)時(shí)間目標(biāo)(S820否),則預(yù)計(jì)響應(yīng)時(shí)間計(jì)算部分230從提供超過其響應(yīng)時(shí)間目標(biāo)的平均響應(yīng)時(shí)間的每一個(gè)應(yīng)用程序的響應(yīng)時(shí)間目標(biāo)中減去平均響應(yīng)時(shí)間(S830)。然后選擇其計(jì)算出的差值在這些應(yīng)用程序中最大的應(yīng)用程序作為要對(duì)其執(zhí)行控制的應(yīng)用程序。
另一方面,如果所有應(yīng)用程序的平均響應(yīng)時(shí)間低于它們的響應(yīng)時(shí)間目標(biāo)(S820是),那么預(yù)計(jì)響應(yīng)時(shí)間計(jì)算部分230選擇其平均響應(yīng)時(shí)間與響應(yīng)時(shí)間目標(biāo)之間的差值最小的應(yīng)用程序作為將對(duì)其執(zhí)行控制的應(yīng)用程序(S840)。
控制器25使用選擇出的應(yīng)用程序的平均響應(yīng)時(shí)間和響應(yīng)時(shí)間目標(biāo)來執(zhí)行步驟S850到S880。具體地,如果步驟S830被執(zhí)行,則對(duì)于其平均響應(yīng)時(shí)間和響應(yīng)時(shí)間目標(biāo)之間的差值最大的應(yīng)用程序,控制工作模式。如果步驟S840被執(zhí)行,則對(duì)于其平均響應(yīng)時(shí)間幾乎超過了其響應(yīng)時(shí)間目標(biāo)的應(yīng)用程序,控制工作模式。具體地,如果Web服務(wù)器30處于瞬時(shí)狀態(tài),則預(yù)計(jì)響應(yīng)時(shí)間計(jì)算部分230度量如果在Web服務(wù)器30中設(shè)置每一工作模式都將被提供的所針對(duì)的應(yīng)用程序的預(yù)計(jì)響應(yīng)時(shí)間。工作模式設(shè)置部分240在Web服務(wù)器30中設(shè)置提供低于響應(yīng)時(shí)間目標(biāo)的預(yù)計(jì)響應(yīng)時(shí)間的工作模式。步驟S850至S880與圖4中所示的步驟S410至S440相同,因此將省略其描述。
正如對(duì)于該變體所描述的那樣,即使控制器25以相對(duì)較長的時(shí)間間隔控制該工作模式,其也能夠?qū)⑵骄憫?yīng)時(shí)間減少到低于響應(yīng)時(shí)間目標(biāo)的值,并且因此能夠獲得諸如各個(gè)應(yīng)用程序的平均響應(yīng)時(shí)間的值。這使得控制器25根據(jù)各個(gè)應(yīng)用程序的平均響應(yīng)時(shí)間和響應(yīng)時(shí)間目標(biāo)來控制Web服務(wù)器30。
圖10示出了根據(jù)本實(shí)施例或其變體的邊緣服務(wù)器20的示例性硬件配置。邊緣服務(wù)器20包括CPU外圍部分、輸入/輸出部分和遺留輸入/輸出部分,CPU外圍部分包括通過主機(jī)控制器1082互連的CPU1000、RAM1020和圖形控制器1075,輸入/輸出部分包括通過輸入/輸出控制器1084與主機(jī)控制器1082相連的通信接口1030、硬盤驅(qū)動(dòng)器1040和CD-ROM驅(qū)動(dòng)器1060,遺留輸入/輸出部分包括連接到輸入/輸出控制器1084的ROM1010、軟盤驅(qū)動(dòng)器1050和輸入/輸出芯片1070。
主機(jī)控制器1082將以較高的傳輸速率訪問RAM1020的CPU1000和圖形控制器1075與RAM1020相連。CPU1000根據(jù)存儲(chǔ)在ROM1010和RAM1020中的程序進(jìn)行操作,以控制邊緣服務(wù)器20的各組件。圖形控制器1075獲得在RAM1020中提供的幀緩沖器上由CPU1000生成的圖像數(shù)據(jù),并且使其顯示在顯示設(shè)備1080上。可選擇地,圖形控制器1075可以包含幀緩沖器,用于存儲(chǔ)由CPU1000生成的圖像數(shù)據(jù)。
輸入/輸出控制器1084將主機(jī)控制器1082與通信接口1030、硬盤驅(qū)動(dòng)器1040和CD-ROM驅(qū)動(dòng)器1060連接,它們是相對(duì)快速的輸入/輸出設(shè)備。通信接口1030通過網(wǎng)絡(luò)與外部設(shè)備通信。硬盤驅(qū)動(dòng)器1040存儲(chǔ)由邊緣服務(wù)器20使用的程序和數(shù)據(jù)。CD-ROM驅(qū)動(dòng)器1060從CD-ROM1095中讀取程序或數(shù)據(jù),并且通過RAM1020將其提供給輸入/輸出芯片1070。
相對(duì)慢速的輸入/輸出設(shè)備,諸如軟盤驅(qū)動(dòng)器1050和輸入/輸出芯片1070,連接到輸入/輸出控制器1084。ROM1010存儲(chǔ)在邊緣服務(wù)器20啟動(dòng)期間由CPU1000執(zhí)行的引導(dǎo)程序以及依賴于邊緣服務(wù)器20的硬件的程序。軟盤驅(qū)動(dòng)器1050從軟盤1090中讀取程序或數(shù)據(jù),并且通過RAM1020將其提供給輸入/輸出芯片1070。輸入/輸出芯片1070通過諸如并行端口、串行端口、鍵盤端口和鼠標(biāo)端口的端口連接軟盤1090和各種輸入/輸出設(shè)備。
將要提供給邊緣服務(wù)器20的程序被存儲(chǔ)在記錄介質(zhì)上,該記錄介質(zhì)諸如軟盤1090、CD-ROM 1095或者IC卡,并且該程序是由用戶提供的。通過輸入/輸出芯片1070和/或輸入/輸出控制器1084,從該記錄介質(zhì)中讀出該程序并將其安裝在邊緣服務(wù)器20上,并且執(zhí)行。在該程序的控制之下,邊緣服務(wù)器20執(zhí)行的操作與參照?qǐng)D1和9描述的邊緣服務(wù)器20中的操作相同,因此將省略其描述。
該程序可以存儲(chǔ)在外部存儲(chǔ)介質(zhì)上。該存儲(chǔ)介質(zhì)可以是軟盤1090或CD-ROM 1095,或者是諸如DVD和PD的光記錄介質(zhì),諸如MD、磁帶介質(zhì)的磁-光記錄介質(zhì),或者諸如IC卡的半導(dǎo)體存儲(chǔ)器??蛇x地,在連接到專用通信網(wǎng)絡(luò)或因特網(wǎng)的服務(wù)器系統(tǒng)中提供的存儲(chǔ)設(shè)備,諸如硬盤或RAM,可以用作該記錄介質(zhì),并且可以從該存儲(chǔ)設(shè)備將該程序通過網(wǎng)絡(luò)提供給邊緣服務(wù)器20。
盡管結(jié)合本發(fā)明的實(shí)施例對(duì)本發(fā)明進(jìn)行了描述,但是本發(fā)明的技術(shù)范圍不局限于對(duì)于這些實(shí)施例所描述的范圍內(nèi)。對(duì)于本領(lǐng)域的技術(shù)人員來說顯而易見的是,可以對(duì)此實(shí)施例進(jìn)行各種修改或改進(jìn)。根據(jù)權(quán)利要求顯而易見的是,進(jìn)行了這樣的修改和改進(jìn)的實(shí)施例均落入本發(fā)明的技術(shù)范圍的范圍內(nèi)。
權(quán)利要求
1.一種用于控制信息處理裝置對(duì)處理請(qǐng)求的接收與該信息處理裝置對(duì)該處理請(qǐng)求的響應(yīng)之間所經(jīng)過的平均響應(yīng)時(shí)間的控制器,該控制器包括響應(yīng)時(shí)間目標(biāo)獲得部分,用于獲得作為上述平均響應(yīng)時(shí)間的目標(biāo)值的響應(yīng)時(shí)間目標(biāo);預(yù)計(jì)響應(yīng)時(shí)間計(jì)算部分,用于計(jì)算預(yù)計(jì)響應(yīng)時(shí)間,該預(yù)計(jì)響應(yīng)時(shí)間是從在上述信息處理裝置中設(shè)置一工作模式開始經(jīng)過了預(yù)定參考期的時(shí)間點(diǎn)上的平均響應(yīng)時(shí)間的預(yù)計(jì)值,該工作模式是提供不同吞吐量的多個(gè)工作模式中的任一種;以及工作模式設(shè)置部分,用于在上述預(yù)計(jì)響應(yīng)時(shí)間計(jì)算部分計(jì)算出的預(yù)計(jì)響應(yīng)時(shí)間少于上述響應(yīng)時(shí)間目標(biāo)時(shí),在上述信息處理裝置中設(shè)置上述工作模式。
2.按照權(quán)利要求1所述的控制器,進(jìn)一步包括平均響應(yīng)時(shí)間獲得部分,用于每次經(jīng)過上述參考期時(shí),從上述信息處理裝置獲得上述平均響應(yīng)時(shí)間;其中,如果上述信息處理裝置處于瞬時(shí)狀態(tài),在該瞬時(shí)狀態(tài)中由該平均響應(yīng)時(shí)間獲得部分獲得的平均響應(yīng)時(shí)間隨著時(shí)間在預(yù)定參考范圍之外的一個(gè)方向上變化,上述預(yù)計(jì)響應(yīng)時(shí)間計(jì)算部分在每次經(jīng)過上述參考時(shí)間時(shí),計(jì)算在上述工作模式中的每一個(gè)被設(shè)置時(shí)所提供的預(yù)計(jì)響應(yīng)時(shí)間;以及每次上述預(yù)計(jì)響應(yīng)時(shí)間計(jì)算部分計(jì)算出每一工作模式中的預(yù)計(jì)響應(yīng)時(shí)間時(shí),上述工作模式設(shè)置部分選擇提供少于上述響應(yīng)時(shí)間目標(biāo)的預(yù)計(jì)響應(yīng)時(shí)間的工作模式中的任一種,并且在上述信息處理裝置中設(shè)置該工作模式。
3.按照權(quán)利要求2所述的控制器,其中,如果上述信息處理裝置處于穩(wěn)定狀態(tài),在該穩(wěn)定狀態(tài)中由上述平均響應(yīng)時(shí)間獲得部分獲得的平均響應(yīng)時(shí)間隨著時(shí)間在上述參考范圍內(nèi)變化,則上述工作模式設(shè)置部分設(shè)置將上述信息處理裝置的響應(yīng)時(shí)間變化到少于上述響應(yīng)時(shí)間目標(biāo)的值的工作模式,以將上述信息處理裝置置于上述瞬時(shí)狀態(tài)。
4.按照權(quán)利要求3所述的控制器,其中,如果上述信息處理裝置處于不穩(wěn)定狀態(tài),在該不穩(wěn)定狀態(tài)中由上述平均響應(yīng)時(shí)間獲得部分獲得的平均響應(yīng)時(shí)間隨著時(shí)間在一值與大于上述參考范圍的上限的值或小于該參考范圍的下限的值之間變化,則上述工作模式設(shè)置部分獲得由上述平均響應(yīng)時(shí)間獲得部分在預(yù)定的以前時(shí)間段之上獲得的平均響應(yīng)時(shí)間的最大值,并且在上述信息處理裝置中設(shè)置將等于該最大值的響應(yīng)時(shí)間降低到小于上述響應(yīng)時(shí)間目標(biāo)的值的工作模式。
5.按照權(quán)利要求3所述的控制器,進(jìn)一步包括請(qǐng)求計(jì)數(shù)獲得部分,用于獲得上述信息處理裝置每單位時(shí)間接收到的處理請(qǐng)求的數(shù)量以及該信息處理裝置接收到的處理請(qǐng)求的累計(jì)數(shù)量;其中上述預(yù)計(jì)響應(yīng)時(shí)間計(jì)算部分通過使用一功能為上述多個(gè)工作模式中的每一種計(jì)算預(yù)計(jì)響應(yīng)時(shí)間,該功能通過使用一階滯后元件對(duì)上述信息處理裝置的平均響應(yīng)時(shí)間隨著時(shí)間的變化建模,其中該功能使用當(dāng)在該信息處理裝置中設(shè)置該工作模式時(shí)所提供的響應(yīng)時(shí)間與在穩(wěn)定狀態(tài)下的平均響應(yīng)時(shí)間之間的差值作為增益,并且使用基于上述每單位時(shí)間的處理請(qǐng)求的數(shù)量和處理請(qǐng)求的累計(jì)數(shù)量的值作為時(shí)間常量。
6.按照權(quán)利要求5所述的控制器,其中上述預(yù)計(jì)響應(yīng)時(shí)間計(jì)算部分為上述多個(gè)工作模式中的每一種計(jì)算預(yù)計(jì)響應(yīng)時(shí)間,此計(jì)算是通過使用與該工作模式下的吞吐量成反比例的值作為在上述信息處理裝置中設(shè)置該工作模式時(shí)所提供的響應(yīng)時(shí)間來完成的。
7.按照權(quán)利要求5所述的控制器,其中上述預(yù)計(jì)響應(yīng)時(shí)間計(jì)算部分計(jì)算預(yù)計(jì)響應(yīng)時(shí)間,此計(jì)算是通過隨著每單位時(shí)間的處理請(qǐng)求的數(shù)量的增加而增加變化速率,并隨著處理請(qǐng)求的累計(jì)數(shù)量的增加而降低變化速率來完成的。
8.按照權(quán)利要求5所述的控制器,其中上述請(qǐng)求計(jì)數(shù)獲得部分在每次經(jīng)過上述參考期時(shí),從上述信息處理裝置獲得該信息處理裝置接收到的處理請(qǐng)求的累計(jì)數(shù)量,從當(dāng)前獲得的處理請(qǐng)求的累計(jì)數(shù)量減去先前獲得的處理請(qǐng)求的累計(jì)數(shù)量以獲得差值,并獲得被該參考期除后的該差值的平均值以及被累計(jì)經(jīng)過的時(shí)間除后的當(dāng)前獲得的處理請(qǐng)求的累計(jì)數(shù)量作為該信息處理裝置每單位時(shí)間接收到的處理請(qǐng)求的數(shù)量。
9.一種信息處理系統(tǒng),包括信息處理裝置,其對(duì)從外部源接收到的處理請(qǐng)求進(jìn)行響應(yīng);以及控制器,用于控制上述信息處理裝置對(duì)處理請(qǐng)求的接收與該信息處理裝置對(duì)該處理請(qǐng)求的響應(yīng)之間所經(jīng)過的平均響應(yīng)時(shí)間,該控制器具有響應(yīng)時(shí)間目標(biāo)獲得部分,用于獲得作為上述平均響應(yīng)時(shí)間的目標(biāo)值的響應(yīng)時(shí)間目標(biāo);預(yù)計(jì)響應(yīng)時(shí)間計(jì)算部分,用于計(jì)算預(yù)計(jì)響應(yīng)時(shí)間,該預(yù)計(jì)響應(yīng)時(shí)間是從在上述信息處理裝置中設(shè)置一工作模式開始經(jīng)過了預(yù)定參考期的時(shí)間點(diǎn)上的平均響應(yīng)時(shí)間的預(yù)計(jì)值,該工作模式是提供不同吞吐量的多個(gè)工作模式中的任一種;以及工作模式設(shè)置部分,用于在上述預(yù)計(jì)響應(yīng)時(shí)間計(jì)算部分計(jì)算出的預(yù)計(jì)響應(yīng)時(shí)間少于上述響應(yīng)時(shí)間目標(biāo)時(shí),在上述信息處理裝置中設(shè)置上述工作模式。
10.按照權(quán)利要求9所述的信息處理系統(tǒng),其中上述信息處理裝置執(zhí)行多個(gè)應(yīng)用程序中的每一個(gè);上述響應(yīng)時(shí)間目標(biāo)獲得部分獲得這些應(yīng)用程序中每一個(gè)的響應(yīng)時(shí)間目標(biāo);上述信息處理系統(tǒng)進(jìn)一步包括平均響應(yīng)時(shí)間獲得部分,用于為這些應(yīng)用程序中的每一個(gè)獲得該信息處理裝置執(zhí)行該應(yīng)用程序的時(shí)期上的響應(yīng)時(shí)間的平均值,作為上述平均響應(yīng)時(shí)間;以及如果這些應(yīng)用程序中任一個(gè)的平均響應(yīng)時(shí)間超過上述響應(yīng)時(shí)間目標(biāo),則上述預(yù)計(jì)響應(yīng)時(shí)間計(jì)算部分為該應(yīng)用程序計(jì)算在設(shè)置上述多個(gè)工作模式中的任一種時(shí)所提供的預(yù)計(jì)響應(yīng)時(shí)間;以及如果上述預(yù)計(jì)響應(yīng)時(shí)間計(jì)算部分計(jì)算出的預(yù)計(jì)響應(yīng)時(shí)間少于上述響應(yīng)時(shí)間目標(biāo),則上述工作模式設(shè)置部分在上述信息處理裝置中設(shè)置上述工作模式。
11.按照權(quán)利要求10所述的信息處理系統(tǒng),其中如果上述多個(gè)應(yīng)用程序中任一個(gè)的平均響應(yīng)時(shí)間超過上述響應(yīng)時(shí)間目標(biāo),則上述預(yù)計(jì)響應(yīng)時(shí)間計(jì)算部分選擇其平均響應(yīng)時(shí)間與上述響應(yīng)時(shí)間目標(biāo)之間的差值在這多個(gè)應(yīng)用程序中最大的應(yīng)用程序,并且計(jì)算在上述信息處理裝置中設(shè)置該工作模式時(shí)所提供的該應(yīng)用程序的預(yù)計(jì)響應(yīng)時(shí)間;以及如果上述預(yù)計(jì)響應(yīng)時(shí)間計(jì)算部分計(jì)算出的預(yù)計(jì)響應(yīng)時(shí)間少于上述應(yīng)用程序的響應(yīng)時(shí)間目標(biāo),則上述工作模式設(shè)置部分在上述信息處理裝置中設(shè)置上述工作模式。
12.按照權(quán)利要求10所述的信息處理系統(tǒng),其中如果所有的上述應(yīng)用程序的平均響應(yīng)時(shí)間均少于上述響應(yīng)時(shí)間目標(biāo),則上述預(yù)計(jì)響應(yīng)時(shí)間計(jì)算部分選擇其平均響應(yīng)時(shí)間與上述響應(yīng)時(shí)間目標(biāo)之間的差值在這些應(yīng)用程序中最小的應(yīng)用程序,并且計(jì)算在上述信息處理裝置中設(shè)置上述工作模式時(shí)所提供的該應(yīng)用程序的預(yù)計(jì)響應(yīng)時(shí)間;以及如果上述預(yù)計(jì)響應(yīng)時(shí)間計(jì)算部分計(jì)算出的預(yù)計(jì)響應(yīng)時(shí)間少于上述應(yīng)用程序的響應(yīng)時(shí)間目標(biāo),則上述工作模式設(shè)置部分在上述信息處理裝置中設(shè)置上述工作模式。
13.一種用于控制信息處理裝置對(duì)處理請(qǐng)求的接收與該信息處理裝置對(duì)該處理請(qǐng)求的響應(yīng)之間所經(jīng)過的平均響應(yīng)時(shí)間的控制方法,該控制方法包括響應(yīng)時(shí)間目標(biāo)獲得步驟,其獲得作為上述平均響應(yīng)時(shí)間的目標(biāo)值的響應(yīng)時(shí)間目標(biāo);預(yù)計(jì)響應(yīng)時(shí)間計(jì)算步驟,其計(jì)算預(yù)計(jì)響應(yīng)時(shí)間,該預(yù)計(jì)響應(yīng)時(shí)間是從在上述信息處理裝置中設(shè)置一工作模式開始經(jīng)過了預(yù)定參考期的時(shí)間點(diǎn)上的平均響應(yīng)時(shí)間的預(yù)計(jì)值,該工作模式是提供不同吞吐量的多個(gè)工作模式中的任一種;以及工作模式設(shè)置步驟,其在上述預(yù)計(jì)響應(yīng)時(shí)間計(jì)算步驟計(jì)算出的預(yù)計(jì)響應(yīng)時(shí)間少于上述響應(yīng)時(shí)間目標(biāo)時(shí),在上述信息處理裝置中設(shè)置上述工作模式。
14.一種用于使計(jì)算機(jī)作為控制器發(fā)揮作用的程序,該控制器控制信息處理裝置對(duì)處理請(qǐng)求的接收與該信息處理裝置對(duì)該處理請(qǐng)求的響應(yīng)之間所經(jīng)過的平均響應(yīng)時(shí)間,該程序使該計(jì)算機(jī)如下來發(fā)揮作用響應(yīng)時(shí)間目標(biāo)獲得部分,用于獲得作為上述平均響應(yīng)時(shí)間的目標(biāo)值的響應(yīng)時(shí)間目標(biāo);預(yù)計(jì)響應(yīng)時(shí)間計(jì)算部分,用于計(jì)算預(yù)計(jì)響應(yīng)時(shí)間,該預(yù)計(jì)響應(yīng)時(shí)間是從在上述信息處理裝置中設(shè)置一工作模式開始經(jīng)過了預(yù)定參考期的時(shí)間點(diǎn)上的平均響應(yīng)時(shí)間的預(yù)計(jì)值,該工作模式是提供不同吞吐量的多個(gè)工作模式中的任一種;以及工作模式設(shè)置部分,用于在上述預(yù)計(jì)響應(yīng)時(shí)間計(jì)算部分計(jì)算出的預(yù)計(jì)響應(yīng)時(shí)間少于上述響應(yīng)時(shí)間目標(biāo)時(shí),在上述信息處理裝置中設(shè)置上述工作模式。
全文摘要
本發(fā)明的目的在于使Web服務(wù)器等的響應(yīng)時(shí)間更接近于目標(biāo)值。本發(fā)明提供了一種用于控制信息處理裝置對(duì)處理請(qǐng)求的接收與該信息處理裝置對(duì)該處理請(qǐng)求的響應(yīng)之間所經(jīng)過的平均響應(yīng)時(shí)間的控制器,該控制器包括響應(yīng)時(shí)間目標(biāo)獲得部分,用于獲得作為平均響應(yīng)時(shí)間的目標(biāo)值的響應(yīng)時(shí)間目標(biāo);預(yù)計(jì)響應(yīng)時(shí)間計(jì)算部分,用于計(jì)算預(yù)計(jì)響應(yīng)時(shí)間,預(yù)計(jì)響應(yīng)時(shí)間是從在該信息處理裝置中設(shè)置一工作模式開始經(jīng)過了預(yù)定參考期的時(shí)間點(diǎn)上的平均響應(yīng)時(shí)間的預(yù)計(jì)值,該工作模式是提供不同吞吐量的多個(gè)工作模式中的任一種;以及工作模式設(shè)置部分,用于在預(yù)計(jì)響應(yīng)時(shí)間計(jì)算部分計(jì)算出的預(yù)計(jì)響應(yīng)時(shí)間少于響應(yīng)時(shí)間目標(biāo)時(shí),在該信息處理裝置中設(shè)置該工作模式。
文檔編號(hào)B25D9/00GK1782957SQ20051012832
公開日2006年6月7日 申請(qǐng)日期2005年11月14日 優(yōu)先權(quán)日2004年12月1日
發(fā)明者仲池卓也, 小松秀昭 申請(qǐng)人:國際商業(yè)機(jī)器公司