專利名稱:用于在分布式計(jì)算環(huán)境中在競爭服務(wù)當(dāng)中分配存儲(chǔ)器的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及分布式計(jì)算網(wǎng)絡(luò),并且尤其是涉及用于在分布式計(jì)算環(huán)境中在競爭服務(wù)當(dāng)中分配存儲(chǔ)器的編程技術(shù),以便能夠從存儲(chǔ)器分配中獲得最大好處(例如,改善客戶機(jī)響應(yīng)時(shí)間)。
背景技術(shù):
在很大程度上由于公眾Internet及其被稱為″萬維網(wǎng)″(WorldWide Web,或者簡單地稱為″Web″)的子集的逐漸發(fā)展的業(yè)務(wù)和用戶使用,近年來分布式計(jì)算網(wǎng)絡(luò)和網(wǎng)絡(luò)計(jì)算的普及性已經(jīng)極大地增加了。其它類型的分布式計(jì)算網(wǎng)絡(luò)、諸如公司企業(yè)內(nèi)部局域網(wǎng)和外聯(lián)網(wǎng)也越來越普及。由于解決方案供應(yīng)商致力于提供改善的基于web的計(jì)算,所以許多被開發(fā)的解決方案適合于其它分布式計(jì)算環(huán)境。因此,在此為了說明起見而非限制,提及了Internet和Web。
然而早期的Internet主要是用作一個(gè)其中人類用戶能夠請求傳送已經(jīng)生成的靜態(tài)文檔的分布式文件系統(tǒng),但是近年來已經(jīng)向服務(wù)于請求者的內(nèi)容中增加了越來越動(dòng)態(tài)的和個(gè)性化的方面。然而,許多動(dòng)態(tài)生成的文檔也包括靜態(tài)內(nèi)容、諸如表單、圖形圖像、聲音文件、及其它類型的嵌入對象。(因此,在此討論主要是就已經(jīng)生成的靜態(tài)內(nèi)容而言,但是同樣可以應(yīng)用于被包含在動(dòng)態(tài)生成的文檔或者其它類型的動(dòng)態(tài)生成的內(nèi)容中的靜態(tài)內(nèi)容。)在為一個(gè)內(nèi)容請求提供服務(wù)中涉及的對象數(shù)目可以在從一個(gè)存儲(chǔ)對象到相對大量數(shù)目的對象(常常,大約數(shù)十個(gè)對象)的范圍中變化。(術(shù)語“存儲(chǔ)的對象”和“對象”在此可交換地使用以指被存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)上的一個(gè)對象或者文件--或者有時(shí)可以是在一個(gè)以上的存儲(chǔ)介質(zhì)之間分布的一個(gè)對象或者文件。應(yīng)當(dāng)注意,在此對對象的引用不能被看作是把本發(fā)明限制到面向?qū)ο缶幊痰念I(lǐng)域。此外,意圖使在此使用的術(shù)語“內(nèi)容”與一個(gè)或多個(gè)對象或者文件是同義的,除非引用環(huán)境另有所指。)雖然可編程地生成某些內(nèi)容請求,但是許多內(nèi)容請求讓人類用戶等待響應(yīng)。因此對用戶滿意度和網(wǎng)站的整體成功而言,快速和有效地返回響應(yīng)是關(guān)鍵性的。
在其中托管(host)許多服務(wù)的Web托管或者服務(wù)供應(yīng)商環(huán)境中,被托管的服務(wù)處于對可用的稀有(即有限的)資源、諸如中央處理單元(“CPU”)時(shí)間、存儲(chǔ)資源和存儲(chǔ)器的競爭中。所期望的是協(xié)調(diào)系統(tǒng)以便使每個(gè)被托管的服務(wù)對那些資源有一個(gè)適當(dāng)量的訪問,從而允許服務(wù)集合作為一個(gè)整體向它們的用戶提供最佳的響應(yīng)。因此當(dāng)在服務(wù)當(dāng)中分配存儲(chǔ)器以用作高速緩存空間時(shí),所希望的是確定哪個(gè)服務(wù)將從這個(gè)資源分配中獲得最多好處。
如本領(lǐng)域中眾所周知的那樣,高速緩存技術(shù)減少了達(dá)到Web服務(wù)器的請求的數(shù)目,借此改善了響應(yīng)時(shí)間(并且還減小了從高速緩存向上游的設(shè)備的處理負(fù)載)。當(dāng)內(nèi)容不能從高速緩存中被服務(wù)時(shí),內(nèi)容請求到達(dá)Web服務(wù)器。這通常被稱為“高速緩存未中”,然而找到能夠從高速緩存中被服務(wù)的內(nèi)容被稱為“高速緩存命中”。
“高速緩存命中率”被定義為對在高速緩存中的對象的引用數(shù)目除以對所有對象的引用總數(shù)。(對于本發(fā)明,高速緩存命中率最好針對由Web托管環(huán)境提供的每個(gè)特殊服務(wù)來表示。)典型的高速緩存替換算法設(shè)法使高速緩存命中率最大化(或許具有某些用于考慮替換某些被高速緩存的對象的成本、以及針對高速緩存命中率改善而平衡這個(gè)成本的警告)。
由于從存儲(chǔ)器中檢索對象的成本增加,所以對高速緩存未中的對象來說響應(yīng)時(shí)間較長。如果相對于其它托管的服務(wù)來說,用于一個(gè)特定服務(wù)“S”的高速緩存命中率低(即,有大量的高速緩存未中),則所希望的可能是為高速緩存服務(wù)S的對象分配更多的存儲(chǔ)器,由此減少用于服務(wù)S的客戶機(jī)請求的響應(yīng)時(shí)間。
因此,需要的是改善的用于在分布式計(jì)算環(huán)境中在競爭的服務(wù)當(dāng)中為高速緩存存儲(chǔ)空間分配存儲(chǔ)器的技術(shù)。
發(fā)明內(nèi)容
本發(fā)明的一個(gè)目的是提供用于在分布式計(jì)算環(huán)境中在競爭的服務(wù)當(dāng)中為高速緩存存儲(chǔ)空間分配存儲(chǔ)器的新技術(shù)。
本發(fā)明的另一個(gè)目的是基于服務(wù)特定的行為特性在多個(gè)服務(wù)當(dāng)中編程地分配存儲(chǔ)器。
本發(fā)明還有另一個(gè)目的是把服務(wù)級(jí)協(xié)定承諾(commitment)結(jié)合到存儲(chǔ)器分配處理過程中。
本發(fā)明的其它目的和優(yōu)點(diǎn)有部分將在隨后的說明書和附圖中被闡明,而有部分從說明書中將會(huì)是顯而易見的,或者可以通過本發(fā)明的實(shí)踐獲知。
為了實(shí)現(xiàn)上述目的,并且依據(jù)在此廣泛描述的本發(fā)明的目的,本發(fā)明提供了用于在分布式計(jì)算環(huán)境中在競爭的服務(wù)當(dāng)中分配存儲(chǔ)器的方法、系統(tǒng)、和計(jì)算機(jī)程序產(chǎn)品。在一個(gè)方面,分配了附加的存儲(chǔ)器。在最佳實(shí)施例中,這種技術(shù)包含為多個(gè)競爭服務(wù)中的特定的每一個(gè)確定一個(gè)平均的每一請求的客戶機(jī)響應(yīng)時(shí)間的公式;計(jì)算每一個(gè)平均的每一請求的客戶機(jī)響應(yīng)時(shí)間公式的導(dǎo)數(shù);為每一個(gè)計(jì)算的導(dǎo)數(shù)計(jì)算直線的斜率;以及根據(jù)為該競爭服務(wù)而計(jì)算的斜率選擇用于分配附加存儲(chǔ)器的競爭服務(wù)中的一個(gè)。所選擇的一個(gè)競爭服務(wù)最好是為其計(jì)算的斜率具有最大值的那個(gè)服務(wù)。
最好是,平均的每一請求的客戶機(jī)響應(yīng)時(shí)間公式通過以下步驟確定確定用于處理特定服務(wù)的請求的平均CPU時(shí)間;確定用于特定服務(wù)的請求的平均存儲(chǔ)器響應(yīng)時(shí)間;為該特定服務(wù)確定一個(gè)估算的高速緩存命中率;為該特定服務(wù)計(jì)算一個(gè)估算的高速緩存未中率為(1-用于該特定服務(wù)的估算的高速緩存命中率);把用于特定服務(wù)的估算的高速緩存未中率乘以用于特定服務(wù)的平均存儲(chǔ)器響應(yīng)時(shí)間,產(chǎn)生一個(gè)用于該特定服務(wù)的響應(yīng)時(shí)間分量;以及把用于特定服務(wù)的平均CPU時(shí)間和用于特定服務(wù)的響應(yīng)時(shí)間分量相加,由此獲得用于該特定服務(wù)的平均每一請求客戶機(jī)響應(yīng)時(shí)間公式。在最佳實(shí)施例中,估算的高速緩存命中率是以特定服務(wù)的類似Zipf的分布函數(shù)為基礎(chǔ)的。
該技術(shù)可以進(jìn)一步包含根據(jù)與為其計(jì)算斜率的特定服務(wù)有關(guān)的一個(gè)或多個(gè)服務(wù)級(jí)協(xié)定加權(quán)計(jì)算的斜率以反映響應(yīng)時(shí)間承諾。
在另一個(gè)方面中,重新分配已經(jīng)分配了的存儲(chǔ)器。在最佳實(shí)施例中,這種技術(shù)包含為多個(gè)競爭服務(wù)中的特定的每一個(gè)確定一個(gè)平均每一請求客戶機(jī)響應(yīng)時(shí)間公式;計(jì)算每一個(gè)平均每一請求客戶機(jī)響應(yīng)時(shí)間公式的導(dǎo)數(shù);為每一個(gè)計(jì)算的導(dǎo)數(shù)計(jì)算直線斜率;選擇競爭服務(wù)中的第一個(gè)用于分配附加的存儲(chǔ)器;選擇競爭服務(wù)中的第二個(gè)用于解除分配已經(jīng)分配的存儲(chǔ)器;以及從第二競爭服務(wù)中解除分配一部分的已分配的存儲(chǔ)器,并且重新分配那個(gè)部分到第一競爭服務(wù)。
最好是,第一競爭服務(wù)是競爭服務(wù)中為其計(jì)算的斜率具有最大值的那個(gè)競爭服務(wù),而第二競爭服務(wù)是競爭服務(wù)中為其計(jì)算的斜率具有最小值的那個(gè)競爭服務(wù)。
重新分配可以由例如、在對第一競爭服務(wù)的客戶機(jī)請求的到達(dá)率中的增加來觸發(fā)。
在這個(gè)方面,確定平均每一請求客戶機(jī)響應(yīng)時(shí)間公式最好是與第一方面中的方法相似。類似地,估算的高速緩存命中率最好是以特定服務(wù)的類似Zipf的分布函數(shù)為基礎(chǔ),并且這個(gè)方面可以選擇性地包括根據(jù)與為其計(jì)算斜率的特定服務(wù)有關(guān)的一個(gè)或多個(gè)服務(wù)級(jí)協(xié)定加權(quán)計(jì)算的斜率以反映響應(yīng)時(shí)間承諾。
本發(fā)明也可以在經(jīng)營商業(yè)的方法中被有益地使用,例如通過提供其中以改善的方式管理存儲(chǔ)器分配的改善的系統(tǒng)和/或服務(wù)。Web托管服務(wù)供應(yīng)商可以向他們的客戶提供這個(gè)改善的存儲(chǔ)器分配以在市場中處于競爭優(yōu)勢。這種經(jīng)營商業(yè)的方法最好是進(jìn)一步包含為多個(gè)競爭服務(wù)中的特定的每一個(gè)確定一個(gè)平均每一請求客戶機(jī)響應(yīng)時(shí)間公式;計(jì)算每一個(gè)平均每一請求客戶機(jī)響應(yīng)時(shí)間公式的導(dǎo)數(shù);為每一個(gè)計(jì)算的導(dǎo)數(shù)計(jì)算直線斜率;當(dāng)將要分配附加的存儲(chǔ)器時(shí),執(zhí)行根據(jù)為那個(gè)競爭服務(wù)計(jì)算的斜率、選擇競爭服務(wù)中的一個(gè)用于分配附加存儲(chǔ)器的步驟;以及當(dāng)將要重新分配已經(jīng)分配了的存儲(chǔ)器時(shí),執(zhí)行以下步驟選擇競爭服務(wù)中的第一個(gè)用于分配附加的存儲(chǔ)器;選擇競爭服務(wù)中的第二個(gè)用于解除分配已經(jīng)分配的存儲(chǔ)器;以及從第二競爭服務(wù)中解除分配一部分已經(jīng)分配的存儲(chǔ)器,并且重新分配那個(gè)部分到第一競爭服務(wù)。
下面將結(jié)合下列附圖對本發(fā)明進(jìn)行描述,其中相似的附圖標(biāo)記自始至終表示相同的元件。
圖1提供了一個(gè)圖表,其舉例說明了依據(jù)現(xiàn)有技術(shù)、不同Zipfα(alpha)系數(shù)值下的幾個(gè)類似Zipf的普及性分布曲線;圖2是改變了α系數(shù)值的類似Zipf分布的高速緩存命中率的圖表;以及圖3A-3C提供了在確定存儲(chǔ)器分配時(shí)由最佳實(shí)施例使用的等式。
具體實(shí)施例方式
本發(fā)明提供了用于在分布式計(jì)算環(huán)境中在競爭的服務(wù)當(dāng)中為高速緩存存儲(chǔ)空間自主分配存儲(chǔ)器的新技術(shù)。利用高速緩存命中率和客戶機(jī)響應(yīng)時(shí)間的已知(或者推導(dǎo)出的)公式,采用Web請求流的已知特性,來創(chuàng)建一個(gè)目標(biāo)函數(shù)(即,提供目標(biāo)地(objectively)計(jì)算的值的函數(shù))。這個(gè)目標(biāo)函數(shù)允許在競爭服務(wù)當(dāng)中最大化存儲(chǔ)器分配的好處,其中該存儲(chǔ)器將被用于高速緩存服務(wù)中的對象。特別地,目標(biāo)函數(shù)是客戶機(jī)響應(yīng)時(shí)間的導(dǎo)數(shù)。在計(jì)算這個(gè)導(dǎo)數(shù)時(shí),其響應(yīng)時(shí)間圖表具有最高斜率的那個(gè)服務(wù)被確定為通過為高速緩存的對象增加更多存儲(chǔ)器而受益最多。
依據(jù)最佳實(shí)施例,客戶機(jī)響應(yīng)時(shí)間被計(jì)算為每一請求的平均CPU時(shí)間加上每一請求的平均存儲(chǔ)器響應(yīng)時(shí)間。(在替換實(shí)施例中,網(wǎng)絡(luò)響應(yīng)時(shí)間能夠被認(rèn)為是充分的,但是由于該參數(shù)沒有受到存儲(chǔ)器分配的影響并且不能通過分配判定控制,所以它已經(jīng)從最佳實(shí)施例的公式中省略掉了。)令“R”表示用于一個(gè)特定服務(wù)的請求的平均客戶機(jī)響應(yīng)時(shí)間,“RC”表示對該服務(wù)的每一請求的平均CPU時(shí)間。用于確定平均每一請求CPU時(shí)間的技術(shù)在本領(lǐng)域中是已知的,并且沒有形成本發(fā)明的新構(gòu)思的一部分。因此,任何適當(dāng)?shù)腃PU時(shí)間估算函數(shù)都可以被用來計(jì)算RC。(最好是,CPU被建模作為一個(gè)基本的排隊(duì)中心。)下面將描述最佳實(shí)施例計(jì)算平均存儲(chǔ)器響應(yīng)時(shí)間的方式。
假定一個(gè)客戶機(jī)請求以λ(lambda)速率到達(dá)的分布,則將直接從高速緩存中服務(wù)這些請求中的某一些。(λ的值最好是通過估算在一段時(shí)間內(nèi)一個(gè)服務(wù)的請求流來確定。)沒有從高速緩存中被服務(wù)的那些請求將以“λS”速率到達(dá)存儲(chǔ)器處理系統(tǒng)。令“RS”表示用于處理一個(gè)請求的存儲(chǔ)器響應(yīng)時(shí)間。注意,如果一個(gè)特定請求是針對一個(gè)被保存在高速緩存中的對象的,則RS的值為零(即,沒有必要訪問存儲(chǔ)器)。否則,對那些未被保存在高速緩存中的對象來說,在高速緩存未中時(shí)從存儲(chǔ)器中檢索該對象的成本由公式RS=[DS/(1-λSDS)]表示,其中“ DS”是平均每一請求從存儲(chǔ)器的傳送時(shí)間。
為了為一個(gè)特定服務(wù)計(jì)算總的平均存儲(chǔ)器響應(yīng)時(shí)間,必須確定該服務(wù)的多少個(gè)對象將被高速緩存(或者,相反地,多少個(gè)對象將遭遇高速緩存未中,為其請求存儲(chǔ)器檢索)。下面將描述用來由最佳實(shí)施例實(shí)現(xiàn)的新技術(shù)。
依據(jù)各種研究,Web請求流(即,由客戶機(jī)傳輸?shù)恼埱罅?通常遵循一個(gè)被稱為“齊夫(Zipf)分布”(或者“類似Zipf”分布)的非常清楚的統(tǒng)計(jì)分布模型,這是一個(gè)已知的特性。Zipf分布是一種特殊的分布模型,其中分布的雙對數(shù)繪制圖(即,其中使用對數(shù)刻度、而不是線性刻度表示X軸和Y軸)成一條直線。通常在繪制對象普及性時(shí)會(huì)觀察到Zipf分布。
在請求對象的環(huán)境中,對α的某些值來說,Zipf分布是其中對某一對象“O”的請求的概率PX與值[1/(X**α)]成正比的分布。在這個(gè)表達(dá)式中,“X”表示對象的排名(rank),而α(alpha)是Zipf系數(shù)值。例如,如果對象O是總共1,000個(gè)對象當(dāng)中的第五個(gè)最普及的對象,則X=5,并且對這個(gè)對象的一個(gè)給定的入站(inbound)請求的概率是[1/(5**α)]。另一方面,對最不普及的對象(具有排名X=1,000)的一個(gè)給定請求的概率是非常低的[1/1,000**α]]。α的值將隨不同的服務(wù)而改變,并且通常將在0.5和某些小數(shù)諸如1.1之間。對最普及對象具備很高的參考位置的服務(wù)具有一個(gè)相對高的α值;另一方面,當(dāng)對象請求在全部對象總數(shù)上更均勻分布時(shí),服務(wù)將具有一個(gè)較低的α值。因此,α的值確定了對該服務(wù)的Zipf分布曲線的形狀。
圖1舉例說明了用于3個(gè)不同α值、即0.7、0.9、和1.1的類似Zipf的分布。在這個(gè)圖表中,已經(jīng)沿著Y軸繪制了一個(gè)對象的相對普及性,而且已經(jīng)沿著X軸繪制了該對象的排名(即,對象落在最多被請求的對象序列內(nèi)的什么位置)。當(dāng)對象普及性呈現(xiàn)Zipf分布時(shí),象在一個(gè)普通的網(wǎng)站中那樣,通常有少量每個(gè)都接收非常大量的請求(諸如通用搜索引擎的主頁)的對象,大量每個(gè)都接收非常小量的請求(諸如相對不著名的或者不普及的Web頁面)的對象,和大量接收中等數(shù)量請求的對象。(在某些情況下,“不普及的”(unpopular)對象的數(shù)目小于接收中等數(shù)量請求的對象的數(shù)目;在其它情況下,不普及的對象的數(shù)目可以是很大的。)接收非常大量的請求的對象在相對普及性方面排名最高,并且因此具有較高的普及性值(繪制在Y軸上)和較低的對象排名(其中最普及的對象具有排名=1,沿著X軸繪制)。這些對象被表示在圖1中的曲線的左上部??瓷先ハ笠粋€(gè)相對平的“尾部”的曲線的右下部分表示具有較低普及性并且因此具有較高對象排名的對象。
討論在分布式計(jì)算環(huán)境中內(nèi)容請求的類似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”。
如前所述,高速緩存命中率是通過把用于一特定服務(wù)的高速緩存命中的數(shù)目除以用于該服務(wù)的對象引用的總數(shù)而計(jì)算的。為了編程地確定存儲(chǔ)器分配,用于一特定服務(wù)的一個(gè)估算高速緩存命中率可以被用來代替一個(gè)觀察的高速緩存命中率,以便預(yù)測向一個(gè)服務(wù)的對象高速緩存分配附加存儲(chǔ)器的影響。依據(jù)本發(fā)明的最佳實(shí)施例,這個(gè)估算的高速緩存命中率是使用該服務(wù)的請求流中的對象總數(shù)(“T”)、分配給這個(gè)服務(wù)的高速緩存的大小(“M”,用對象表示)、和用于該服務(wù)的請求流的αZipf值來計(jì)算的。(T的值可以通過在某一時(shí)間段上分析該服務(wù)的請求流來確定。)對于給定的高速緩存大小M,最佳實(shí)施例假定該服務(wù)的“M”個(gè)最普及的對象被保存在高速緩存中。即,為了便于分析,假定了一個(gè)“理想的”高速緩存替換算法。因此將只對具有普及性排名為(M+1)到T的對象發(fā)生高速緩存未中。在更詳細(xì)地討論用于估算高速緩存命中率的公式之前,下面將描述一個(gè)高速緩存命中率圖表的例子。
圖2描述了α系數(shù)值變化下的類似Zipf分布的高速緩存命中率的圖表(其中這些α值對應(yīng)于在創(chuàng)建圖1中的分布曲線時(shí)使用的那些值)。在圖2中的Y軸繪制了高速緩存命中率“H”,而X軸繪制了對象高速緩存的大小(即,適于該高速緩存的對象數(shù)目--為了便于分析,假定對象具有統(tǒng)一的大小)。如其中所示,隨著分配給一個(gè)服務(wù)的高速緩存的數(shù)量增加了,高速緩存命中率也增加了(直至一個(gè)點(diǎn))。而且如早先討論的那樣,由于能夠直接從高速緩存中服務(wù)于更多請求,所以增加高速緩存命中率將減少整個(gè)客戶機(jī)響應(yīng)時(shí)間。
參見圖2,就一個(gè)給定的服務(wù)來說,最佳實(shí)施例中的高速緩存命中率估算算法基于把在曲線下直至在X軸上的某一點(diǎn)“M”的面積除以在曲線下(表示點(diǎn)“T”)的總面積。這個(gè)算法如圖3A所示。該算法可以被簡化為如圖3B所示的容易解答的、等效的閉合形式的算法。這個(gè)算法中的分子[1-(M**(1-α))]表示高速緩存命中,而分母[1-(T**(1-α))]表示對象請求總數(shù)。生成的值“H”是估算的高速緩存命中率。
因此,估算的高速緩存未中率可以被表示為(1-H)。把這個(gè)估算的高速緩存未中率乘以先前討論的值“RS”(表示存儲(chǔ)器響應(yīng)時(shí)間),生成用于一個(gè)特定服務(wù)的總的平均存儲(chǔ)器響應(yīng)時(shí)間。再加上平均每一請求的CPU時(shí)間“Rc”,給出了對該服務(wù)的每一請求的平均客戶機(jī)響應(yīng)時(shí)間。這個(gè)等式如圖3C所示(以未展開的形式)。
如圖3C所示的客戶機(jī)響應(yīng)時(shí)間等式提供了由本發(fā)明中的最佳實(shí)施例使用以確定哪個(gè)服務(wù)應(yīng)當(dāng)接收附加的存儲(chǔ)器分配的目標(biāo)函數(shù)。利用這個(gè)等式的導(dǎo)數(shù),(客戶機(jī)響應(yīng)時(shí)間的)直線斜率指示哪個(gè)服務(wù)將通過在高速緩存中增加一個(gè)更多對象而受益更多。當(dāng)比較服務(wù)時(shí),其導(dǎo)數(shù)函數(shù)具有最大斜率的那個(gè)服務(wù)是將從附加的存儲(chǔ)器中受益更多的那一個(gè)服務(wù)。使用這種方法,能夠很容易地確定在競爭服務(wù)當(dāng)中的有利的存儲(chǔ)器分配方案。
當(dāng)有將要被最新分配的額外(未使用的)存儲(chǔ)器時(shí),和/或當(dāng)決定是否從一個(gè)服務(wù)中解除分配存儲(chǔ)器和向另一個(gè)服務(wù)重新分配該存儲(chǔ)器(例如,當(dāng)在該服務(wù)的客戶機(jī)請求到達(dá)率增加某個(gè)可配置的閾值時(shí)),在此公開的目標(biāo)函數(shù)可以被有利地使用。因此,在此對存儲(chǔ)器分配的引用被認(rèn)為是包括存儲(chǔ)器再分配。在重新分配的情況下,最好是從在客戶機(jī)響應(yīng)時(shí)間圖表中具有最小斜率的那個(gè)服務(wù)中解除分配存儲(chǔ)器。
最好是,以可配置的間隔(諸如每30秒)執(zhí)行存儲(chǔ)器分配計(jì)算。
在可選的方面中,存儲(chǔ)器分配計(jì)算還考慮在用于被托管的服務(wù)的服務(wù)級(jí)別協(xié)定(SLA)中指定的響應(yīng)時(shí)間承諾。SLA通常由網(wǎng)絡(luò)服務(wù)供應(yīng)商使用以定義他們對他們的客戶的契約服務(wù)義務(wù)。在SLA中指定的一個(gè)共用參數(shù)是響應(yīng)時(shí)間承諾,借此向客戶保證對于各類網(wǎng)絡(luò)可訪問服務(wù)的請求將在某個(gè)平均經(jīng)過時(shí)間內(nèi)和/或在某個(gè)最大經(jīng)過時(shí)間內(nèi)完成。如果服務(wù)義務(wù)沒有被滿足,則客戶可以有資格減少應(yīng)付給服務(wù)供應(yīng)商的費(fèi)用。服務(wù)供應(yīng)商因此被高度地激勵(lì)以符合在他們的SLA中的承諾。
SLA可以使用一種分層方法表示響應(yīng)時(shí)間承諾。例如,SLA中的條款可以規(guī)定,如果平均響應(yīng)時(shí)間落在第一范圍內(nèi),則一個(gè)客戶將為被服務(wù)的每個(gè)客戶機(jī)請求向服務(wù)供應(yīng)商支付金額“X”,如果平均響應(yīng)時(shí)間被減少到落在第二(更快的)范圍內(nèi),則將支付超過X的金額(例如,百分之20的獎(jiǎng)賞)??梢栽谝粋€(gè)特定的SLA中定義一個(gè)以上的這種“獎(jiǎng)賞定價(jià)”等級(jí)。
因此,當(dāng)確定在競爭服務(wù)當(dāng)中如何分配存儲(chǔ)器時(shí),以上所述的等式可以被修改為在各種服務(wù)的SLA承諾中的系數(shù)。例如,用于服務(wù)“A”的SLA可以規(guī)定這個(gè)客戶將為一個(gè)給定響應(yīng)時(shí)間承諾支付金額“Y”,而用于服務(wù)“B”的SLA規(guī)定這個(gè)客戶將為同樣的響應(yīng)時(shí)間承諾支付Y*2的金額。因此服務(wù)供應(yīng)商可以考慮它在決定哪個(gè)服務(wù)應(yīng)當(dāng)接收附加的存儲(chǔ)器時(shí)提供各種響應(yīng)時(shí)間的收益;尤其是,如果在估計(jì)客戶機(jī)響應(yīng)時(shí)間等式的導(dǎo)數(shù)時(shí)一個(gè)以上的服務(wù)具有幾乎相同的斜率,則承諾為改善的響應(yīng)時(shí)間支付更高費(fèi)用的該服務(wù)可以被稱作“勝局(tie-breaker)”。最好是使用一個(gè)加權(quán)處理以在存儲(chǔ)器分配處理過程中反映這些差別。
象已經(jīng)論證的那樣,本發(fā)明提供了有利的、用于在分布式計(jì)算環(huán)境中在競爭的服務(wù)當(dāng)中為高速緩沖存儲(chǔ)分配存儲(chǔ)器的技術(shù)。公開的技術(shù)允許最大化存儲(chǔ)器分配的好處。選擇性地,如已經(jīng)描述的那樣,來自SLA的信息可以在決定如何最好地分配存儲(chǔ)器時(shí)使用。
公開的技術(shù)還可以被用來執(zhí)行經(jīng)營商業(yè)的改善方法。例如,Web托管系統(tǒng)可以使用公開的技術(shù)以便以一種改善的方式管理存儲(chǔ)器分配。
如本領(lǐng)域技術(shù)人員將會(huì)理解的那樣,本發(fā)明中的實(shí)施例被提供為方法、系統(tǒng),或者計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可以采用完全硬件實(shí)施例、完全軟件實(shí)施例、或者組合軟件和硬件方面的的形式。此外,本發(fā)明可以采用被包含在一個(gè)或多個(gè)計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光存儲(chǔ)器、等)上的計(jì)算機(jī)程序產(chǎn)品的形式,其中該計(jì)算機(jī)可用存儲(chǔ)介質(zhì)在其中包含有計(jì)算機(jī)可用的程序代碼。
已經(jīng)依據(jù)本發(fā)明的實(shí)施例、結(jié)合方法、裝置(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程圖說明和/或方框圖對本發(fā)明進(jìn)行了描述。應(yīng)當(dāng)理解該流程圖說明和/或方框圖中的每一塊,以及該流程圖說明和/或方框圖中的塊的組合,都能夠由計(jì)算機(jī)程序指令實(shí)現(xiàn)。這些計(jì)算機(jī)程序指令可以被提供給一個(gè)通用計(jì)算機(jī)的一個(gè)處理器、專用計(jì)算機(jī)、嵌入式處理器、或者其它可編程的數(shù)據(jù)處理設(shè)備以生成一個(gè)機(jī)器,以便使經(jīng)由計(jì)算機(jī)的處理器或者其它可編程數(shù)據(jù)處理設(shè)備執(zhí)行的指令,創(chuàng)建用于實(shí)現(xiàn)在流程圖及/或方框圖的一個(gè)或者多個(gè)塊中指定的功能的裝置。
這些計(jì)算機(jī)程序指令還可以被保存在一個(gè)能夠引導(dǎo)一個(gè)計(jì)算機(jī)或者其它可編程數(shù)據(jù)處理設(shè)備以一種特定方式起作用的計(jì)算機(jī)可讀存儲(chǔ)器中,以便使保存在計(jì)算機(jī)可讀存儲(chǔ)器中的指令生成這么一件產(chǎn)品,該產(chǎn)品包含實(shí)現(xiàn)了在該流程圖及/或方框圖的一個(gè)或者多個(gè)塊中指定的功能的指令裝置。
該計(jì)算機(jī)程序指令還可以被加載到一個(gè)計(jì)算機(jī)或者其它可編程數(shù)據(jù)處理設(shè)備上,以引起在該計(jì)算機(jī)或者其它可編程裝置上執(zhí)行一系列操作步驟,以產(chǎn)生一個(gè)計(jì)算機(jī)實(shí)現(xiàn)的處理過程,以便使在該計(jì)算機(jī)或者其它可編程裝置上執(zhí)行的指令提供了用于實(shí)現(xiàn)在該流程圖及/或方框圖的一個(gè)或者多個(gè)塊中指定的功能的步驟。
雖然已經(jīng)描述了本發(fā)明的最佳實(shí)施例,但是對本領(lǐng)域技術(shù)人員來說一旦他們獲悉了基本的發(fā)明構(gòu)思就可以想到在那些實(shí)施例中進(jìn)行額外的變化和修改。因此,意圖是使附加的權(quán)利要求應(yīng)當(dāng)被解釋為包括最佳實(shí)施例和所有屬于本發(fā)明的精神和范圍之內(nèi)的這種變化和修改。
權(quán)利要求
1.一種在分布式計(jì)算環(huán)境中在多個(gè)競爭服務(wù)當(dāng)中分配存儲(chǔ)器的方法,包含以下步驟為多個(gè)競爭服務(wù)中的每個(gè)特定服務(wù)確定一個(gè)平均的每一請求客戶機(jī)響應(yīng)時(shí)間公式;計(jì)算每個(gè)平均的每一請求客戶機(jī)響應(yīng)時(shí)間公式的導(dǎo)數(shù);為每個(gè)計(jì)算出的導(dǎo)數(shù)計(jì)算直線斜率;以及根據(jù)計(jì)算出用于該競爭服務(wù)的斜率,選擇競爭服務(wù)中的一個(gè)進(jìn)行附加存儲(chǔ)器的分配。
2.如權(quán)利要求1所述的方法,其特征在于確定一個(gè)平均的每一請求客戶機(jī)響應(yīng)時(shí)間公式的步驟進(jìn)一步包含以下步驟確定用于處理該特定服務(wù)的多個(gè)請求的平均中央處理單元(“CPU”)時(shí)間;為該特定服務(wù)的多個(gè)請求確定平均存儲(chǔ)器響應(yīng)時(shí)間;為該特定服務(wù)確定一個(gè)估算高速緩存命中率;將該特定服務(wù)的估算高速緩存未中率計(jì)算為(1-該特定服務(wù)的估算高速緩存命中率);把該特定服務(wù)的估算高速緩存未中率乘以該特定服務(wù)的平均存儲(chǔ)器響應(yīng)時(shí)間,產(chǎn)生一個(gè)用于該特定服務(wù)的響應(yīng)時(shí)間分量;以及把用于該特定服務(wù)的平均CPU時(shí)間和用于該特定服務(wù)的響應(yīng)時(shí)間分量相加,由此獲得用于該特定服務(wù)的平均每一請求客戶機(jī)響應(yīng)時(shí)間公式。
3.如權(quán)利要求2所述的方法,其特征在于估算的高速緩存命中率是以該特定服務(wù)的類似Zipf分布函數(shù)為基礎(chǔ)的。
4.如權(quán)利要求1所述的方法,進(jìn)一步包含步驟對計(jì)算出的斜率進(jìn)行加權(quán),以反映出來自與為其計(jì)算斜率的特定服務(wù)有關(guān)的一個(gè)或多個(gè)服務(wù)級(jí)別協(xié)定的響應(yīng)時(shí)間承諾。
5.如權(quán)利要求1所述的方法,其特征在于所選擇的一個(gè)競爭服務(wù)是為其計(jì)算出的斜率具有最大值的那一個(gè)服務(wù)。
6.一種用于在分布式計(jì)算環(huán)境中在多個(gè)競爭的服務(wù)當(dāng)中分配存儲(chǔ)器的系統(tǒng),包含用于為多個(gè)競爭服務(wù)中的每個(gè)特定服務(wù)確定一個(gè)平均的每一請求客戶機(jī)響應(yīng)時(shí)間公式的裝置;用于計(jì)算每個(gè)平均的每一請求客戶機(jī)響應(yīng)時(shí)間公式的導(dǎo)數(shù)的裝置;用于為每個(gè)計(jì)算出的導(dǎo)數(shù)計(jì)算直線斜率的裝置;以及用于根據(jù)計(jì)算出的用于該競爭服務(wù)的斜率來選擇競爭服務(wù)中的一個(gè)進(jìn)行附加存儲(chǔ)器的分配的裝置。
7.如權(quán)利要求6所述的系統(tǒng),其特征在于用于確定一個(gè)平均的每一請求客戶機(jī)響應(yīng)時(shí)間公式的裝置進(jìn)一步包含用于確定用于處理該特定服務(wù)的多個(gè)請求的平均中央處理單元(“CPU”)時(shí)間的裝置;用于為該特定服務(wù)的多個(gè)請求分配平均存儲(chǔ)器響應(yīng)時(shí)間的裝置;用于為該特定服務(wù)確定一個(gè)估算高速緩存命中率的裝置;用于將該特定服務(wù)的估算高速緩存未中率計(jì)算為(1-該特定服務(wù)的估算高速緩存命中率)的裝置;用于把該特定服務(wù)的估算高速緩存未中率乘以用于該特定服務(wù)的平均存儲(chǔ)器響應(yīng)時(shí)間、以產(chǎn)生一個(gè)用于該特定服務(wù)的響應(yīng)時(shí)間分量的裝置;以及用于把用于該特定服務(wù)的平均CPU時(shí)間和用于該特定服務(wù)的響應(yīng)時(shí)間分量相加、由此獲得用于該特定服務(wù)的平均每一請求客戶機(jī)響應(yīng)時(shí)間公式的裝置。
8.如權(quán)利要求7所述的系統(tǒng),其特征在于估算的高速緩存命中率是以該特定服務(wù)的類似Zipf分布函數(shù)為基礎(chǔ)的。
9.如權(quán)利要求6所述的系統(tǒng),進(jìn)一步包含用于對計(jì)算出的斜率進(jìn)行加權(quán),以反映出來自與為其計(jì)算斜率的特定服務(wù)有關(guān)的一個(gè)或多個(gè)服務(wù)級(jí)別協(xié)定的響應(yīng)時(shí)間承諾的裝置。
10.如權(quán)利要求6所述的系統(tǒng),其特征在于所選擇的一個(gè)競爭服務(wù)是為其計(jì)算出的斜率具有最大值的那一個(gè)服務(wù)。
11.一種用于在分布式計(jì)算環(huán)境中在多個(gè)競爭的服務(wù)當(dāng)中分配存儲(chǔ)器的計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)程序產(chǎn)品被包含在一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)上,并且包含用于為多個(gè)競爭服務(wù)中的每個(gè)特定服務(wù)確定一個(gè)平均的每一請求客戶機(jī)響應(yīng)時(shí)間公式的計(jì)算機(jī)可讀程序代碼裝置;用于計(jì)算每個(gè)平均的每一請求客戶機(jī)響應(yīng)時(shí)間公式的導(dǎo)數(shù)的計(jì)算機(jī)可讀程序代碼裝置;用于為每個(gè)計(jì)算出的導(dǎo)數(shù)計(jì)算直線斜率的計(jì)算機(jī)可讀程序代碼裝置;以及用于根據(jù)計(jì)算出的用于該競爭服務(wù)的斜率來選擇競爭服務(wù)中的一個(gè)進(jìn)行附加存儲(chǔ)器的分配的計(jì)算機(jī)可讀程序代碼裝置。
12.如權(quán)利要求11所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于用于確定一個(gè)平均的每一請求客戶機(jī)響應(yīng)時(shí)間公式的計(jì)算機(jī)可讀程序代碼裝置進(jìn)一步包含用于確定用于處理該特定服務(wù)的多個(gè)請求的平均中央處理單元(“CPU”)時(shí)間的計(jì)算機(jī)可讀程序代碼裝置;用于為該特定服務(wù)的多個(gè)請求確定平均存儲(chǔ)器響應(yīng)時(shí)間的計(jì)算機(jī)可讀程序代碼裝置;用于為該特定服務(wù)確定一個(gè)估算高速緩存命中率的計(jì)算機(jī)可讀程序代碼裝置;用于將該特定服務(wù)的估算高速緩存未中率計(jì)算為(1-該特定服務(wù)的估算高速緩存命中率)的計(jì)算機(jī)可讀程序代碼裝置;用于把該特定服務(wù)的估算高速緩存未中率乘以用于該特定服務(wù)的平均存儲(chǔ)器響應(yīng)時(shí)間、以產(chǎn)生一個(gè)用于該特定服務(wù)的響應(yīng)時(shí)間分量的計(jì)算機(jī)可讀程序代碼裝置;以及用于把用于該特定服務(wù)的平均CPU時(shí)間和用于該特定服務(wù)的響應(yīng)時(shí)間分量相加、由此獲得用于該特定服務(wù)的平均每一請求客戶機(jī)響應(yīng)時(shí)間公式的計(jì)算機(jī)可讀程序代碼裝置。
13.如權(quán)利要求12所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于估算的高速緩存命中率是以該特定服務(wù)的類似Zipf分布函數(shù)為基礎(chǔ)的。
14.如權(quán)利要求11所述的計(jì)算機(jī)程序產(chǎn)品,進(jìn)一步包含用于對計(jì)算出的斜率進(jìn)行加權(quán),以反映出來自與為其計(jì)算斜率的特定服務(wù)有關(guān)的一個(gè)或多個(gè)服務(wù)級(jí)別協(xié)定的響應(yīng)時(shí)間承諾的計(jì)算機(jī)可讀程序代碼裝置。
15.如權(quán)利要求11所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于所選擇的一個(gè)競爭服務(wù)是為其計(jì)算的斜率具有最大值的那一個(gè)服務(wù)。
16.一種在分布式計(jì)算環(huán)境中在多個(gè)競爭的服務(wù)當(dāng)中重新分配存儲(chǔ)器的方法,包含以下步驟為多個(gè)競爭服務(wù)中的每個(gè)特定服務(wù)確定一個(gè)平均的每一請求客戶機(jī)響應(yīng)時(shí)間公式;計(jì)算每個(gè)平均的每一請求客戶機(jī)響應(yīng)時(shí)間公式的導(dǎo)數(shù);為每個(gè)計(jì)算的導(dǎo)數(shù)計(jì)算直線斜率;選擇競爭服務(wù)中的一個(gè)第一服務(wù)進(jìn)行附加存儲(chǔ)器的分配;選擇競爭服務(wù)中的一個(gè)第二服務(wù)進(jìn)行已經(jīng)分配的存儲(chǔ)器的解除分配;以及從第二競爭服務(wù)中解除分配一部分已經(jīng)分配的存儲(chǔ)器,并且重新分配該部分到第一競爭服務(wù)。
17.如權(quán)利要求16所述的方法,其特征在于確定一個(gè)平均的每一請求客戶機(jī)響應(yīng)時(shí)間公式的步驟進(jìn)一步包含以下步驟確定用于處理該特定服務(wù)的多個(gè)請求的平均中央處理單元(“CPU”)時(shí)間;為該特定服務(wù)的多個(gè)請求確定平均存儲(chǔ)器響應(yīng)時(shí)間;為該特定服務(wù)確定一個(gè)估算高速緩存命中率;將該特定服務(wù)的估算高速緩存未中率計(jì)算為(1-該特定服務(wù)的估算高速緩存命中率);把用于該特定服務(wù)的估算高速緩存未中率乘以用于該特定服務(wù)的平均存儲(chǔ)器響應(yīng)時(shí)間,產(chǎn)生一個(gè)用于該特定服務(wù)的響應(yīng)時(shí)間分量;以及把用于該特定服務(wù)的平均CPU時(shí)間和用于該特定服務(wù)的響應(yīng)時(shí)間分量相加,由此獲得用于該特定服務(wù)的平均的每一請求客戶機(jī)響應(yīng)時(shí)間公式。
18.如權(quán)利要求17所述的方法,其特征在于估算的高速緩存命中率是以該特定服務(wù)的類似Zipf分布函數(shù)為基礎(chǔ)的。
19.如權(quán)利要求16所述的方法,進(jìn)一步包含步驟對計(jì)算出的斜率進(jìn)行加權(quán),以反映出來自與為其計(jì)算斜率的特定服務(wù)有關(guān)的一個(gè)或多個(gè)服務(wù)級(jí)別協(xié)定的響應(yīng)時(shí)間承諾。
20.如權(quán)利要求16所述的方法,其特征在于通過對第一競爭服務(wù)的客戶機(jī)請求的到達(dá)率增加來觸發(fā)重新分配。
21.如權(quán)利要求16所述的方法,其特征在于第一競爭服務(wù)是競爭服務(wù)中為其計(jì)算的斜率具有最大值的那個(gè)競爭服務(wù),而第二競爭服務(wù)是競爭服務(wù)中為其計(jì)算的斜率具有最小值的那個(gè)競爭服務(wù)。
22.一種用于在分布式計(jì)算環(huán)境中在多個(gè)競爭的服務(wù)當(dāng)中重新分配存儲(chǔ)器的系統(tǒng),包含用于為多個(gè)競爭服務(wù)中的每個(gè)特定服務(wù)確定一個(gè)平均的每一請求客戶機(jī)響應(yīng)時(shí)間公式的裝置;用于計(jì)算每個(gè)平均的每一請求客戶機(jī)響應(yīng)時(shí)間公式的導(dǎo)數(shù)的裝置;用于為每個(gè)計(jì)算出的導(dǎo)數(shù)計(jì)算直線斜率的裝置;以及用于選擇競爭服務(wù)中的一個(gè)第一服務(wù)進(jìn)行附加存儲(chǔ)器的分配的裝置;用于選擇競爭服務(wù)中的一個(gè)第二服務(wù)進(jìn)行已分配存儲(chǔ)器的解除分配的裝置;以及用于從第二競爭服務(wù)中解除分配一部分已經(jīng)分配的存儲(chǔ)器,并且重新分配該部分到第一競爭服務(wù)的裝置。
23.如權(quán)利要求22所述的系統(tǒng),其特征在于用于確定一個(gè)平均的每一請求客戶機(jī)響應(yīng)時(shí)間公式的裝置進(jìn)一步包含用于確定用于處理該特定服務(wù)的多個(gè)請求的平均中央處理單元(“CPU”)時(shí)間的裝置;用于為該特定服務(wù)的多個(gè)請求確定平均存儲(chǔ)器響應(yīng)時(shí)間的裝置;用于為該特定服務(wù)確定一個(gè)估算高速緩存命中率的裝置;用于將該特定服務(wù)的估算高速緩存未中率計(jì)算為(1-該特定服務(wù)的估算高速緩存命中率)的裝置;用于把用于該特定服務(wù)的估算高速緩存未中率乘以用于該特定服務(wù)的平均存儲(chǔ)器響應(yīng)時(shí)間、產(chǎn)生一個(gè)用于該特定服務(wù)的響應(yīng)時(shí)間分量的裝置;以及用于把用于該特定服務(wù)的平均CPU時(shí)間和用于該特定服務(wù)的響應(yīng)時(shí)間分量相加、由此獲得用于該特定服務(wù)的平均每一請求客戶機(jī)響應(yīng)時(shí)間公式的裝置。
24.如權(quán)利要求23所述的系統(tǒng),其特征在于估算的高速緩存命中率是以該特定服務(wù)的類似Zipf分布函數(shù)為基礎(chǔ)的。
25.如權(quán)利要求22所述的系統(tǒng),進(jìn)一步包含用于對計(jì)算出的斜率進(jìn)行加權(quán),以反映出來自與為其計(jì)算斜率的特定服務(wù)有關(guān)的一個(gè)或多個(gè)服務(wù)級(jí)別協(xié)定的響應(yīng)時(shí)間承諾的裝置。
26.如權(quán)利要求22所述的系統(tǒng),其特征在于通過對第一競爭服務(wù)的客戶機(jī)請求的到達(dá)率增加來觸發(fā)重新分配。
27.一種用于在分布式計(jì)算環(huán)境中在多個(gè)競爭的服務(wù)當(dāng)中重新分配存儲(chǔ)器的計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)程序產(chǎn)品被包含在一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)上,并且包含用于為多個(gè)競爭服務(wù)中的每個(gè)特定服務(wù)確定一個(gè)平均的每一請求客戶機(jī)響應(yīng)時(shí)間公式的計(jì)算機(jī)可讀程序代碼裝置;用于計(jì)算每個(gè)平均的每一請求客戶機(jī)響應(yīng)時(shí)間公式的導(dǎo)數(shù)的計(jì)算機(jī)可讀程序代碼裝置;用于為每個(gè)計(jì)算出的導(dǎo)數(shù)計(jì)算直線斜率的計(jì)算機(jī)可讀程序代碼裝置;用于選擇競爭服務(wù)中的一個(gè)第一服務(wù)進(jìn)行附加存儲(chǔ)器的分配的計(jì)算機(jī)可讀程序代碼裝置;用于選擇競爭服務(wù)中的一個(gè)第二服務(wù)進(jìn)行已分配存儲(chǔ)器的解除分配的計(jì)算機(jī)可讀程序代碼裝置;以及用于從第二競爭服務(wù)中解除分配一部分已經(jīng)分配的存儲(chǔ)器、并且重新分配該部分到第一競爭服務(wù)的計(jì)算機(jī)可讀程序代碼裝置。
28.如權(quán)利要求27所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于用于確定一個(gè)平均的每一請求客戶機(jī)響應(yīng)時(shí)間公式的裝置進(jìn)一步包含用于確定用于處理該特定服務(wù)的多個(gè)請求的平均中央處理單元(“CPU”)時(shí)間的計(jì)算機(jī)可讀程序代碼裝置;用于為該特定服務(wù)的多個(gè)請求確定平均存儲(chǔ)器響應(yīng)時(shí)間的計(jì)算機(jī)可讀程序代碼裝置;用于為該特定服務(wù)確定一個(gè)估算高速緩存命中率的計(jì)算機(jī)可讀程序代碼裝置;用于將該特定服務(wù)的估算高速緩存未中率計(jì)算為(1-該特定服務(wù)的估算高速緩存命中率)的計(jì)算機(jī)可讀程序代碼裝置;用于把用于該特定服務(wù)的估算高速緩存未中率乘以用于該特定服務(wù)的平均存儲(chǔ)器響應(yīng)時(shí)間、產(chǎn)生一個(gè)用于該特定服務(wù)的響應(yīng)時(shí)間分量的計(jì)算機(jī)可讀程序代碼裝置;以及用于把用于該特定服務(wù)的平均CPU時(shí)間和用于該特定服務(wù)的響應(yīng)時(shí)間分量相加、由此獲得用于該特定服務(wù)的平均每一請求客戶機(jī)響應(yīng)時(shí)間公式的計(jì)算機(jī)可讀程序代碼裝置。
29.如權(quán)利要求28所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于估算的高速緩存命中率是以特定服務(wù)的類似Zipf分布函數(shù)為基礎(chǔ)的。
30.如權(quán)利要求27所述的計(jì)算機(jī)程序產(chǎn)品,進(jìn)一步包含用于對計(jì)算出的斜率進(jìn)行加權(quán),以反映出來自與為其計(jì)算斜率的特定服務(wù)有關(guān)的一個(gè)或多個(gè)服務(wù)級(jí)別協(xié)定的響應(yīng)時(shí)間承諾的裝置。
31.如權(quán)利要求27所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于第一競爭服務(wù)是競爭服務(wù)中為其計(jì)算的斜率具有最大值的那個(gè)競爭服務(wù),而第二競爭服務(wù)是競爭服務(wù)中為其計(jì)算的斜率具有最小值的那個(gè)競爭服務(wù)。
32.一種通過在分布式計(jì)算環(huán)境中在多個(gè)競爭的服務(wù)當(dāng)中分配存儲(chǔ)器而經(jīng)營商業(yè)的方法,包含以下步驟為多個(gè)競爭服務(wù)中的每個(gè)特定服務(wù)確定一個(gè)平均的每一請求客戶機(jī)響應(yīng)時(shí)間公式;計(jì)算每個(gè)平均的每一請求客戶機(jī)響應(yīng)時(shí)間公式的導(dǎo)數(shù);為每個(gè)計(jì)算出的導(dǎo)數(shù)計(jì)算直線斜率;當(dāng)將要分配附加存儲(chǔ)器時(shí),執(zhí)行以下步驟根據(jù)為該競爭服務(wù)計(jì)算出的斜率來選擇競爭服務(wù)中的一個(gè)進(jìn)行附加存儲(chǔ)器的分配;以及當(dāng)將要重新分配已經(jīng)分配的存儲(chǔ)器時(shí),執(zhí)行以下步驟選擇競爭服務(wù)中的一個(gè)第一服務(wù)進(jìn)行附加存儲(chǔ)器的分配;選擇競爭服務(wù)中的一個(gè)第二服務(wù)進(jìn)行已分配存儲(chǔ)器的解除分配;以及從第二競爭服務(wù)中解除分配一部分已經(jīng)分配的存儲(chǔ)器,并且重新分配該部分到第一競爭服務(wù)。
33.如權(quán)利要求32所述的方法,其特征在于確定一個(gè)平均的每一請求客戶機(jī)響應(yīng)時(shí)間公式的步驟進(jìn)一步包含以下步驟確定用于處理該特定服務(wù)的多個(gè)請求的平均中央處理單元(“CPU”)時(shí)間;為該特定服務(wù)的多個(gè)請求確定平均存儲(chǔ)器響應(yīng)時(shí)間;為該特定服務(wù)確定一個(gè)估算高速緩存命中率;將該特定服務(wù)計(jì)算的估算高速緩存未中率計(jì)算為(1-該特定服務(wù)的估算高速緩存命中率);把用于該特定服務(wù)的估算高速緩存未中率乘以用于該特定服務(wù)的平均存儲(chǔ)器響應(yīng)時(shí)間,產(chǎn)生一個(gè)用于該特定服務(wù)的響應(yīng)時(shí)間分量;以及把用于該特定服務(wù)的平均CPU時(shí)間和用于該特定服務(wù)的響應(yīng)時(shí)間分量相加,由此獲得用于該特定服務(wù)的平均每一請求客戶機(jī)響應(yīng)時(shí)間公式。
全文摘要
本發(fā)明提供一種用于在分布式計(jì)算環(huán)境中在競爭的服務(wù)當(dāng)中編程地分配存儲(chǔ)器的方法和系統(tǒng)。web請求流的特性和用于高速緩存命中率和客戶機(jī)響應(yīng)時(shí)間的公式被用來創(chuàng)建一個(gè)用于存儲(chǔ)器分配的目標(biāo)函數(shù),以便能夠從存儲(chǔ)器分配獲得最大收益。當(dāng)一個(gè)特定服務(wù)被分配更多存儲(chǔ)器時(shí),它能夠在高速緩存中存儲(chǔ)它的更多對象,其改善了客戶機(jī)響應(yīng)時(shí)間。選擇性地,來自服務(wù)級(jí)協(xié)定的信息可以被用作到存儲(chǔ)器分配計(jì)算的輸入。
文檔編號(hào)H04L29/08GK1506848SQ20031011956
公開日2004年6月23日 申請日期2003年12月4日 優(yōu)先權(quán)日2002年12月10日
發(fā)明者杰弗里·S·蔡斯, 羅納德·P·多伊爾, P 多伊爾, 杰弗里 S 蔡斯 申請人:國際商業(yè)機(jī)器公司