專(zhuān)利名稱:控制應(yīng)用服務(wù)器的負(fù)載接收速率的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,具體地,涉及應(yīng)用服務(wù)器的內(nèi)存管理技術(shù)中的內(nèi)存過(guò)載 保護(hù)。
背景技術(shù):
內(nèi)存過(guò)載正在逐漸成為諸如J2EE應(yīng)用服務(wù)器環(huán)境中的企業(yè)應(yīng)用服務(wù)器的性能管 理的一個(gè)關(guān)鍵挑戰(zhàn)。一般地,這種應(yīng)用服務(wù)器主要采用Java虛擬機(jī)實(shí)現(xiàn),其內(nèi)存容量有 限。應(yīng)用服務(wù)器的內(nèi)存不斷被各種應(yīng)用使用,并由垃圾回收(GC)自動(dòng)從內(nèi)存堆中收回未使 用的內(nèi)存空間。如果應(yīng)用服務(wù)器的實(shí)際內(nèi)存使用量達(dá)到最大內(nèi)存可用量,則會(huì)出現(xiàn)內(nèi)存不 足(Out ofMemory),從而導(dǎo)致應(yīng)用服務(wù)器死機(jī)。另外,當(dāng)實(shí)際內(nèi)存使用量較高時(shí),容易導(dǎo)致 應(yīng)用的性能急劇下降,這對(duì)于具有實(shí)時(shí)要求的應(yīng)用很不利,例如,會(huì)話初始化協(xié)議(SIP)應(yīng) 用。在SIP應(yīng)用中,例如基于IP的語(yǔ)音(VoIP)應(yīng)用,SIP作為信令協(xié)議用以在IP網(wǎng) 絡(luò)中的SIP客戶機(jī)之間建立SIP會(huì)話。圖1示出了 SIP會(huì)話的消息流程。如圖1所示,SIP 服務(wù)器向SIP客戶機(jī)提供SIP會(huì)話應(yīng)用。呼叫方SIP客戶機(jī)通過(guò)INVITE消息發(fā)起呼叫,通 過(guò)SIP服務(wù)器與被叫方SIP客戶機(jī)建立SIP會(huì)話,在會(huì)話期間,SIP服務(wù)器記錄有關(guān)的SIP 會(huì)話信息,通常為幾十到幾百K字節(jié),然后,任意一方SIP客戶機(jī)可通過(guò)BYE消息結(jié)束會(huì)話。 典型的呼叫時(shí)長(zhǎng)分布是對(duì)數(shù)正態(tài)分布,且其平均值為60到300秒。然而,有時(shí)SIP會(huì)話會(huì)較 長(zhǎng)時(shí)間地占用SIP服務(wù)器的內(nèi)存,例如400秒或更長(zhǎng)。因此,如果有多個(gè)這樣的SIP會(huì)話, 則SIP服務(wù)器的可使用內(nèi)存很容易用盡,從而增加了 SIP服務(wù)器死機(jī)的風(fēng)險(xiǎn)。另外,應(yīng)用服務(wù)器的實(shí)際內(nèi)存使用量也受到多個(gè)因素的直接影響,例如呼叫到達(dá) 速率、呼叫持續(xù)時(shí)間、呼叫所占用的內(nèi)存等。而且,在一個(gè)企業(yè)環(huán)境中,上述所有的因素都是 高度變化的,某些因素甚至很難在運(yùn)行時(shí)捕捉,例如,呼叫持續(xù)時(shí)間的范圍可從幾秒鐘變化 到幾百分鐘。為了防止應(yīng)用服務(wù)器的內(nèi)存過(guò)載,目前已提出了一些應(yīng)用服務(wù)器的內(nèi)存過(guò)載保護(hù) 方案。例如,在BEA公司提供的內(nèi)存過(guò)載保護(hù)方案中,要求對(duì)諸如線程池大小、隊(duì)列長(zhǎng)度限 制和HTTP會(huì)話的最大數(shù)量等的參數(shù)進(jìn)行明確的配置,然而,這些參數(shù)并不直接反映應(yīng)用 服務(wù)器的實(shí)際內(nèi)存使用量,并且通常依據(jù)系統(tǒng)管理員的經(jīng)驗(yàn)進(jìn)行設(shè)置,而且由于每個(gè)應(yīng)用 的特性經(jīng)常隨時(shí)間變化,因此很難設(shè)置上述參數(shù)的最佳值,從而可能導(dǎo)致不能有效地進(jìn)行 內(nèi)存過(guò)載保護(hù)。該內(nèi)存過(guò)載保護(hù)方案的詳細(xì)內(nèi)容可參見(jiàn)Oracle,Configuring WebLogic Server to Avoid Overload Conditions,其可在以下網(wǎng)址 http //edocs. bea. com/wls/ docsl03/confiR wls/overload. html 中獲得。近來(lái),也提出了將基于控制理論的分析方法用于應(yīng)用服務(wù)器的性能、內(nèi)存管理 等。例如,在 Y. Diao, N. Gandhi, J. L. Hellerstein, S. Parekh 和 D. Μ. Tilbury 所著的 "Using ΜΙΜΟ Feedback Control to Enforce Policiesfor Interrelated Metrics with Application to the Apache Web Server”中,提出了通過(guò)多輸入多輸出控制器管理CPU和內(nèi)存使用的方案,其中該MIMO控制器控制諸如最大客戶機(jī)數(shù)量的相關(guān)調(diào)諧參數(shù)。然而,在 該方案中,由于控制器的控制增益是固定值,因此,不能很好地跟蹤應(yīng)用特性的變化。
發(fā)明內(nèi)容
本發(fā)明正是鑒于以上技術(shù)問(wèn)題提出的,其目的在于提供一種控制應(yīng)用服務(wù)器的負(fù) 載接收速率的方法及裝置,其能夠?qū)崟r(shí)跟蹤應(yīng)用特性的變化,并根據(jù)該變化自適應(yīng)地調(diào)節(jié) 應(yīng)用服務(wù)器的負(fù)載接收速率,從而防止應(yīng)用服務(wù)器的內(nèi)存過(guò)載。根據(jù)本發(fā)明的一個(gè)方面,提供一種控制應(yīng)用服務(wù)器的負(fù)載接收速率的方法,包括 檢測(cè)當(dāng)前控制周期中所述應(yīng)用服務(wù)器的實(shí)際內(nèi)存使用量和負(fù)載接收速率;基于所檢測(cè)的實(shí) 際內(nèi)存使用量和負(fù)載接收速率,估計(jì)所述應(yīng)用服務(wù)器的負(fù)載特性變化參數(shù);根據(jù)所述負(fù)載 特性變化參數(shù),計(jì)算所述反饋控制器的控制增益;以及所述反饋控制器利用所計(jì)算的控制 增益,計(jì)算所述應(yīng)用服務(wù)器在下一個(gè)控制周期的期望負(fù)載接收速率。根據(jù)本發(fā)明的另一個(gè)方面,提供一種控制應(yīng)用服務(wù)器的負(fù)載接收速率的裝置,包 括檢測(cè)模塊,用于檢測(cè)當(dāng)前控制周期中所述應(yīng)用服務(wù)器的實(shí)際內(nèi)存使用量和負(fù)載接收速 率;參數(shù)估計(jì)模塊,用于基于所述檢測(cè)模塊檢測(cè)的實(shí)際內(nèi)存使用量和負(fù)載接收速率,估計(jì)所 述應(yīng)用服務(wù)器的負(fù)載特性變化參數(shù);增益計(jì)算模塊,用于根據(jù)所述負(fù)載特性變化參數(shù),計(jì)算 反饋控制器的控制增益;以及反饋控制器,用于利用所計(jì)算的控制增益,計(jì)算所述應(yīng)用服務(wù) 器在下一個(gè)控制周期的期望負(fù)載接收速率。根據(jù)本發(fā)明的再一個(gè)方面,提供一種應(yīng)用服務(wù)器的控制系統(tǒng),包括至少一個(gè)應(yīng)用 服務(wù)器;以及至少一個(gè)上述的控制應(yīng)用服務(wù)器的負(fù)載接收速率的裝置,用于控制各自的應(yīng) 用服務(wù)器的負(fù)載接收速率。
圖1是說(shuō)明用于SIP會(huì)話的消息流程的示意圖;圖2是應(yīng)用內(nèi)存過(guò)載控制的J2EE應(yīng)用服務(wù)器環(huán)境的示意圖;圖3是根據(jù)本發(fā)明的一個(gè)實(shí)施例的使用反饋控制器控制應(yīng)用服務(wù)器的負(fù)載接收 速率的方法的流程圖;圖4是對(duì)于混合了兩個(gè)不同呼叫持續(xù)時(shí)間分布的應(yīng)用采用卡爾曼濾波法估計(jì)的 負(fù)載特性變化參數(shù)的曲線圖;圖5是在具有穩(wěn)定的呼叫接收速率和固定的呼叫持續(xù)時(shí)間的應(yīng)用下采用卡爾曼 濾波法估計(jì)的負(fù)載特性變化參數(shù)的曲線圖;圖6是對(duì)于工作負(fù)載為具有固定呼叫持續(xù)時(shí)間400秒的呼叫,分別采用本實(shí)施例 的方法和現(xiàn)有技術(shù)的固定增益控制器得到的應(yīng)用服務(wù)器的業(yè)務(wù)量和實(shí)際內(nèi)存使用量的曲 線圖,其中在本實(shí)施例的方法中使用的反饋控制器是比例積分控制器;圖7是對(duì)于工作負(fù)載為具有固定呼叫持續(xù)時(shí)間600秒的呼叫,分別采用本實(shí)施例 的方法和現(xiàn)有技術(shù)的固定增益控制器得到的應(yīng)用服務(wù)器的業(yè)務(wù)量和實(shí)際內(nèi)存使用量的曲 線圖,其中在本實(shí)施例的方法中使用的反饋控制器是比例積分控制器;圖8是對(duì)于工作負(fù)載為混合了四種不同呼叫持續(xù)時(shí)間分布的呼叫,分別采用本實(shí) 施例的方法和現(xiàn)有技術(shù)的固定增益控制器得到的應(yīng)用服務(wù)器的業(yè)務(wù)量和實(shí)際內(nèi)存使用量的曲線圖,其中在本實(shí)施例的方法中使用的反饋控制器是比例積分控制器;圖9是對(duì)于圖6至圖8所示的三種情況下的業(yè)務(wù)量的分析示意圖;圖10是對(duì)于工作負(fù)載為混合了四種不同呼叫持續(xù)時(shí)間分布的呼叫,采用本實(shí)施 例的方法得到的應(yīng)用服務(wù)器的業(yè)務(wù)量和實(shí)際內(nèi)存使用量的關(guān)系曲線圖,其中在本實(shí)施例的 方法中使用的反饋控制器是積分控制器;圖11是根據(jù)本發(fā)明的一個(gè)實(shí)施例的控制應(yīng)用服務(wù)器的負(fù)載接收速率的裝置的示 意性方框圖。
具體實(shí)施例方式相信通過(guò)以下結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施例的詳細(xì)描述,本發(fā)明的上述和其它 目的、特征和優(yōu)點(diǎn)將變得更加明顯。在以下的實(shí)施例中,應(yīng)用服務(wù)器可采用虛擬機(jī)實(shí)現(xiàn),也可采用內(nèi)存容量有限的物 理機(jī)實(shí)現(xiàn)。應(yīng)用服務(wù)器作為反饋控制器的控制對(duì)象,接受反饋控制器的控制,以防止內(nèi)存過(guò) 載。圖2示意性地示出了采用內(nèi)存過(guò)載控制的J2EE應(yīng)用服務(wù)器環(huán)境。如圖2所示,來(lái)自 用戶的請(qǐng)求被發(fā)送到作為J2EE應(yīng)用服務(wù)器環(huán)境的入口點(diǎn)的代理服務(wù)器,該代理服務(wù)器執(zhí) 行動(dòng)態(tài)請(qǐng)求路由以達(dá)到服務(wù)質(zhì)量目標(biāo)。然后,請(qǐng)求被分發(fā)到由多個(gè)服務(wù)器節(jié)點(diǎn)組成的后端 服務(wù)器進(jìn)行處理,其中每一個(gè)服務(wù)器節(jié)點(diǎn)可具有多個(gè)應(yīng)用服務(wù)器實(shí)例。在每一個(gè)應(yīng)用服務(wù) 器實(shí)例中,都有一個(gè)反饋控制器進(jìn)行內(nèi)存過(guò)載保護(hù)。該反饋控制器以維持管理員所設(shè)置的 目標(biāo)內(nèi)存使用量為控制目標(biāo),控制應(yīng)用服務(wù)器實(shí)例的負(fù)載接收速率,從而調(diào)整應(yīng)用服務(wù)器 實(shí)例的實(shí)際內(nèi)存使用量。每個(gè)應(yīng)用服務(wù)器實(shí)例的負(fù)載接收速率被提供給代理服務(wù)器,使得 代理服務(wù)器調(diào)整向該應(yīng)用服務(wù)器實(shí)例提供的工作負(fù)載,從而防止應(yīng)用服務(wù)器實(shí)例的內(nèi)存過(guò) 載。在控制過(guò)程中,實(shí)際內(nèi)存使用量是指不含垃圾的內(nèi)存使用量,即在每次全局垃圾回收結(jié) 束時(shí)的內(nèi)存使用量,反映了真實(shí)的內(nèi)存使用量。圖3是根據(jù)本發(fā)明的一個(gè)實(shí)施例的使用反饋控制器控制應(yīng)用服務(wù)器的負(fù)載接收 速率的方法的流程圖。下面結(jié)合附圖,對(duì)本實(shí)施例進(jìn)行詳細(xì)描述。如圖3所示,在步驟S301,檢測(cè)當(dāng)前控制周期中應(yīng)用服務(wù)器的實(shí)際內(nèi)存使用量和 負(fù)載接收速率。如前所述,實(shí)際內(nèi)存使用量可在每次全局垃圾回收結(jié)束時(shí)進(jìn)行檢測(cè),這樣, 全局垃圾回收的間隔可確定控制周期的長(zhǎng)度。應(yīng)用服務(wù)器的工作負(fù)載特性可通過(guò)負(fù)載接收 速率、應(yīng)用持續(xù)時(shí)間以及單位負(fù)載的實(shí)際內(nèi)存使用量三個(gè)參數(shù)反映。例如,對(duì)于SIP應(yīng)用服 務(wù)器,負(fù)載接收速率是指新會(huì)話的到達(dá)速率,應(yīng)用持續(xù)時(shí)間是指會(huì)話(呼叫)持續(xù)時(shí)間,單 位負(fù)載的實(shí)際內(nèi)存使用量是指單位呼叫持續(xù)期間所占用的內(nèi)存量。在步驟S305,基于在步驟S301檢測(cè)到的實(shí)際內(nèi)存使用量和負(fù)載接收速率,估計(jì)應(yīng) 用服務(wù)器的負(fù)載特性變化參數(shù)。在本實(shí)施例中,首先,建立應(yīng)用服務(wù)器的內(nèi)存使用模型,該 模型可反映工作負(fù)載特性的變化。下面以SIP應(yīng)用為例,詳細(xì)描述建立SIP應(yīng)用服務(wù)器的內(nèi)存使用模型的過(guò)程。假 定Uk和yk分別表示在第k個(gè)控制周期的呼叫接收速率(負(fù)載接收速率)和實(shí)際內(nèi)存使用 量,而△表示控制周期間的間隔(步長(zhǎng))。進(jìn)一步地,假定每個(gè)會(huì)話(呼叫)的平均實(shí)際內(nèi) 存使用量為β >0。為簡(jiǎn)化起見(jiàn),假定會(huì)話長(zhǎng)度M是在控制周期的數(shù)量之間幾何分布的,以 使會(huì)話長(zhǎng)度有至少一個(gè)控制周期,則有
Prob[M = m] = P (1_P)m2(1)其中,m = 2,3,. . .,P是幾何分布的參數(shù),且O < P < 1。因此,平均會(huì)話長(zhǎng)度 E[M]為E[M] = (1+P)/P(2)M的補(bǔ)充分布函數(shù)(或生存函數(shù))為Prob [M > m] = (1-p在控制周期k的實(shí)際內(nèi)存使用量yk包括在控制周期k之前到達(dá)并生存到控制周 期k的會(huì)話的實(shí)際內(nèi)存使用量的貢獻(xiàn)。因此,可得到 其中,k≥LuiA是在控制周期i到達(dá)的會(huì)話的平均數(shù)量,(I-P)k^1是在控制周 期i到達(dá)的會(huì)話在控制周期k仍然保持的概率。定義a =I-P(4)和b = β Δ(5)則公式(3)可改寫(xiě)為 其中,k≥1,0 < a< l,b>0。根據(jù)公式⑵和(4),參數(shù)a可以用E[M]表示為 因此,假定平均值為E [Μ]的一般會(huì)話長(zhǎng)度分布,則可以通過(guò)公式(7)估計(jì)參數(shù)a 的值。對(duì)于參數(shù)b,則可以通過(guò)公式(5)確定,只是每個(gè)會(huì)話的平均實(shí)際內(nèi)存使用量與步長(zhǎng) 的乘積。利用公式(6)并采用yk與Ylri之間的差,可得到y(tǒng)k = a yH+b Uk-1(8)其中,k≥1。該公式⑶是一階線性自回歸滑動(dòng)平均混合模型ARMA(1,1),Uk的 系數(shù)為0。參數(shù)a是捕捉實(shí)際內(nèi)存使用量變化的自回歸參數(shù),而參數(shù)b是捕捉實(shí)際內(nèi)存使用 量與(前一個(gè))呼叫接收速率的依賴關(guān)系的移動(dòng)平均參數(shù)。通過(guò)以上描述可以看出,SIP應(yīng)用服務(wù)器的內(nèi)存使用模型可將實(shí)際內(nèi)存使用量與 負(fù)載接收速率相關(guān)聯(lián),并且該內(nèi)存使用模型的參數(shù)可作為反映工作負(fù)載特性變化的負(fù)載特 性變化參數(shù)。雖然在上述描述中,內(nèi)存使用模型是一階模型,但本領(lǐng)域的普通技術(shù)人員能夠 容易地想到內(nèi)存使用模型可以是二階或更高階的模型,例如yk = * Y1^a2女y^+b,女 Uk-^b2 * uk_2,其中,^a2J1和、是模型參數(shù)。在建立了內(nèi)存使用模型之后,基于所檢測(cè)的負(fù)載接收速率和實(shí)際內(nèi)存使用量,對(duì) 所建立的內(nèi)存使用模型的參數(shù)進(jìn)行估計(jì)。參數(shù)估計(jì)方法可以使用線性擬合方法,例如卡爾 曼濾波法、最小二乘法等。在本實(shí)施例中,采用卡爾曼濾波法對(duì)參數(shù)進(jìn)行估計(jì)??柭鼮V波 法是本領(lǐng)域普通技術(shù)人員公知的參數(shù)估計(jì)方法,在此省略相應(yīng)的說(shuō)明。圖4示出了對(duì)于混合了兩個(gè)不同呼叫持續(xù)時(shí)間分布的應(yīng)用采用卡爾曼濾波法估 計(jì)的負(fù)載特性變化參數(shù)的曲線圖,其中圖4(a)是該應(yīng)用以及所檢測(cè)的負(fù)載接收速率和實(shí)際內(nèi)存使用量的曲線圖,圖4(b)是所估計(jì)的負(fù)載特性變化參數(shù)a和b的曲線圖。在圖4(a) 中,左側(cè)縱軸代表負(fù)載接收速率,右側(cè)縱軸代表實(shí)際內(nèi)存使用量,采用“實(shí)線+三角”標(biāo)記的 曲線是接收速率曲線,采用“虛線+方形”標(biāo)記的曲線是實(shí)際內(nèi)存使用量曲線,虛線代表呼 叫持續(xù)時(shí)間為固定值400秒的業(yè)務(wù)流arrivalRateConstant (400s),實(shí)線代表呼叫持續(xù)時(shí) 間呈對(duì)數(shù)正態(tài)分布 Log-Ndl. 002ms, 1. 0ms)的業(yè)務(wù)流 arrivalRateLognormal (11. 002ms, lms)。根據(jù)兩個(gè)呼叫持續(xù)時(shí)間分布在應(yīng)用中的比例,該應(yīng)用的工作負(fù)載可分為三個(gè) 階段在60之前的第一階段,工作負(fù)載只有arrivalRateConstant (400s)業(yè)務(wù)流;在 從60到100的第二階段,工作負(fù)載變化為arrivalRateConstant (400s)業(yè)務(wù)流與 arrivalRateLognormal (11. 002ms, lms)業(yè)務(wù)流的混合;在100以后,工作負(fù)載變化為只有 arrivalRateLognormal (11. 002ms, lms)業(yè)務(wù)流。在圖4(b)中,實(shí)線代表參數(shù)a,虛線代表 參數(shù)b,可以看出,參數(shù)b的曲線也明顯地分為三個(gè)階段,并且對(duì)于每一個(gè)階段都可以迅速 收斂,這表明內(nèi)存使用模型可以迅速地對(duì)工作負(fù)載的變化做出反應(yīng),并很快得到收斂。返回圖3,在步驟S310,根據(jù)在步驟S305中估計(jì)的負(fù)載特性變化參數(shù),計(jì)算反饋控 制器的控制增益。在本實(shí)施例中,反饋控制器使用比例積分(PI)控制器,該控制器的控制 增益采用極點(diǎn)配置法進(jìn)行更新。一般地,比例積分控制器的控制法則為
k-lvk =Kpek +Ki^ej
J=I其中,vk是該控制器的輸出,并作為控制對(duì)象的控制輸入,ek是參考信號(hào)和控制對(duì) 象的輸出之間的控制誤差。在本實(shí)施例中,Vk對(duì)應(yīng)于應(yīng)用服務(wù)器的期望負(fù)載接收速率,參考 信號(hào)是管理員設(shè)置的目標(biāo)內(nèi)存使用量,控制對(duì)象是應(yīng)用服務(wù)器,其輸出是實(shí)際內(nèi)存使用量。 比例積分控制器有兩項(xiàng)通過(guò)比例控制增益Kp參數(shù)化的比例項(xiàng)和通過(guò)積分控制增益&參數(shù) 化的積分項(xiàng)。通常,比例項(xiàng)用于增加響應(yīng)速度,而積分項(xiàng)用于消除任何穩(wěn)態(tài)誤差。對(duì)于比例積分控制器,比例控制增益Kp和積分控制增益&應(yīng)當(dāng)滿足所期望的控制 標(biāo)準(zhǔn)。常用的設(shè)計(jì)比例控制增益Kp和積分控制增益Ki的方法是極點(diǎn)配置法,在該方法中, 閉環(huán)系統(tǒng)性能可通過(guò)為滿足某些性能標(biāo)準(zhǔn)(例如,小的穩(wěn)定時(shí)間和超調(diào)量等)而選擇的閉 環(huán)極點(diǎn)位置確定。具體地,本實(shí)施例中所使用的比例積分控制器的輸入輸出關(guān)系為uk = Uh+ (Kp+Ki) * ek_Kp * e^(9)其中,k代表控制周期,ek = r_yk是與實(shí)際內(nèi)存使用量有關(guān)的控制誤差,r代表目 標(biāo)內(nèi)存使用量,yk代表第k個(gè)控制周期的實(shí)際內(nèi)存使用量,Uk代表第k個(gè)控制周期的期望 負(fù)載接收速率,Uk^1代表第k-l個(gè)控制周期的負(fù)載接收速率。在采用極點(diǎn)配置法確定比例控制增益Kp和積分控制增益Ki時(shí),首先,根據(jù)希望的 閉環(huán)系統(tǒng)性能指標(biāo),例如穩(wěn)定時(shí)間和最大超調(diào)量,確定極點(diǎn)位置。在本實(shí)施例中,比例積分 控制器和應(yīng)用服務(wù)器構(gòu)成閉環(huán)系統(tǒng),經(jīng)過(guò)ζ變換后的閉環(huán)傳遞函數(shù)為
bKiZ+bKp (z-1)Fr (Z) = 2—-—。
Zz +(WCi +bKp - l-a)z + a-bKp而所期望的閉環(huán)性能可表示為(Z-P1) (Z-P2) = Z2-(PAP2)^P1P2,其中P1和p2表 示極點(diǎn),反映由穩(wěn)定時(shí)間和最大超調(diào)量而量化的期望控制性能。具體地,在Z域中,極點(diǎn)Pl、
9P2是共軛復(fù)數(shù),表示為P1, P2 = re^0,其中r表示復(fù)數(shù)的模,θ表示復(fù)數(shù)的輻角,并且滿足 其中,k:表示穩(wěn)定時(shí)間,表示最大超調(diào)量。根據(jù)極點(diǎn)配置法,有下列等式成立bKi+bKp-1-a = P^P2a-bKp = P1P2因此,比例控制增益Kp和積分控制增益Ki被分別計(jì)算為Kp =,(10)
p bKi = HpI+"+ pA(11)
1 b其中,負(fù)載特性變化參數(shù)a和b能夠在步驟S305中得到。以上對(duì)反饋控制器采用比例積分控制器的情況進(jìn)行了說(shuō)明,但反饋控制器也可以 是比例⑵控制器、積分⑴控制器或比例積分微分(PID)控制器。在另一個(gè)實(shí)施例中,反饋控制器是比例控制器,其輸入輸出關(guān)系可采用Uk = Uk-^Kp女(ek-e^,其中,ek = r-yk,r代表目標(biāo)內(nèi)存使用量,yk代表第k個(gè)控制周期的實(shí)際 內(nèi)存使用量,Uk代表第k個(gè)控制周期的期望負(fù)載接收速率,Uk^1代表第k-Ι個(gè)控制周期的負(fù) 載接收速率,Kp代表比例控制增益。在另一個(gè)實(shí)施例中,反饋控制器是積分控制器,其輸入輸出關(guān)系可采用Uk = Uk-^Ki女ek,其中,k代表控制周期,ek = r-yk,r代表目標(biāo)內(nèi)存使用量,yk代表第k個(gè)控制 周期的實(shí)際內(nèi)存使用量,Uk代表第k個(gè)控制周期的期望負(fù)載接收速率,Uk^1代表第k-Ι個(gè)控 制周期的負(fù)載接收速率,Ki代表積分控制增益。在另一個(gè)實(shí)施例中,反饋控制器是比例積分微分控制器,其輸入輸出關(guān)系可采用 Uk = Uh+ (WKd) * ek- (Kp+2Kd) Θη+Κα_2,其中,k 代表控制周期,ek = r-yk, r 代表目標(biāo) 內(nèi)存使用量,yk代表第k個(gè)控制周期的實(shí)際內(nèi)存使用量,Uk代表第k個(gè)控制周期的期望負(fù) 載接收速率,Uk^1代表第k-Ι個(gè)控制周期的負(fù)載接收速率,Kp代表比例控制增益,Ki代表積 分控制增益,Kd代表微分控制增益。這三種情況下的各個(gè)反饋控制器的各自的控制增益的設(shè)定與比例積分控制器的 控制增益的設(shè)定相似,均可采用極點(diǎn)配置法設(shè)置,此處不再贅述。接著,返回圖3,在步驟S315,反饋控制器使用在步驟S310中得到的控制增益,計(jì) 算應(yīng)用服務(wù)器在下一個(gè)控制周期的期望負(fù)載接收速率。所計(jì)算的期望負(fù)載接收速率被提供 給代理服務(wù)器,以控制分配給該應(yīng)用服務(wù)器的工作負(fù)載,從而調(diào)節(jié)應(yīng)用服務(wù)器的實(shí)際內(nèi)存
使用量。在反饋控制器的輸入輸出關(guān)系公式中,第k-Ι個(gè)控制周期的負(fù)載接收速率通常是 在上一個(gè)控制周期中得到的期望負(fù)載接收速率。但有時(shí)工作負(fù)載不夠大,沒(méi)有使內(nèi)存消耗 達(dá)到目標(biāo)內(nèi)存使用量,這時(shí)會(huì)產(chǎn)生正的控制誤差,導(dǎo)致期望負(fù)載接收速率在以后的控制周 期不斷增大,產(chǎn)生飽和現(xiàn)象。這樣,當(dāng)工作負(fù)載再增大時(shí),期望負(fù)載接收速率變得更大,從而
10可能導(dǎo)致應(yīng)用服務(wù)器的內(nèi)存過(guò)載。為防止飽和現(xiàn)象,在本實(shí)施例中,第k-Ι個(gè)控制周期的負(fù) 載接收速率使用在步驟S301中檢測(cè)的負(fù)載接收速率。進(jìn)一步地,當(dāng)控制器收斂時(shí),控制輸入和系統(tǒng)輸出都保持不變,然而由于噪音等影 響,可能導(dǎo)致在估計(jì)負(fù)載特性變化參數(shù)時(shí)出現(xiàn)參數(shù)漂移。圖5示出了在具有穩(wěn)定的呼叫接 收速率和固定的呼叫持續(xù)時(shí)間的應(yīng)用下采用卡爾曼濾波法估計(jì)的負(fù)載特性變化參數(shù)的曲 線,其中圖5(a)是作為工作負(fù)載的業(yè)務(wù)流和所檢測(cè)的負(fù)載接收速率和實(shí)際內(nèi)存使用量的 曲線圖,圖5(b)是所估計(jì)的負(fù)載特性變化參數(shù)a和b的曲線圖。如圖5(a)所示,負(fù)載接收 速率和實(shí)際內(nèi)存使用量在控制器收斂后長(zhǎng)時(shí)間保持不變,而在圖5(b)中,負(fù)載特性變化參 數(shù)a和b沒(méi)有保持固定的值,慢慢地產(chǎn)生了漂移。如果根據(jù)漂移后的負(fù)載特性變化參數(shù)a 和b進(jìn)行增益控制的計(jì)算,則會(huì)降低控制器性能。為了避免由于參數(shù)漂移帶來(lái)的影響,在另一個(gè)實(shí)施例中,在執(zhí)行步驟S310之前, 檢測(cè)工作負(fù)載特性的不變性。例如,可以檢測(cè)負(fù)載接收速率或?qū)嶋H內(nèi)存使用量中任意一個(gè) 的不變性。具體地,首先計(jì)算指定數(shù)量的控制周期內(nèi)的負(fù)載接收速率或?qū)嶋H內(nèi)存使用量的 方差,其中指定數(shù)量可通過(guò)滑動(dòng)窗口的大小確定。然后,判斷所計(jì)算的負(fù)載接收速率的方差 或者實(shí)際內(nèi)存使用量的方差是否超過(guò)相應(yīng)的預(yù)定閾值。當(dāng)負(fù)載接收速率的方差或?qū)嶋H內(nèi)存 使用量的方差超過(guò)相應(yīng)的預(yù)定閾值時(shí),表明負(fù)載接收速率或?qū)嶋H內(nèi)存使用量發(fā)生了變化, 則認(rèn)為工作負(fù)載特性發(fā)生了變化,執(zhí)行步驟S310。也可以既計(jì)算負(fù)載接收速率的方差也計(jì) 算實(shí)際內(nèi)存使用量的方差,僅當(dāng)負(fù)載接收速率的方差和實(shí)際內(nèi)存使用量的方差均分別超過(guò) 相應(yīng)的預(yù)定閾值時(shí),才認(rèn)為工作負(fù)載特性發(fā)生了變化;或者也可以當(dāng)所計(jì)算的負(fù)載接收速 率的方差和實(shí)際內(nèi)存使用量的方差中的任意一個(gè)超過(guò)相應(yīng)的預(yù)定閾值時(shí),就認(rèn)為工作負(fù)載 特性發(fā)生了變化。當(dāng)負(fù)載接收速率的方差和實(shí)際內(nèi)存使用量的方差都沒(méi)有超過(guò)預(yù)定閾值 時(shí),表明負(fù)載接收速率和實(shí)際內(nèi)存使用量都保持不變,則維持當(dāng)前的控制增益不變,而無(wú)需 進(jìn)行反饋控制器的控制增益的計(jì)算。通過(guò)以上描述可以看出,本實(shí)施例的控制應(yīng)用服務(wù)器的負(fù)載接收速率的方法通過(guò) 跟蹤應(yīng)用服務(wù)器的工作負(fù)載特性變化,能夠在工作負(fù)載變化的情況下自適應(yīng)地控制負(fù)載接 收速率,以使應(yīng)用服務(wù)器的實(shí)際內(nèi)存使用量維持或接近目標(biāo)內(nèi)存使用量。本實(shí)施例的方法 并不限于SIP應(yīng)用服務(wù)器或J2EE環(huán)境,只要對(duì)于應(yīng)用服務(wù)器的內(nèi)存系統(tǒng),工作負(fù)載由使應(yīng) 用被執(zhí)行并使用內(nèi)存資源的請(qǐng)求流構(gòu)成,并且內(nèi)存資源在請(qǐng)求被服務(wù)的整個(gè)期間使用之后 回收,則本實(shí)施例的方法即可適用。另外,采用本實(shí)施例的方法,系統(tǒng)管理員只需設(shè)置目標(biāo) 內(nèi)存使用量即可,與現(xiàn)有的內(nèi)存過(guò)載保護(hù)方法相比,配置簡(jiǎn)單方便。圖6是對(duì)于工作負(fù)載為具有固定呼叫持續(xù)時(shí)間400秒的呼叫,分別采用本實(shí)施例 的方法和現(xiàn)有技術(shù)的固定增益PI控制器得到的應(yīng)用服務(wù)器的業(yè)務(wù)量和實(shí)際內(nèi)存使用量的 曲線圖,其中在本實(shí)施例的方法中使用的反饋控制器是比例積分控制器。圖6(a)示出了業(yè) 務(wù)量的曲線圖,其中細(xì)且短的虛線代表采用固定增益PI控制器得到的業(yè)務(wù)量曲線,實(shí)線代 表采用本實(shí)施例的方法得到的業(yè)務(wù)量曲線,粗且長(zhǎng)的虛線代表呼叫到達(dá)速率;圖6(b)示出 了實(shí)際內(nèi)存使用量的曲線圖,其中細(xì)且短的虛線代表采用固定增益PI控制器得到的實(shí)際 內(nèi)存使用量曲線,實(shí)線代表采用本實(shí)施例的方法得到的實(shí)際內(nèi)存使用量曲線,粗且長(zhǎng)的虛 線代表目標(biāo)內(nèi)存使用量。在圖6(a)中,呼叫到達(dá)速率是不斷變化的。在圖6(b)中,假定目 標(biāo)內(nèi)存使用量為0.8。從圖6(a)和圖6(b)中可以看出,由于固定增益PI控制器的增益選擇得很合適,因此,這兩種方式都得到了很好的控制性能,當(dāng)工作負(fù)載變化時(shí),實(shí)際內(nèi)存使 用量能夠迅速地收斂到0. 8,業(yè)務(wù)量在每秒40個(gè)呼叫,只有較小的振蕩。圖7是對(duì)于工作負(fù)載為具有固定呼叫持續(xù)時(shí)間600秒的呼叫,分別采用本實(shí)施例 的方法和現(xiàn)有技術(shù)的固定增益PI控制器得到的應(yīng)用服務(wù)器的業(yè)務(wù)量和實(shí)際內(nèi)存使用量的 曲線圖,其中在本實(shí)施例的方法中使用的反饋控制器是比例積分控制器。圖7(a)示出了業(yè) 務(wù)量的曲線圖,其中細(xì)且短的虛線代表采用固定增益PI控制器得到的業(yè)務(wù)量曲線,實(shí)線代 表采用本實(shí)施例的方法得到的業(yè)務(wù)量曲線,粗且長(zhǎng)的虛線代表呼叫到達(dá)速率;圖7(b)示出 了實(shí)際內(nèi)存使用量的曲線圖,其中細(xì)且短的虛線代表采用固定增益PI控制器得到的實(shí)際 內(nèi)存使用量曲線,實(shí)線代表采用本實(shí)施例的方法得到的實(shí)際內(nèi)存使用量曲線,粗且長(zhǎng)的虛 線代表目標(biāo)內(nèi)存使用量。從圖7(a)和圖7(b)中可以看出,在這種情況下,工作負(fù)載的變化 對(duì)固定增益PI控制器帶來(lái)了很大的影響。相對(duì)長(zhǎng)的呼叫持續(xù)時(shí)間使得固定增益PI控制 器對(duì)于工作負(fù)載的變化反應(yīng)過(guò)度,從而導(dǎo)致了幾乎不穩(wěn)定的狀態(tài),其中實(shí)際內(nèi)存使用量在 0. 4-0. 9之間振蕩,這樣在某些時(shí)間,雖然有空閑的內(nèi)存,但大量的呼叫被拒絕,而在某些時(shí) 間,內(nèi)存幾乎面臨過(guò)載。而采用本實(shí)施例的方法,雖然工作負(fù)載發(fā)生變化,但仍然可以得到 良好的控制性能快速的收斂和較小的振蕩。圖8是對(duì)于工作負(fù)載為混合了四種不同呼叫持續(xù)時(shí)間分布的呼叫,分別采用 本實(shí)施例的方法和現(xiàn)有技術(shù)的固定增益PI控制器得到的應(yīng)用服務(wù)器的業(yè)務(wù)量和實(shí)際 內(nèi)存使用量的曲線圖,其中在本實(shí)施例的方法中使用的反饋控制器是比例積分控制 器。圖8(a)是工作負(fù)載的曲線圖,圖8(b)是業(yè)務(wù)量的曲線圖,其中,實(shí)線代表采用本 實(shí)施例的方法得到的業(yè)務(wù)量曲線,虛線代表采用固定增益PI控制器得到的業(yè)務(wù)量曲 線;圖8(c)是實(shí)際內(nèi)存使用量的曲線圖,其中,實(shí)線代表采用本實(shí)施例的方法得到的 實(shí)際內(nèi)存使用量曲線,細(xì)且短的虛線代表采用固定增益PI控制器得到的實(shí)際內(nèi)存使用 量曲線,粗且長(zhǎng)的虛線代表目標(biāo)內(nèi)存使用量。如圖8(a)所示,該工作負(fù)載混合了四種 不同的呼叫持續(xù)時(shí)間分布并將其以動(dòng)態(tài)的比例交織,這些呼叫持續(xù)時(shí)間分布分別是 600s的固定呼叫持續(xù)時(shí)間arrivalRateConstant (600s) ,400s的固定呼叫持續(xù)時(shí)間 arrivalRateConstant (400s)、對(duì)數(shù)正態(tài)分布 Log-N(12. 28651ms, 1. 0ms)的呼叫持續(xù)時(shí)間 arrivalRateLognormal (12. 28651ms, 1. 0ms)和對(duì)數(shù)正態(tài)分布 Log-N(11. 002ms, 1. 0ms)的 呼叫持續(xù)時(shí)間 arrivalRateLognormal (11. 002ms,1.0ms)。從圖 8(b)禾Π圖 8(c)中可以看 出,固定增益PI控制器只能在某些工作負(fù)載下提供較好的控制,而本實(shí)施例的方法則無(wú)論 工作負(fù)載特性如何變化,應(yīng)用服務(wù)器的業(yè)務(wù)量和實(shí)際內(nèi)存使用量都能夠快速收斂,并且振 蕩較小。這表明反饋控制器能夠很好地跟蹤工作負(fù)載的變化并進(jìn)行相應(yīng)的調(diào)整。圖9示出 了在圖6至圖8所示的三種情況下業(yè)務(wù)量的分析示意圖,其中圖9(a)是三種情況下的平均 業(yè)務(wù)量,圖9(b)是業(yè)務(wù)量峰度。如圖9(a)所示,固定增益PI控制器和本實(shí)施例的方法產(chǎn) 生相似的平均業(yè)務(wù)量,這是因?yàn)楦櫹嗤哪繕?biāo)內(nèi)存使用量。然而,由圖9(b)所示的業(yè)務(wù) 量峰度所量化的業(yè)務(wù)量的變化度則表明本實(shí)施例的方法使得業(yè)務(wù)量更加穩(wěn)定。峰度是對(duì)一 個(gè)分布中峰態(tài)的度數(shù)的測(cè)量,值0對(duì)應(yīng)正態(tài)分布的峰態(tài),正值對(duì)應(yīng)具有較高峰值的更窄的 分布,而負(fù)值表明更平坦的分布。如圖9(b)所示,在圖6的情況中,兩種方式具有相似的行 為。對(duì)于圖7的情況,本實(shí)施例的方法的峰度比固定增益PI控制器的大得多,也就是說(shuō),業(yè) 務(wù)量的振蕩小。對(duì)于圖8的情況,本實(shí)施例的方法的峰度是正值,而固定增益PI控制器的
12峰度是負(fù)值,這表明對(duì)于固定增益控制器,業(yè)務(wù)量有大的振蕩。圖10是在反饋控制器是積分控制器情況下,對(duì)于工作負(fù)載為混合了四種不同呼 叫持續(xù)時(shí)間分布的呼叫,采用本實(shí)施例的方法得到的應(yīng)用服務(wù)器的業(yè)務(wù)量和實(shí)際內(nèi)存使用 量的關(guān)系曲線圖,其中圖10(a)是工作負(fù)載的曲線圖,圖10(b)是業(yè)務(wù)量和實(shí)際內(nèi)存使用量 的曲線圖,圖10(c)是比例控制增益Kp和積分控制增益Ki的曲線圖。如圖10(a)所示,工 作負(fù)載選取了圖8(a)中從65600秒到95600秒的范圍內(nèi)的工作負(fù)載。從圖10(b)中可以 看出,應(yīng)用服務(wù)器的實(shí)際內(nèi)存使用量曲線和業(yè)務(wù)量曲線可以較快地收斂,具有一定的振蕩, 這表明反饋控制器也能較好地跟蹤工作負(fù)載的變化,并進(jìn)行相應(yīng)的調(diào)整。在同一個(gè)發(fā)明構(gòu)思下,圖11是根據(jù)本發(fā)明的一個(gè)實(shí)施例的控制應(yīng)用服務(wù)器的負(fù) 載接收速率的裝置1100的示意性方框圖,其中與前面實(shí)施例相同的部分,適當(dāng)省略其說(shuō) 明。下面結(jié)合附圖,對(duì)本實(shí)施例進(jìn)行詳細(xì)描述。根據(jù)本實(shí)施例的控制應(yīng)用服務(wù)器的負(fù)載接收速率的裝置1100包括檢測(cè)模塊 1101,其檢測(cè)當(dāng)前控制周期中應(yīng)用服務(wù)器的實(shí)際內(nèi)存使用量和負(fù)載接收速率;參數(shù)估計(jì)模 塊1102,其基于檢測(cè)模塊1101所檢測(cè)的實(shí)際內(nèi)存使用量和負(fù)載接收速率,估計(jì)應(yīng)用服務(wù)器 的負(fù)載特性變化參數(shù);增益計(jì)算模塊1103,根據(jù)所估計(jì)的負(fù)載特性變化參數(shù),計(jì)算反饋控 制器的控制增益;以及反饋控制器1104,其利用增益計(jì)算模塊1103所計(jì)算的控制增益,計(jì) 算應(yīng)用服務(wù)器在下一個(gè)控制周期的負(fù)載接收速率。在本實(shí)施例中,檢測(cè)模塊1101在每次全局垃圾回收結(jié)束時(shí)檢測(cè)應(yīng)用服務(wù)器在當(dāng) 前控制周期的負(fù)載接收速率和實(shí)際內(nèi)存使用量,提供給參數(shù)估計(jì)模塊1102進(jìn)行負(fù)載特性 變化參數(shù)的估計(jì)。在參數(shù)估計(jì)模塊1102中,模型建立單元11021建立應(yīng)用服務(wù)器的內(nèi)存使 用模型。所建立的內(nèi)存使用模型將實(shí)際內(nèi)存使用量與負(fù)載接收速率相關(guān)聯(lián),并且其參數(shù)成 為負(fù)載特性變化參數(shù)。如前所述,內(nèi)存使用模型可以采用一階ARMA模型或者二階等更高階 模型。然后,參數(shù)估計(jì)器11022利用該內(nèi)存使用模型和所檢測(cè)的實(shí)際內(nèi)存使用量和負(fù)載接 收速率,估計(jì)該內(nèi)存使用模型的參數(shù)。如前所述,參數(shù)估計(jì)器11022可以使用卡爾曼濾波 法、最小二乘法等線性擬合方法進(jìn)行參數(shù)的估計(jì)。通過(guò)參數(shù)估計(jì)模塊1102得到的負(fù)載特性變化參數(shù)被提供給增益計(jì)算模塊1103, 以計(jì)算反饋控制器1104的控制增益。在本實(shí)施例中,反饋控制器1104采用比例積分控制器,其輸入輸出關(guān)系為Uk = Uk^1+(Κρ+Κ,) * ek-Kp *知,其中,其中,k代表控制周期,ek = r-yk,r代表目標(biāo)內(nèi)存使用量, Yk代表第k個(gè)控制周期的實(shí)際內(nèi)存使用量,Uk代表第k個(gè)控制周期的期望負(fù)載接收速率, Uk^1代表第k-Ι個(gè)控制周期的負(fù)載接收速率,Kp代表比例控制增益,Ki代表積分控制增益。 通過(guò)該反饋控制器804,可以對(duì)應(yīng)用服務(wù)器的負(fù)載接收速率進(jìn)行調(diào)節(jié)。在增益計(jì)算模塊1103中,采用極點(diǎn)配置法設(shè)計(jì)比例控制增益Kp和積分控制增益 Ki。首先,極點(diǎn)確定單元11031根據(jù)所期望的控制性能,例如穩(wěn)定時(shí)間和最大超調(diào)量等,確 定反映該所期望的控制性能的極點(diǎn)位置。然后,計(jì)算單元11032根據(jù)所確定的極點(diǎn)位置和 在參數(shù)估計(jì)模塊1102中得到的負(fù)載特性變化參數(shù),計(jì)算反饋控制器1104的控制增益。如前所述,反饋控制器1104也可以采用比例控制器、積分控制器和比例積分微分 控制器。應(yīng)當(dāng)指出,本實(shí)施例的控制應(yīng)用服務(wù)器的負(fù)載接收速率的裝置1100在操作上可以實(shí)現(xiàn)如圖3所示的使用反饋控制器控制應(yīng)用服務(wù)器的負(fù)載接收速率的方法。進(jìn)一步地,為了避免由于參數(shù)漂移而造成的控制性能下降,本實(shí)施例的控制應(yīng)用 服務(wù)器的負(fù)載接收速率的裝置1100還可以包括方差計(jì)算模塊1105,其計(jì)算指定數(shù)量的負(fù) 載接收速率和/或?qū)嶋H內(nèi)存使用量的方差;以及判斷模塊1106,其判斷所計(jì)算的負(fù)載接收 速率的方差或者實(shí)際內(nèi)存使用量的方差是否超過(guò)預(yù)定閾值。當(dāng)負(fù)載接收速率的方差和實(shí)際 內(nèi)存使用量的方差中的任意一個(gè)超過(guò)預(yù)定閾值時(shí),由增益計(jì)算模塊1103根據(jù)負(fù)載特性變 化參數(shù)計(jì)算反饋控制器1104的控制增益。當(dāng)負(fù)載接收速率的方差和實(shí)際內(nèi)存使用量的方 差都沒(méi)有超過(guò)預(yù)定閾值時(shí),增益計(jì)算模塊1103不進(jìn)行計(jì)算,反饋控制器1104保持當(dāng)前的控 制增益。應(yīng)當(dāng)注意,在本實(shí)施例中,方差計(jì)算模塊1105和判斷模塊1106并不是必需的。此外,還提供了一種應(yīng)用服務(wù)器的控制系統(tǒng),包括至少一個(gè)應(yīng)用服務(wù)器;以及至 少一個(gè)如圖11所示的控制應(yīng)用服務(wù)器的負(fù)載接收速率的裝置,用于控制各自的應(yīng)用服務(wù) 器的負(fù)載接收速率。以上所公開(kāi)的本發(fā)明的方法可以在軟件、硬件、或軟件和硬件的結(jié)合中實(shí)現(xiàn)。硬 件部分可以利用專(zhuān)用邏輯來(lái)實(shí)現(xiàn)。例如,上述實(shí)施例中的對(duì)虛擬機(jī)進(jìn)行內(nèi)存過(guò)載保護(hù)的裝 置及其各個(gè)組成部分可以由諸如超大規(guī)模集成電路或門(mén)陣列、諸如邏輯芯片、晶體管等的 半導(dǎo)體、或者諸如現(xiàn)場(chǎng)可編程門(mén)陣列、可編程邏輯設(shè)備等的可編程硬件設(shè)備的硬件電路實(shí) 現(xiàn),也可以用由各種類(lèi)型的處理器執(zhí)行的軟件實(shí)現(xiàn),也可以由上述硬件電路和軟件的結(jié)合 實(shí)現(xiàn)。軟件部分可以存儲(chǔ)在存儲(chǔ)器中,由適當(dāng)?shù)闹噶顖?zhí)行系統(tǒng),例如微處理器、個(gè)人計(jì)算機(jī) (PC)或大型機(jī)來(lái)執(zhí)行。以上雖然通過(guò)示例性的實(shí)施例詳細(xì)描述了本發(fā)明的控制應(yīng)用服務(wù)器的負(fù)載接收 速率的方法和裝置,但是以上這些實(shí)施例并不是窮舉的,本領(lǐng)域技術(shù)人員可以在本發(fā)明的 精神和范圍內(nèi)實(shí)現(xiàn)各種變化和修改。因此,本發(fā)明并不限于這些實(shí)施例,本發(fā)明的范圍僅由 所附的權(quán)利要求限定。
權(quán)利要求
一種控制應(yīng)用服務(wù)器的負(fù)載接收速率的方法,包括檢測(cè)當(dāng)前控制周期中所述應(yīng)用服務(wù)器的實(shí)際內(nèi)存使用量和負(fù)載接收速率;基于所檢測(cè)的實(shí)際內(nèi)存使用量和負(fù)載接收速率,估計(jì)所述應(yīng)用服務(wù)器的負(fù)載特性變化參數(shù);根據(jù)所述負(fù)載特性變化參數(shù),計(jì)算反饋控制器的控制增益;以及所述反饋控制器利用所計(jì)算的控制增益,計(jì)算所述應(yīng)用服務(wù)器在下一個(gè)控制周期的期望負(fù)載接收速率。
2.根據(jù)權(quán)利要求1所述的方法,其中,所述基于所檢測(cè)的實(shí)際內(nèi)存使用量和負(fù)載接收 速率,估計(jì)所述應(yīng)用服務(wù)器的負(fù)載特性變化參數(shù)的步驟包括建立所述應(yīng)用服務(wù)器的內(nèi)存使用模型,所述內(nèi)存使用模型將實(shí)際內(nèi)存使用量與負(fù)載接 收速率相關(guān)聯(lián),且所述內(nèi)存使用模型的參數(shù)作為所述負(fù)載特性變化參數(shù);以及根據(jù)所檢測(cè)的實(shí)際內(nèi)存使用量和負(fù)載接收速率,估計(jì)所述內(nèi)存使用模型的參數(shù)。
3.根據(jù)權(quán)利要求2所述的方法,其中,所述建立所述應(yīng)用服務(wù)器的內(nèi)存使用模型的步 驟包括將所述內(nèi)存使用模型建立為yk = a * γ,^+b女Uk^1的形式,其中,k代表控制周期, yk、yk-!分別代表第k個(gè)和第k-l個(gè)控制周期的實(shí)際內(nèi)存使用量,Uk^1代表第k-l個(gè)周期的 負(fù)載接收速率,a和b代表負(fù)載特性變化參數(shù)。
4.根據(jù)權(quán)利要求2或3所述的方法,其中,所述估計(jì)負(fù)載特性變化參數(shù)的步驟使用線性 擬合方法。
5.根據(jù)權(quán)利要求4所述的方法,其中,所述線性擬合方法是卡爾曼濾波法。
6.根據(jù)權(quán)利要求1所述的方法,其中,所述反饋控制器是比例控制器。
7.根據(jù)權(quán)利要求6所述的方法,其中,所述反饋控制器利用所計(jì)算的控制增益,計(jì)算所 述應(yīng)用服務(wù)器在下一個(gè)控制周期的期望負(fù)載接收速率包括利用uk = Un+Kp女(e.-e^)計(jì) 算所述期望負(fù)載接收速率,其中,k代表控制周期,ek = r_yk,!·代表目標(biāo)內(nèi)存使用量,yk代 表第k個(gè)控制周期的實(shí)際內(nèi)存使用量,Uk代表第k個(gè)控制周期的期望負(fù)載接收速率,Uk^1代 表第k-l個(gè)控制周期的負(fù)載接收速率,Kp代表比例控制增益。
8.根據(jù)權(quán)利要求1所述的方法,其中,所述反饋控制器是比例積分控制器。
9.根據(jù)權(quán)利要求8所述的方法,其中,所述反饋控制器利用所計(jì)算的控制增益,計(jì)算所 述應(yīng)用服務(wù)器在下一個(gè)控制周期的期望負(fù)載接收速率包括利用uk = Uk^1+(VKi)女ek-Kp 女計(jì)算所述期望負(fù)載接收速率,其中,k代表控制周期,ek = r-yk, r代表目標(biāo)內(nèi)存使用 量,yk代表第k個(gè)控制周期的實(shí)際內(nèi)存使用量,Uk代表第k個(gè)控制周期的期望負(fù)載接收速 率,Uk^1代表第k-l個(gè)控制周期的負(fù)載接收速率,Kp代表比例控制增益,Ki代表積分控制增■、Λfrff. ο
10.根據(jù)權(quán)利要求1所述的方法,其中,所述反饋控制器是積分控制器。
11.根據(jù)權(quán)利要求10所述的方法,其中,所述反饋控制器利用所計(jì)算的控制增益,計(jì)算 所述應(yīng)用服務(wù)器在下一個(gè)控制周期的期望負(fù)載接收速率包括利用Uk = UH+Ki女ek計(jì)算 所述期望負(fù)載接收速率,其中,k代表控制周期,ek = r_yk,!·代表目標(biāo)內(nèi)存使用量,yk代表 第k個(gè)控制周期的實(shí)際內(nèi)存使用量,Uk代表第k個(gè)控制周期的期望負(fù)載接收速率,Uk^1代表 第k-l個(gè)控制周期的負(fù)載接收速率,Ki代表積分控制增益。
12.根據(jù)權(quán)利要求1所述的方法,其中,所述反饋控制器是比例積分微分控制器。
13.根據(jù)權(quán)利要求12所述的方法,其中,所述反饋控制器利用所計(jì)算的控制增益,計(jì)算 所述應(yīng)用服務(wù)器在下一個(gè)控制周期的期望負(fù)載接收速率包括利用uk = u^+^+K.+K,) * ek- (Kp+2Kd) θ,^+Κ,θ^計(jì)算所述期望負(fù)載接收速率,其中,k代表控制周期,ek = r-yk, r代表 目標(biāo)內(nèi)存使用量,yk代表第k個(gè)控制周期的實(shí)際內(nèi)存使用量,Uk代表第k個(gè)控制周期的期 望負(fù)載接收速率,Uk^1代表第k-Ι個(gè)控制周期的負(fù)載接收速率,Kp代表比例控制增益,Ki代 表積分控制增益,Kd代表微分控制增益。
14.根據(jù)權(quán)利要求7、9、11、13任意一項(xiàng)所述的方法,其中,在計(jì)算所述應(yīng)用服務(wù)器在第 k個(gè)控制周期的期望負(fù)載接收速率的步驟中,所述反饋控制器使用所檢測(cè)的第k-Ι個(gè)控制 周期的負(fù)載接收速率。
15.根據(jù)權(quán)利要求6至14任意一項(xiàng)所述的方法,其中,所述計(jì)算控制增益采用極點(diǎn)配置 法,包括以下步驟根據(jù)穩(wěn)定時(shí)間和最大超調(diào)量確定極點(diǎn)位置;以及根據(jù)所述極點(diǎn)位置和所述負(fù)載特性變化參數(shù)計(jì)算所述控制增益。
16.根據(jù)權(quán)利要求1所述的方法,在所述計(jì)算控制增益的步驟之前,還包括計(jì)算指定數(shù)量的控制周期內(nèi)工作負(fù)載特性的方差;判斷所計(jì)算的工作負(fù)載特性的方差是否超過(guò)預(yù)定閾值;如果所計(jì)算的工作負(fù)載特性的方差超過(guò)預(yù)定閾值,則執(zhí)行所述計(jì)算控制增益的步驟; 否則維持所述反饋控制器的當(dāng)前控制增益。
17.—種控制應(yīng)用服務(wù)器的負(fù)載接收速率的裝置,包括檢測(cè)模塊,用于檢測(cè)當(dāng)前控制周期中所述應(yīng)用服務(wù)器的實(shí)際內(nèi)存使用量和負(fù)載接收速率;參數(shù)估計(jì)模塊,用于基于所述檢測(cè)模塊檢測(cè)的實(shí)際內(nèi)存使用量和負(fù)載接收速率,估計(jì) 所述應(yīng)用服務(wù)器的負(fù)載特性變化參數(shù);增益計(jì)算模塊,用于根據(jù)所述負(fù)載特性變化參數(shù),計(jì)算反饋控制器的控制增益;以及反饋控制器,用于利用所述增益計(jì)算模塊計(jì)算的控制增益,計(jì)算所述應(yīng)用服務(wù)器在下 一個(gè)控制周期的期望負(fù)載接收速率。
18.根據(jù)權(quán)利要求17所述的裝置,其中,所述參數(shù)估計(jì)模塊包括模型建立單元,用于建立所述應(yīng)用服務(wù)器的內(nèi)存使用模型,所述內(nèi)存使用模型將實(shí)際 內(nèi)存使用量與負(fù)載接收速率相關(guān)聯(lián),且所述內(nèi)存使用模型的參數(shù)作為所述負(fù)載特性變化參 數(shù);以及參數(shù)估計(jì)器,用于根據(jù)所檢測(cè)的實(shí)際內(nèi)存使用量和負(fù)載接收速率,估計(jì)所述內(nèi)存使用 模型的參數(shù)。
19.根據(jù)權(quán)利要求18所述的裝置,其中,所述模型建立單元所建立的內(nèi)存使用模型采 用yk = a * y^+b * Uk^1的形式,其中,k代表控制周期,yk、Yk^1分別代表第k個(gè)和第k_l 個(gè)控制周期的實(shí)際內(nèi)存使用量,Uk^1代表第k-Ι個(gè)周期的負(fù)載接收速率,a和b代表負(fù)載特 性變化參數(shù)。
20.根據(jù)權(quán)利要求18或19所述的裝置,其中,所述參數(shù)估計(jì)器是使用線性擬合方法的直ο
21.根據(jù)權(quán)利要求20所述的裝置,其中,所述線性擬合方法是卡爾曼濾波法。
22.根據(jù)權(quán)利要求17所述的裝置,其中,所述反饋控制器是比例控制器。
23.根據(jù)權(quán)利要求22所述的裝置,其中,所述比例控制器的輸入輸出關(guān)系為Uk= Uk-JKp * (ek-en),其中,k代表控制周期,ek = r_yk,!·代表目標(biāo)內(nèi)存使用量,yk代表第k個(gè)控制 周期的實(shí)際內(nèi)存使用量,Uk代表第k個(gè)控制周期的期望負(fù)載接收速率,Uk^1代表第k-Ι個(gè)控 制周期的負(fù)載接收速率,Kp代表比例控制增益。
24.根據(jù)權(quán)利要求17所述的裝置,其中,所述反饋控制器是比例積分控制器。
25.根據(jù)權(quán)利要求24所述的裝置,其中,所述比例積分控制器的輸入輸出關(guān)系為Uk= Uk^1+(Κρ+Κ,) * ek-Kp * Θη,其中,k代表控制周期,ek = r-yk,r代表目標(biāo)內(nèi)存使用量,yk代 表第k個(gè)控制周期的實(shí)際內(nèi)存使用量,Uk代表第k個(gè)控制周期的期望負(fù)載接收速率,Uk^1代 表第k-Ι個(gè)控制周期的負(fù)載接收速率,Kp代表比例控制增益,Ki代表積分控制增益。
26.根據(jù)權(quán)利要求17所述的裝置,其中,所述反饋控制器是積分控制器。
27.根據(jù)權(quán)利要求26所述的裝置,其中,所述積分控制器的輸入輸出關(guān)系為Uk= Uk-JKi 女ek,其中,k代表控制周期,ek = r_yk,!·代表目標(biāo)內(nèi)存使用量,yk代表第k個(gè)控制周期的 實(shí)際內(nèi)存使用量,Uk代表第k個(gè)控制周期的期望負(fù)載接收速率,Uk^1代表第k-Ι個(gè)控制周期 的負(fù)載接收速率,Ki代表積分控制增益。
28.根據(jù)權(quán)利要求17所述的裝置,其中,所述反饋控制器是比例積分微分控制器。
29.根據(jù)權(quán)利要求28所述的裝置,其中,所述比例積分微分控制器的輸入輸出關(guān)系為 Uk = Uh+ (WKd) * ek- (Kp+2Kd) Θη+Κα_2,其中,k 代表控制周期,ek = r-yk, r 代表目標(biāo) 內(nèi)存使用量,yk代表第k個(gè)控制周期的實(shí)際內(nèi)存使用量,Uk代表第k個(gè)控制周期的期望負(fù) 載接收速率,Uk^1代表第k-Ι個(gè)控制周期的負(fù)載接收速率,Kp代表比例控制增益,Ki代表積 分控制增益,Kd代表微分控制增益。
30.根據(jù)權(quán)利要求23、25、27、29任意一項(xiàng)所述的裝置,其中,所述反饋控制器在計(jì)算第 k個(gè)控制周期的期望負(fù)載接收速率時(shí),使用所檢測(cè)的第k-Ι個(gè)控制周期的負(fù)載接收速率。
31.根據(jù)權(quán)利要求22至30任意一項(xiàng)所述的裝置,其中,所述增益計(jì)算模塊包括極點(diǎn)確定單元,用于根據(jù)穩(wěn)定時(shí)間和最大超調(diào)量確定極點(diǎn)位置;以及計(jì)算單元,用于根據(jù)所述極點(diǎn)位置和所述負(fù)載特性變化參數(shù)計(jì)算所述控制增益。
32.根據(jù)權(quán)利要求17所述的裝置,還包括方差計(jì)算模塊,用于計(jì)算指定數(shù)量的控制周期內(nèi)工作負(fù)載特性的方差;以及判斷模塊,用于判斷所計(jì)算的工作負(fù)載特性的方差是否超過(guò)預(yù)定閾值;其中,在所計(jì)算的工作負(fù)載特性的方差超過(guò)預(yù)定閾值時(shí),所述增益計(jì)算模塊計(jì)算所述 反饋控制器的控制增益;在所計(jì)算的工作負(fù)載特性的方差沒(méi)有超過(guò)預(yù)定閾值時(shí),維持所述 反饋控制器的當(dāng)前控制增益。
33.一種應(yīng)用服務(wù)器的控制系統(tǒng),包括至少一個(gè)應(yīng)用服務(wù)器;以及至少一個(gè)根據(jù)權(quán)利要求17至32任意一項(xiàng)所述的控制應(yīng)用服務(wù)器的負(fù)載接收速率的裝 置,用于控制各自的應(yīng)用服務(wù)器的負(fù)載接收速率。
全文摘要
公開(kāi)了一種控制應(yīng)用服務(wù)器的負(fù)載接收速率的方法和系統(tǒng)。在該方法中,檢測(cè)當(dāng)前控制周期中應(yīng)用服務(wù)器的實(shí)際內(nèi)存使用量和負(fù)載接收速率;基于所檢測(cè)的實(shí)際內(nèi)存使用量和負(fù)載接收速率,估計(jì)該應(yīng)用服務(wù)器的負(fù)載特性變化參數(shù);并根據(jù)所述負(fù)載特性變化參數(shù),計(jì)算反饋控制器的控制增益;反饋控制器利用所計(jì)算的控制增益,計(jì)算應(yīng)用服務(wù)器在下一個(gè)控制周期的負(fù)載接收速率。通過(guò)跟蹤應(yīng)用服務(wù)器的工作負(fù)載特性變化,能夠自適應(yīng)地控制應(yīng)用服務(wù)器的負(fù)載接收速率,以使應(yīng)用服務(wù)器的實(shí)際內(nèi)存使用量維持或接近目標(biāo)內(nèi)存使用量。另外,系統(tǒng)管理員只需設(shè)置目標(biāo)內(nèi)存使用量即可,與現(xiàn)有的內(nèi)存過(guò)載保護(hù)方法相比,配置簡(jiǎn)單方便。
文檔編號(hào)H04L12/56GK101902295SQ20091014119
公開(kāi)日2010年12月1日 申請(qǐng)日期2009年5月26日 優(yōu)先權(quán)日2009年5月26日
發(fā)明者亞瑟·N·坦塔維, 刁以欣, 吳海珊, 田瑞雄, 胡曉磊, 邁克爾·斯普利特澤 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司