两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

存儲(chǔ)器端存儲(chǔ)請(qǐng)求管理的制作方法

文檔序號(hào):6595295閱讀:223來(lái)源:國(guó)知局
專利名稱:存儲(chǔ)器端存儲(chǔ)請(qǐng)求管理的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及存儲(chǔ)請(qǐng)求管理,且更具體而言,涉及I/O請(qǐng)求的存儲(chǔ)器端管理。
背景技術(shù)
數(shù)據(jù)庫(kù)系統(tǒng)的主要作用是解釋數(shù)據(jù)對(duì)象的高級(jí)抽象聲明,且操縱和搜索這些對(duì)象。理想地,這些聲明和操縱通過(guò)數(shù)據(jù)庫(kù)系統(tǒng)被有效地解釋為發(fā)送給簡(jiǎn)單的、線性尋址的、 封閉的、持續(xù)的存儲(chǔ)裝置的I/O請(qǐng)求。通常,數(shù)據(jù)庫(kù)系統(tǒng)必須為多個(gè)應(yīng)用執(zhí)行這種解釋。這些應(yīng)用可以使用跨越不同用戶和方案安全級(jí)別的多個(gè)數(shù)據(jù)庫(kù)、應(yīng)用類型、數(shù)據(jù)庫(kù)會(huì)話類型以及I/O請(qǐng)求的優(yōu)先權(quán)和類別。在很多情形中,I/O請(qǐng)求被發(fā)送到存儲(chǔ)系統(tǒng)的順序影響著系統(tǒng)的效率。例如,當(dāng)小的高優(yōu)先級(jí)I/O請(qǐng)求和大的低優(yōu)先級(jí)I/O請(qǐng)求都需要被發(fā)送到存儲(chǔ)系統(tǒng)時(shí),在小的高優(yōu)先級(jí)I/O請(qǐng)求之前發(fā)送大的低優(yōu)先級(jí)I/O請(qǐng)求對(duì)于數(shù)據(jù)庫(kù)服務(wù)器而言就不是高效的。已經(jīng)開(kāi)發(fā)了各種技術(shù)來(lái)確保I/O請(qǐng)求以智能方式發(fā)送到存儲(chǔ)系統(tǒng)。例如,此處通過(guò)引用包括在此的名為“Management Of Shared Storage I/OResources”的美國(guó)專利申請(qǐng) No. 11/716,364描述了用于在數(shù)據(jù)庫(kù)服務(wù)器中將I/O請(qǐng)求排隊(duì)且以智能方式將這些請(qǐng)求發(fā)布到存儲(chǔ)系統(tǒng)的技術(shù)。然而,使得數(shù)據(jù)庫(kù)服務(wù)器以智能方式發(fā)布I/O請(qǐng)求并不確保存儲(chǔ)系統(tǒng)優(yōu)化處理I/O請(qǐng)求。具體而言,存儲(chǔ)系統(tǒng)典型地以先進(jìn)先出(FIFO)為基礎(chǔ)處理I/O請(qǐng)求。就這方面而言,存儲(chǔ)系統(tǒng)從FIFO處理偏離,所述偏離涉及1/0請(qǐng)求的重新排序以改善磁盤(pán)效率。在I/ 0請(qǐng)求之后執(zhí)行這種重新排序,而沒(méi)有任何目的。因此,當(dāng)多個(gè)數(shù)據(jù)庫(kù)服務(wù)器向相同的存儲(chǔ)系統(tǒng)(或者存儲(chǔ)系統(tǒng)內(nèi)的相同存儲(chǔ)裝置)發(fā)送用于多個(gè)數(shù)據(jù)庫(kù)的1/0請(qǐng)求時(shí),存儲(chǔ)系統(tǒng)可能在處理較高優(yōu)先級(jí)1/0之前終止處理較低優(yōu)先級(jí)1/0請(qǐng)求,即使每個(gè)獨(dú)立數(shù)據(jù)庫(kù)服務(wù)器以最優(yōu)的序列獨(dú)立向存儲(chǔ)系統(tǒng)發(fā)送其1/0請(qǐng)求。多種類型的工作負(fù)荷和數(shù)據(jù)庫(kù)通常共享存儲(chǔ)器。遺憾的是,在共享存儲(chǔ)器上運(yùn)行多種類型的工作負(fù)荷和數(shù)據(jù)庫(kù)通常導(dǎo)致應(yīng)用和混合工作負(fù)荷之間的性能和響應(yīng)時(shí)間問(wèn)題。 例如,對(duì)一個(gè)產(chǎn)品數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行大規(guī)模并行查詢會(huì)影響對(duì)另一產(chǎn)品數(shù)據(jù)倉(cāng)庫(kù)的關(guān)鍵查詢的性能。而且,數(shù)據(jù)倉(cāng)庫(kù)上的數(shù)據(jù)負(fù)荷會(huì)影響也運(yùn)行在相同數(shù)據(jù)倉(cāng)庫(kù)上的關(guān)鍵查詢的性能。通過(guò)過(guò)度供應(yīng)存儲(chǔ)系統(tǒng)可以減輕這些問(wèn)題,但是這消除了共享存儲(chǔ)器的成本節(jié)省益處。還可以在非峰值時(shí)間調(diào)度非關(guān)鍵任務(wù),但是這種手工的處理是費(fèi)力的。當(dāng)數(shù)據(jù)庫(kù)具有行為不協(xié)調(diào)的不同管理員時(shí),這變得不可能。本部分中描述的方法是應(yīng)當(dāng)追求的方法,但是不必是原先考慮到或追求的方法。 因此,除非明確聲明,不應(yīng)當(dāng)假設(shè)本部分中描述的任意方法限定僅包括在本部分中的現(xiàn)有技術(shù)。


在附圖中,通過(guò)舉例的方式而非限制的方式說(shuō)明本發(fā)明,附圖中,相似的參考標(biāo)號(hào)表示相似的元件,且其中圖1是配置成從多個(gè)I/O請(qǐng)求者接收I/O請(qǐng)求且智能地排列I/O請(qǐng)求的存儲(chǔ)服務(wù)器的框圖;圖2是說(shuō)明根據(jù)本發(fā)明的實(shí)施例,各個(gè)請(qǐng)求元數(shù)據(jù)值如何可以映射到消費(fèi)者組的框圖;圖3是根據(jù)本發(fā)明的實(shí)施例的三階段選擇策略的框圖;圖4是說(shuō)明根據(jù)本發(fā)明的實(shí)施例的逐幸存組策略的框圖;圖5是說(shuō)明根據(jù)本發(fā)明的實(shí)施例的逐幸存組策略的兩個(gè)階段的框圖;以及圖6是可以實(shí)現(xiàn)本發(fā)明的實(shí)施例的計(jì)算裝置的框圖。
具體實(shí)施例方式下面的描述中,用于解釋目的,涉及各種特定細(xì)節(jié)以提供本發(fā)明的透徹的理解。然而,很明顯,本發(fā)明可以不使用這些特定細(xì)節(jié)實(shí)踐。在其他情形中,以框圖形式示出了已知結(jié)構(gòu)和裝置以避免不必要地模糊本發(fā)明。概覽此處描述了用于至少部分地基于I/O請(qǐng)求的一個(gè)或多個(gè)邏輯特性在存儲(chǔ)系統(tǒng)內(nèi)管理I/O請(qǐng)求被存儲(chǔ)系統(tǒng)處理的序列的技術(shù)。邏輯特性例如可以包括提交I/O請(qǐng)求的用戶的身份、提交I/O請(qǐng)求的服務(wù)、I/O請(qǐng)求所針對(duì)的數(shù)據(jù)庫(kù)、I/O請(qǐng)求映射的消費(fèi)者組的指示、發(fā)布該I/O請(qǐng)求的原因、I/O請(qǐng)求的優(yōu)先級(jí)類別等。這種邏輯特性基本不同于I/O請(qǐng)求的物理特性,I/O請(qǐng)求的物理特性諸如是I/O請(qǐng)求所針對(duì)的數(shù)據(jù)的存儲(chǔ)位置以及該I/O請(qǐng)求指定的I/O操作中涉及的數(shù)據(jù)量。代替或除了在向存儲(chǔ)系統(tǒng)發(fā)布I/O請(qǐng)求的I/O請(qǐng)求者內(nèi)執(zhí)行的任意管理,可以采用此處描述的內(nèi)存儲(chǔ)(in-Storage)I/0管理技術(shù)。當(dāng)在此使用時(shí),“I/O請(qǐng)求者”表示向存儲(chǔ)系統(tǒng)發(fā)布I/O請(qǐng)求的任意實(shí)體。I/O請(qǐng)求者例如可以是響應(yīng)于從數(shù)據(jù)庫(kù)應(yīng)用接收的數(shù)據(jù)庫(kù)命令發(fā)布I/O請(qǐng)求的數(shù)據(jù)庫(kù)服務(wù)器。然而,此處描述的技術(shù)不限于任意特定類型的I/O 請(qǐng)求者。因?yàn)榇鎯?chǔ)系統(tǒng)處理引導(dǎo)到存儲(chǔ)系統(tǒng)內(nèi)的存儲(chǔ)裝置的所有I/O請(qǐng)求,存儲(chǔ)系統(tǒng)比I/ 0請(qǐng)求者更好地用于做出關(guān)于如何調(diào)度已經(jīng)引導(dǎo)到這些存儲(chǔ)裝置的I/O請(qǐng)求的智能調(diào)度判斷。例如,存儲(chǔ)系統(tǒng)能夠判斷目標(biāo)為特定存儲(chǔ)裝置的高優(yōu)先級(jí)I/O請(qǐng)求應(yīng)在目標(biāo)為相同存儲(chǔ)裝置的低優(yōu)先級(jí)I/O請(qǐng)求之前被處理,即使兩個(gè)請(qǐng)求來(lái)自不同I/O請(qǐng)求者且目標(biāo)為兩個(gè)不同的數(shù)據(jù)庫(kù)。包含在存儲(chǔ)系統(tǒng)內(nèi)用于管理I/O請(qǐng)求的邏輯此處被稱為存儲(chǔ)系統(tǒng)的“存儲(chǔ)服務(wù)器”。存儲(chǔ)服務(wù)器可以通過(guò)在作為存儲(chǔ)系統(tǒng)的一部分的處理器上執(zhí)行的軟件、通過(guò)硬布線邏輯、或者通過(guò)軟件和硬件的任意組合實(shí)現(xiàn)。存儲(chǔ)服務(wù)器接收了但仍未被發(fā)布的I/O請(qǐng)求(例如,已添加到存儲(chǔ)系統(tǒng)的輸出隊(duì)列)此處被稱為“懸置I/O請(qǐng)求”。已發(fā)布到存儲(chǔ)裝置但是仍未完成的I/O請(qǐng)求此處被稱為“未決I/O請(qǐng)求”。與I/O請(qǐng)求相關(guān)的工作的邏輯特性通常對(duì)于存儲(chǔ)系統(tǒng)并不可用。因此,在一個(gè)實(shí)施例中,I/O請(qǐng)求的邏輯特性以“請(qǐng)求元數(shù)據(jù)”的方式從其他實(shí)體被傳遞到存儲(chǔ)系統(tǒng)。例如, 在一個(gè)實(shí)施例中,I/O請(qǐng)求者向存儲(chǔ)服務(wù)器提供請(qǐng)求元數(shù)據(jù)以及I/O請(qǐng)求。如上面所解釋,請(qǐng)求元數(shù)據(jù)指定關(guān)于I/O請(qǐng)求代表的工作的邏輯特性?;谶@些邏輯特性、調(diào)度策略和選擇策略,存儲(chǔ)服務(wù)器判斷何時(shí)發(fā)布每個(gè)I/O請(qǐng)求。如下面更詳細(xì)描述,存儲(chǔ)服務(wù)器可以立即發(fā)布I/O請(qǐng)求,或者可以將該請(qǐng)求入隊(duì)以用于延期發(fā)布。在一個(gè)實(shí)施例中,當(dāng)多于一個(gè)I/O請(qǐng)求懸置且調(diào)度策略指示I/O請(qǐng)求應(yīng)被發(fā)布時(shí), 由一個(gè)或多個(gè)選擇策略確定哪個(gè)懸置I/O請(qǐng)求需要發(fā)布。在選擇策略中指定的各種策略可以在各個(gè)階段應(yīng)用。在每個(gè)階段中,被認(rèn)為是選擇候選的懸置I/O請(qǐng)求的數(shù)目基于屬于該階段的策略減小。當(dāng)懸置I/O請(qǐng)求的僅一個(gè)非空等待隊(duì)列保留為候選時(shí),存儲(chǔ)服務(wù)器選擇位于等待隊(duì)列的頭部的I/O請(qǐng)求以供處理??梢栽谶x擇策略中指定的策略的示例包括· 70%的存儲(chǔ)性能容量應(yīng)被分配給數(shù)據(jù)倉(cāng)庫(kù)財(cái)務(wù),且30%的存儲(chǔ)性能容量應(yīng)被分配給數(shù)據(jù)倉(cāng)庫(kù)銷售·產(chǎn)品數(shù)據(jù)庫(kù)應(yīng)具有高于測(cè)試和開(kāi)發(fā)數(shù)據(jù)庫(kù)的優(yōu)先級(jí)· OLTP工作負(fù)荷應(yīng)具有高于維護(hù)工作負(fù)荷的優(yōu)先級(jí)示例性系統(tǒng)圖1是可以實(shí)現(xiàn)此處描述的I/O請(qǐng)求管理技術(shù)的系統(tǒng)的框圖。參考圖1,存儲(chǔ)系統(tǒng) 100為若干不同應(yīng)用130、132、134、136和138使用的數(shù)據(jù)提供存儲(chǔ)。這些應(yīng)用通過(guò)向I/O 請(qǐng)求者120、122和124發(fā)送命令而間接利用存儲(chǔ)系統(tǒng)100。例如,應(yīng)用130、132、134、136和 138可以是各種數(shù)據(jù)庫(kù)應(yīng)用,且I/O請(qǐng)求者120、122和IM可以是通過(guò)存儲(chǔ)、檢索和操作存儲(chǔ)在存儲(chǔ)裝置104和106上分布的數(shù)據(jù)庫(kù)上的數(shù)據(jù)而應(yīng)答數(shù)據(jù)庫(kù)命令的數(shù)據(jù)庫(kù)服務(wù)器。在所示實(shí)施例中,應(yīng)用130和132與I/O請(qǐng)求者交互,應(yīng)用134與I/O請(qǐng)求者122 交互,且應(yīng)用136和138與I/O請(qǐng)求者IM交互。在實(shí)際的實(shí)現(xiàn)中,與I/O請(qǐng)求者并發(fā)交互的應(yīng)用的數(shù)目和類型可以變化。如上所述,I/O請(qǐng)求者120、122和IM可以實(shí)現(xiàn)某種形式的內(nèi)部I/O請(qǐng)求調(diào)度策略。然而,例如當(dāng)I/O請(qǐng)求者120和I/O請(qǐng)求者122均提交目標(biāo)為存儲(chǔ)裝置104的I/O請(qǐng)求時(shí),這些內(nèi)部策略不確保智能調(diào)度。為了在這種情況下智能地管理I/O請(qǐng)求,向存儲(chǔ)服務(wù)器102等級(jí)策略,且存儲(chǔ)服務(wù)器102向輸入I/O請(qǐng)求應(yīng)用這些策略。調(diào)度和選擇策略根據(jù)一個(gè)實(shí)施例,在存儲(chǔ)服務(wù)器102內(nèi)存在兩個(gè)單獨(dú)的策略調(diào)度策略和選擇策略。調(diào)度策略確定應(yīng)當(dāng)何時(shí)發(fā)布I/O。例如,調(diào)度策略可以目標(biāo)在于保持吞吐量合理地高。 在這種情況下,存儲(chǔ)服務(wù)器102將允許相對(duì)大數(shù)目的未決I/O。一旦達(dá)到此限制,就將對(duì)I/ 0排隊(duì)。另一示例是目標(biāo)在于保持延遲合理地低的調(diào)度策略。在這種情況下,存儲(chǔ)服務(wù)器 102將允許相對(duì)小數(shù)目的未決I/O。在任一情況中,一旦達(dá)到該限制,任何新的I/O將排隊(duì)。 當(dāng)未決I/O的數(shù)目(磁盤(pán)上的當(dāng)前I/O負(fù)載)到達(dá)某級(jí)別時(shí),出現(xiàn)“飽和”?;谡{(diào)度策略,當(dāng)存儲(chǔ)服務(wù)器102決定發(fā)布I/O請(qǐng)求時(shí),存儲(chǔ)服務(wù)器102基于選擇策略決定發(fā)布哪個(gè)I/O。此處描述的技術(shù)可以與任意選擇策略一起使用。用于解釋目的, 此后將描述各種類型的選擇策略。然而,此處描述的技術(shù)并不依賴于使用的選擇策略類型。 典型地,存儲(chǔ)服務(wù)器102實(shí)現(xiàn)的選擇策略將例如與要使用存儲(chǔ)器的方式相關(guān)聯(lián)。典型地,在存儲(chǔ)器被多個(gè)數(shù)據(jù)庫(kù)共享的情形中,選擇策略將包括用于基于I/O請(qǐng)求所針對(duì)的數(shù)據(jù)庫(kù)揀選I/O請(qǐng)求的策略。如此后更詳細(xì)描述,用于揀選數(shù)據(jù)庫(kù)的策略可以是基于比例的、基于優(yōu)先級(jí)的、二者混合的。另一方面,如果存儲(chǔ)器被單一數(shù)據(jù)庫(kù)使用,則選擇策略可以包括基于與I/O請(qǐng)求相關(guān)的工作負(fù)荷揀選I/O請(qǐng)求的策略。基于工作負(fù)荷的選擇策略也可以是基于比例的、基于優(yōu)先級(jí)的、二者混合的。最后,如果存儲(chǔ)器被多個(gè)數(shù)據(jù)庫(kù)共享且這些數(shù)據(jù)庫(kù)中具有多個(gè)工作負(fù)荷,則選擇策略可以涉及兩階段計(jì)劃,其中計(jì)劃的第一階段選擇數(shù)據(jù)庫(kù),且計(jì)劃的第二階段選擇該數(shù)據(jù)庫(kù)中的工作負(fù)荷。根據(jù)一個(gè)實(shí)施例,此處描述的技術(shù)以及調(diào)度策略和選擇策略獨(dú)立地應(yīng)用于存儲(chǔ)系統(tǒng)中的每個(gè)存儲(chǔ)裝置。因而,如果在存儲(chǔ)系統(tǒng)中存在12個(gè)磁盤(pán),則對(duì)于每個(gè)盤(pán)指定負(fù)荷設(shè)置、隊(duì)列等。逐盤(pán)負(fù)荷設(shè)置、隊(duì)列和策略是有用的,因?yàn)楸M管所有盤(pán)都被相同的存儲(chǔ)系統(tǒng)管理,但每個(gè)盤(pán)彼此獨(dú)立地工作。調(diào)度策略如上所述,存儲(chǔ)服務(wù)器102向存儲(chǔ)系統(tǒng)發(fā)布I/O請(qǐng)求,直到存儲(chǔ)系統(tǒng)到達(dá)目標(biāo)的優(yōu)化負(fù)荷。當(dāng)在此使用時(shí),術(shù)語(yǔ)“負(fù)荷”表示未決的、未完成I/O請(qǐng)求的總成本。各個(gè)I/O請(qǐng)求的成本由I/O請(qǐng)求將利用存儲(chǔ)系統(tǒng)資源的時(shí)間量決定。因此,讀取較少數(shù)據(jù)量的I/O請(qǐng)求具有遠(yuǎn)低于讀取較大數(shù)據(jù)量的I/O請(qǐng)求的成本,因?yàn)樗加么疟P(pán)I/O資源更短的時(shí)間量。根據(jù)一個(gè)實(shí)施例,通過(guò)校準(zhǔn)存儲(chǔ)系統(tǒng)預(yù)先判斷I/O請(qǐng)求的成本。一旦到達(dá)目標(biāo)負(fù)荷,存儲(chǔ)系統(tǒng)使得所有后續(xù)I/O請(qǐng)求排隊(duì)。當(dāng)已經(jīng)完成足夠的I/O請(qǐng)求使得存儲(chǔ)系統(tǒng)處于其目標(biāo)負(fù)荷之下時(shí),存儲(chǔ)服務(wù)器使用選擇策略來(lái)選擇足夠的I/O請(qǐng)求以將存儲(chǔ)系統(tǒng)帶回其目標(biāo)負(fù)荷。目標(biāo)負(fù)荷的設(shè)置決定了存儲(chǔ)系統(tǒng)的性能特性。如果目標(biāo)負(fù)荷低,則I/O請(qǐng)求的延遲低。當(dāng)目標(biāo)負(fù)荷增加時(shí),則存儲(chǔ)器的吞吐量將增加,導(dǎo)致更好的I/O吞吐量。這是因?yàn)榇鎯?chǔ)系統(tǒng)在較高負(fù)荷更有效率地工作。然而,由于增加的負(fù)載,I/O請(qǐng)求的延遲將減小。目標(biāo)負(fù)荷的大小此后被稱為“負(fù)荷設(shè)置”。調(diào)度策略實(shí)現(xiàn)的負(fù)荷設(shè)置可以以很多不同方式建立。例如,負(fù)荷設(shè)置可以被硬編碼在針對(duì)大多數(shù)人應(yīng)工作良好的水平。備選地,負(fù)荷設(shè)置可由存儲(chǔ)器管理員設(shè)置,該管理員指定存儲(chǔ)系統(tǒng)是否應(yīng)當(dāng)針對(duì)延遲、吞吐量?jī)?yōu)化或者在兩者之間的折中進(jìn)行優(yōu)化。作為另一示例,負(fù)荷設(shè)置可以由存儲(chǔ)服務(wù)器通過(guò)查看每個(gè)工作負(fù)荷而自動(dòng)確定。使用元數(shù)據(jù)和其他工作負(fù)荷特性,存儲(chǔ)服務(wù)器可以確定工作負(fù)荷是否更應(yīng)針對(duì)延遲或吞吐量而被優(yōu)化。存儲(chǔ)服務(wù)器可以使用選擇策略來(lái)加權(quán)每個(gè)工作負(fù)荷的優(yōu)先權(quán)以確定整體負(fù)載設(shè)置。例如,高優(yōu)先級(jí)數(shù)據(jù)庫(kù)的優(yōu)先權(quán)將比較低優(yōu)先級(jí)數(shù)據(jù)庫(kù)的優(yōu)先權(quán)更多地加權(quán)。在負(fù)荷設(shè)置由存儲(chǔ)服務(wù)器自動(dòng)確定的系統(tǒng)中,存儲(chǔ)系統(tǒng)可以基于如在登記的(多個(gè))選擇策略和/或請(qǐng)求元數(shù)據(jù)中反映的存儲(chǔ)系統(tǒng)的使用特性選擇調(diào)度策略。因而,如果存儲(chǔ)系統(tǒng)接收的I/O請(qǐng)求主要用于傾向于吞吐量加強(qiáng)的數(shù)據(jù)倉(cāng)庫(kù)操作,則存儲(chǔ)系統(tǒng)可以選擇具有較高負(fù)荷設(shè)置的調(diào)度策略。例如,存儲(chǔ)系統(tǒng)可以配置成允許存儲(chǔ)系統(tǒng)的輸出I/O隊(duì)列在任意給定時(shí)刻包括高達(dá)8個(gè)IM字節(jié)的I/O請(qǐng)求。較高的負(fù)荷設(shè)置允許向存儲(chǔ)系統(tǒng)中的存儲(chǔ)裝置發(fā)布較大容量的1/0,保持存儲(chǔ)裝置盡可能繁忙。另一方面,如果I/O請(qǐng)求的主要目的是用于OLTP工作負(fù)荷,則可以選擇具有較低負(fù)荷設(shè)置的調(diào)度策略,以優(yōu)化延遲而不是吞吐量。因?yàn)檩^低的負(fù)荷設(shè)置,I/O請(qǐng)求將關(guān)聯(lián)(tie up)存儲(chǔ)裝置較短的時(shí)間期。因?yàn)榇鎯?chǔ)裝置被關(guān)聯(lián)較低時(shí)間期,存儲(chǔ)裝置將更多地可用于處理新到達(dá)的高優(yōu)先級(jí)I/O請(qǐng)求。因而,執(zhí)行產(chǎn)生這些高優(yōu)先級(jí)I/O請(qǐng)求的操作的用戶將體驗(yàn)較小的存儲(chǔ)系統(tǒng)延遲。根據(jù)一個(gè)實(shí)施例,存儲(chǔ)系統(tǒng)基于向存儲(chǔ)系統(tǒng)登記的選擇策略和/或伴隨著請(qǐng)求的請(qǐng)求元數(shù)據(jù)確定整體工作負(fù)荷的特性。例如,選擇策略可以指示正使用存儲(chǔ)系統(tǒng)的應(yīng)用是數(shù)據(jù)倉(cāng)庫(kù)應(yīng)用。備選地,選擇策略可以不指示應(yīng)用的類型,但是與I/O請(qǐng)求一同接收的請(qǐng)求元數(shù)據(jù)可以指示大部分I/O請(qǐng)求來(lái)自數(shù)據(jù)倉(cāng)庫(kù)應(yīng)用。即使當(dāng)選擇策略指示使用存儲(chǔ)系統(tǒng)的工作負(fù)荷的屬性時(shí),存儲(chǔ)服務(wù)器可以使用請(qǐng)求元數(shù)據(jù)來(lái)確定每個(gè)工作負(fù)荷實(shí)際使用多少存儲(chǔ)器。例如,選擇策略可以指示存儲(chǔ)系統(tǒng)被兩個(gè)OLTP應(yīng)用和兩個(gè)倉(cāng)庫(kù)應(yīng)用使用。單獨(dú)基于該信息,可能不清楚最優(yōu)負(fù)荷設(shè)置如何。然而,如果存儲(chǔ)服務(wù)器實(shí)際接收的99 %的I/O請(qǐng)求來(lái)自于兩個(gè)OLTP應(yīng)用,則存儲(chǔ)系統(tǒng)可以選擇針對(duì)OLTP應(yīng)用優(yōu)化的負(fù)荷設(shè)置。根據(jù)一個(gè)實(shí)施例,負(fù)荷設(shè)置選擇處理周期性重復(fù),使得負(fù)荷設(shè)置可以動(dòng)態(tài)地隨著工作負(fù)荷改變而改變。例如,在一個(gè)實(shí)施例中,基于特定時(shí)間期(諸如最后5秒)內(nèi)存儲(chǔ)系統(tǒng)已接收的I/O請(qǐng)求做出選擇處理。在該時(shí)期接收的I/O請(qǐng)求所代表的工作負(fù)荷可以明顯不同于在先前時(shí)期接收的I/O請(qǐng)求代表的工作負(fù)荷。負(fù)荷設(shè)置然后變化為反映最近負(fù)荷設(shè)置選擇操作的結(jié)果。因而,在存儲(chǔ)服務(wù)器主要用于數(shù)據(jù)倉(cāng)庫(kù)股操作的時(shí)期,負(fù)荷設(shè)置將自動(dòng)針對(duì)吞吐量被優(yōu)化,且在相同的存儲(chǔ)系統(tǒng)主要用于OLTP操作的時(shí)期,負(fù)荷設(shè)置將自動(dòng)針對(duì)減小的延遲被優(yōu)化。請(qǐng)求元數(shù)據(jù)為了實(shí)現(xiàn)選擇策略,存儲(chǔ)服務(wù)器102需要知道關(guān)于它接收的I/O請(qǐng)求的信息。例如,如果選擇策略基于與I/O請(qǐng)求相關(guān)聯(lián)的工作負(fù)荷,則存儲(chǔ)服務(wù)器102需要知道I/O請(qǐng)求所屬的工作負(fù)荷。根據(jù)一個(gè)實(shí)施例,存儲(chǔ)服務(wù)器102實(shí)現(xiàn)選擇策略所要求的信息作為伴隨著請(qǐng)求的“請(qǐng)求元數(shù)據(jù)”被提供到存儲(chǔ)服務(wù)器102。將在下文更詳細(xì)描述伴隨I/O請(qǐng)求的元數(shù)據(jù)以及存儲(chǔ)服務(wù)器102如何使用元數(shù)據(jù)來(lái)做出關(guān)于I/O調(diào)度的智能判斷。等待隊(duì)列當(dāng)存儲(chǔ)系統(tǒng)100操作在調(diào)度策略指示的容量之下時(shí),存儲(chǔ)服務(wù)器102將不使I/O 請(qǐng)求排隊(duì)。具體而言,只要存儲(chǔ)系統(tǒng)容量不飽和,存儲(chǔ)服務(wù)器102接收的I/O請(qǐng)求被立即處理。例如可以通過(guò)將I/O請(qǐng)求放置到輸出I/O隊(duì)列中處理I/O請(qǐng)求。然而,只要I/O請(qǐng)求開(kāi)始使得存儲(chǔ)系統(tǒng)100飽和,存儲(chǔ)服務(wù)器102將通過(guò)將接收的I/O請(qǐng)求放置到等待隊(duì)列中而推遲輸入I/O請(qǐng)求的執(zhí)行。例如,如果產(chǎn)品和測(cè)試數(shù)據(jù)庫(kù)共享存儲(chǔ)系統(tǒng)100,則選擇策略可以配置為給予目標(biāo)為產(chǎn)品數(shù)據(jù)庫(kù)的I/O請(qǐng)求以優(yōu)先級(jí)。在這種情況下,只要測(cè)試數(shù)據(jù)庫(kù)負(fù)載將影響產(chǎn)品數(shù)據(jù)庫(kù)性能,存儲(chǔ)服務(wù)器102將調(diào)度I/O請(qǐng)求,使得產(chǎn)品數(shù)據(jù)庫(kù)I/O性能不受影響。這意味著測(cè)試數(shù)據(jù)庫(kù)I/O請(qǐng)求將被放置到等待隊(duì)列中,直到它們可以在不干擾產(chǎn)品數(shù)據(jù)庫(kù)I/O性能的條件下被處理。放置延期的I/O請(qǐng)求的等待隊(duì)列基于伴隨I/O請(qǐng)求的請(qǐng)求元數(shù)據(jù)所指示的邏輯特性。當(dāng)調(diào)度策略指示應(yīng)當(dāng)發(fā)布附加I/O請(qǐng)求時(shí),存儲(chǔ)服務(wù)器102基于所登記的選擇策略,以及I/O請(qǐng)求所處的等待隊(duì)列,選擇延期的I/O請(qǐng)求來(lái)處理。
基于比例的選擇策略根據(jù)一個(gè)實(shí)施例,使用存儲(chǔ)服務(wù)器102登記的選擇策略可以包括基于比例的策略、基于優(yōu)先級(jí)的策略以及混合策略?;诒壤牟呗允腔诜峙浣o邏輯特性的比例,在具有不同邏輯特性的請(qǐng)求之間分配負(fù)荷的策略。例如,假設(shè)將用作基于比例的策略的基礎(chǔ)的邏輯特性是I/O請(qǐng)求所針對(duì)的數(shù)據(jù)庫(kù)(“目標(biāo)數(shù)據(jù)庫(kù)特性”)。進(jìn)一步假設(shè)在存儲(chǔ)裝置104 和106上存儲(chǔ)5個(gè)數(shù)據(jù)庫(kù)DB1、DB2、DB3、DB4和DB5?;诒壤牟呗钥梢灾付ù鎯?chǔ)服務(wù)器 102應(yīng)按照以下方式在5個(gè)數(shù)據(jù)庫(kù)之間分配負(fù)荷DBl = 50%, DB2 = 20%, DB3 = 20%, DB4 = 5%且 DB5 = 5%。根據(jù)基于比例的策略,存儲(chǔ)服務(wù)器102以一序列處理懸置I/O請(qǐng)求以確保針對(duì)低于其分配比例的數(shù)據(jù)庫(kù)的I/O請(qǐng)求在針對(duì)高于其分配比例的數(shù)據(jù)庫(kù)的I/O請(qǐng)求之前被處理。在一個(gè)實(shí)施例中,存儲(chǔ)服務(wù)器102基于分配給各個(gè)數(shù)據(jù)庫(kù)的比例做出“最大程度滯后(furthest behind)”的確定。例如,假設(shè),當(dāng)存儲(chǔ)服務(wù)器102準(zhǔn)備選擇另一 I/O請(qǐng)求處理時(shí),DB2、DB4和DB5具有懸置I/O請(qǐng)求。在這些情形下,存儲(chǔ)服務(wù)器102確定DB2、DB4 和DB5其中哪一個(gè)在其相應(yīng)分配中最大程度滯后。用于解釋目的,假設(shè)DB2已使用22%的負(fù)荷,DB4已使用4%且DB5已使用3%的負(fù)荷。在這些情形下,存儲(chǔ)服務(wù)器102將選擇目標(biāo)為DB5的懸置I/O請(qǐng)求?;诒壤牟呗詫?duì)于確保較高優(yōu)先級(jí)的實(shí)體接收較大量的帶寬同時(shí)仍確保沒(méi)有實(shí)體完全遺漏是有用的。在上述示例中,DB2—般比DB5更重要,因?yàn)镈B2已分配了 20%的負(fù)荷(而DB5僅被分配了 5% )。然而,因?yàn)镈B2已經(jīng)使用了多于其分配的負(fù)荷部分,來(lái)自 DB5的I/O請(qǐng)求在來(lái)自DB2的I/O請(qǐng)求之前被處理。使用概率的基于比例的策略 在上述實(shí)施例中,基于比例的策略通過(guò)跟蹤哪個(gè)數(shù)據(jù)庫(kù)相對(duì)于其負(fù)荷分配是“最大程度滯后”來(lái)實(shí)現(xiàn)。遺憾的是,“最大程度滯后”判斷導(dǎo)致跟蹤原先發(fā)布了 I/O請(qǐng)求的跟蹤的開(kāi)銷。為了避免這種開(kāi)銷,存儲(chǔ)服務(wù)器102可以簡(jiǎn)單地將基于比例的策略指定的負(fù)荷分配視為I/O請(qǐng)求將被選擇的“概率”。例如,假設(shè)數(shù)據(jù)庫(kù)DB1、DB2、DB3、DB4和DB5其中每一個(gè)具有至少一個(gè)懸置的I/O 請(qǐng)求。在這些條件下,所有數(shù)據(jù)庫(kù)將是選擇候選。因此,給定數(shù)據(jù)庫(kù)被選擇的概率將等于數(shù)據(jù)庫(kù)被分配的負(fù)荷的百分比。具體而言,存儲(chǔ)服務(wù)器102將選擇目標(biāo)為DBl的I/O請(qǐng)求的概率為50%,存儲(chǔ)服務(wù)器102將選擇目標(biāo)為DB2的I/O請(qǐng)求的概率為20%,等等。另一方面,如果僅DB2和DB5具有懸置I/O請(qǐng)求,則DB2和DB5將是僅有的選擇候選。DB2具有20%的負(fù)載分配且DB5具有5%的負(fù)載分配。在這些情形下,DB2和DB5的相對(duì)負(fù)載分配將導(dǎo)致選擇目標(biāo)為DB2的I/O請(qǐng)求的概率為80%且選擇目標(biāo)為DB2的I/O請(qǐng)求的概率為20%。一旦對(duì)各種選擇候選確定了概率,存儲(chǔ)服務(wù)器102就基于該概率執(zhí)行I/O請(qǐng)求選擇。基于該概率選擇I/O請(qǐng)求的方式涉及向選擇候選其中每一個(gè)分配范圍的子范圍,其中被分配給每個(gè)選擇候選的子范圍的大小由選擇候選將被選擇的概率確定。例如,假設(shè)范圍為1至100。還假設(shè)僅有的I/O請(qǐng)求候選是目標(biāo)為DB2的I/O請(qǐng)求以及目標(biāo)為DB5的I/O請(qǐng)求。在這些情形下,DB2將具有80%的選擇概率。因此,目標(biāo)為DB2的I/O請(qǐng)求可以被分配以1-80的子范圍(S卩,整個(gè)范圍的80%)。另一方面,DB5將具有20%的選擇概率,且因此可以被分配以子范圍81-100( S卩,整個(gè)范圍的20% )。在每個(gè)選擇候選被分配以范圍內(nèi)的子范圍之后,存儲(chǔ)服務(wù)器102可以產(chǎn)生該范圍內(nèi)的隨機(jī)數(shù)。隨機(jī)數(shù)落入的子范圍決定了存儲(chǔ)服務(wù)器102選擇哪個(gè)選擇候選。因而,在本示例中,如果隨機(jī)數(shù)落在1至80之間,則選擇目標(biāo)為DB2的I/O請(qǐng)求。另一方面,如果隨機(jī)數(shù)落在81至100之間,則將選擇目標(biāo)為DB5的I/O請(qǐng)求?;趦?yōu)先級(jí)的策略基于優(yōu)先級(jí)的策略是向候選I/O請(qǐng)求的邏輯特性值分配相對(duì)重要性的策略。例如,假設(shè)要用作基于優(yōu)先級(jí)的策略的基礎(chǔ)的邏輯特性是目標(biāo)數(shù)據(jù)庫(kù)特性。在存儲(chǔ)用于數(shù)據(jù)庫(kù)DB1、DB2、DB3、DB4和DB5的數(shù)據(jù)的存儲(chǔ)系統(tǒng)中,目標(biāo)數(shù)據(jù)庫(kù)特性的可能值是DB1、DB2、 DB3、DB4和DB5。因此,使用目標(biāo)數(shù)據(jù)庫(kù)特性的基于優(yōu)先級(jí)的策略可以指定目標(biāo)為DB1、DB2、 DB3、DB4和DB5的I/O請(qǐng)求分別具有第一、第二、第三、第四和第五優(yōu)先級(jí)。當(dāng)使用基于優(yōu)先級(jí)的策略時(shí),只要存在與較高優(yōu)先級(jí)邏輯特性值相關(guān)聯(lián)的懸置I/ 0請(qǐng)求,則不處理具有較低優(yōu)先級(jí)邏輯特性值的I/O請(qǐng)求。因而,只要目標(biāo)為DBl的任意I/ 0請(qǐng)求懸置,則目標(biāo)為DB2、DB3、DB4和DB5的I/O請(qǐng)求將不被存儲(chǔ)服務(wù)器102選擇。另一方面,目標(biāo)為DB5的I/O請(qǐng)求將不被存儲(chǔ)服務(wù)器102選擇,直到?jīng)]有目標(biāo)為DB1、DB2、DB3和 DB4中任意一個(gè)的懸置I/O請(qǐng)求?;趦?yōu)先級(jí)的策略確保與較低優(yōu)先級(jí)邏輯特性相關(guān)聯(lián)的 I/O請(qǐng)求絕不會(huì)不利地影響與較高優(yōu)先級(jí)邏輯特性相關(guān)聯(lián)的I/O請(qǐng)求的性能?;旌喜呗曰旌喜呗允墙Y(jié)合優(yōu)先級(jí)和比例的策略。具體而言,多個(gè)邏輯特性可以分配給每個(gè)優(yōu)先級(jí)。在每個(gè)優(yōu)先級(jí)內(nèi),比例被分配給邏輯特性其中每一個(gè)。例如,目標(biāo)為DB1、DB2、DB3 的I/O請(qǐng)求可以全都被分配以第一優(yōu)先級(jí)。在第一優(yōu)先級(jí)內(nèi),目標(biāo)為DB1、DB2和DB3的I/ 0請(qǐng)求可以分別被分配以比例50、40和10。目標(biāo)為DB4和DB5的I/O請(qǐng)求可以分配以第二優(yōu)先級(jí)。在第二優(yōu)先級(jí)內(nèi),目標(biāo)為DB4和DB5的I/O請(qǐng)求可以分別被分配以比例70和30。根據(jù)該示例,存儲(chǔ)服務(wù)器102將根據(jù)其相應(yīng)比例在目標(biāo)為DBl、DB2和DB3的I/O 請(qǐng)求之間分配負(fù)荷。只要存在目標(biāo)為DB1、DB2或DB3的任意懸置I/O請(qǐng)求,則存儲(chǔ)服務(wù)器 102將不處理目標(biāo)為DB4和DB5的任意I/O請(qǐng)求。如果沒(méi)有目標(biāo)為DBl、DB2和DB3的I/O 請(qǐng)求,則負(fù)荷將基于比例70和30被分別分配在目標(biāo)為DB4和DB5的I/O請(qǐng)求之間。數(shù)據(jù)庫(kù)選擇策略如上面給出的示例所述,I/O請(qǐng)求所針對(duì)的數(shù)據(jù)庫(kù)是可以用作策略的基礎(chǔ)的一個(gè)邏輯特性。用于基于目標(biāo)數(shù)據(jù)庫(kù)特性在I/O請(qǐng)求之間進(jìn)行選擇的策略此處被稱為“數(shù)據(jù)庫(kù)選擇策略”。數(shù)據(jù)庫(kù)選擇策略包括· 70%的存儲(chǔ)性能容量應(yīng)被分配給數(shù)據(jù)倉(cāng)庫(kù)財(cái)務(wù),且30%的存儲(chǔ)性能容量應(yīng)被分配給數(shù)據(jù)倉(cāng)庫(kù)銷售·產(chǎn)品數(shù)據(jù)庫(kù)應(yīng)具有優(yōu)于測(cè)試和開(kāi)發(fā)數(shù)據(jù)庫(kù)的優(yōu)先級(jí)數(shù)據(jù)庫(kù)選擇策略可以簡(jiǎn)單也可以復(fù)雜。表1說(shuō)明三級(jí)混合數(shù)據(jù)庫(kù)選擇策略表 權(quán)利要求
1.一種方法,包含當(dāng)存儲(chǔ)系統(tǒng)處于飽和狀態(tài)時(shí),在存儲(chǔ)系統(tǒng)內(nèi)對(duì)該存儲(chǔ)系統(tǒng)接收的多個(gè)I/O請(qǐng)求進(jìn)行排隊(duì);以及當(dāng)存儲(chǔ)系統(tǒng)準(zhǔn)備處理已經(jīng)在存儲(chǔ)系統(tǒng)中排隊(duì)的懸置I/O請(qǐng)求時(shí),該存儲(chǔ)系統(tǒng)內(nèi)的存儲(chǔ)服務(wù)器至少部分地基于與特定I/O請(qǐng)求相關(guān)聯(lián)的一個(gè)或多個(gè)邏輯特性選擇特定I/O請(qǐng)求; 響應(yīng)于存儲(chǔ)服務(wù)器選擇特定I/O請(qǐng)求,處理所述特定I/O請(qǐng)求; 其中該方法由一個(gè)或多個(gè)專用計(jì)算裝置實(shí)現(xiàn)。
2.根據(jù)權(quán)利要求1所述的方法,還包含 所述存儲(chǔ)系統(tǒng)接收一個(gè)或多個(gè)選擇策略;以及所述存儲(chǔ)服務(wù)器使用在一個(gè)或多個(gè)選擇策略其中每一個(gè)中指示的策略選擇該多個(gè)I/O 請(qǐng)求其中哪一個(gè)被選擇處理。
3.根據(jù)權(quán)利要求2所述的方法,其中存儲(chǔ)服務(wù)器在多個(gè)階段中應(yīng)用所述策略。
4.根據(jù)權(quán)利要求3所述的方法,其中該存儲(chǔ)系統(tǒng)存儲(chǔ)用于多個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù);以及先于多個(gè)階段中所有其他階段的一個(gè)特定階段包括基于I/O請(qǐng)求所針對(duì)的數(shù)據(jù)庫(kù)在 I/O請(qǐng)求之間進(jìn)行選擇的策略。5.根據(jù)權(quán)利要求3所述的方法,其中該存儲(chǔ)系統(tǒng)存儲(chǔ)用于多個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù);以及跟隨在多個(gè)階段中至少一個(gè)其他階段之后的特定階段包括基于I/O請(qǐng)求所針對(duì)的數(shù)據(jù)庫(kù)在I/O請(qǐng)求之間進(jìn)行選擇的策略。4.根據(jù)權(quán)利要求3所述的方法,其中 具有相似邏輯特性的I/O請(qǐng)求屬于一選擇組; 多個(gè)I/O請(qǐng)求對(duì)應(yīng)于多個(gè)選擇組;存儲(chǔ)服務(wù)器在多個(gè)階段中的稍后階段中應(yīng)用的策略至少部分地基于哪些選擇組幸存于一個(gè)或多個(gè)在先的階段。
5.根據(jù)權(quán)利要求2所述的方法,其中所述策略包括一個(gè)或多個(gè)基于比例的策略。
6.根據(jù)權(quán)利要求5所述的方法,其中所述策略還包括一個(gè)或多個(gè)基于優(yōu)先級(jí)的策略。
7.根據(jù)權(quán)利要求2所述的方法,其中所所述策略包括一個(gè)或多個(gè)混合策略。
8.根據(jù)權(quán)利要求3所述的方法,其中該多個(gè)階段中的至少一個(gè)階段與混合策略相關(guān)聯(lián)。
9.根據(jù)權(quán)利要求1所述的方法,其中多個(gè)消費(fèi)者組在邏輯特性值-消費(fèi)者組映射中被指定;以及該一個(gè)或多個(gè)邏輯特性值包括特定I/O請(qǐng)求所屬的消費(fèi)者組。
10.根據(jù)權(quán)利要求9所述的方法,還包含所述存儲(chǔ)系統(tǒng)接收邏輯特性值-消費(fèi)者組映射;以及所述存儲(chǔ)服務(wù)器基于特定I/O請(qǐng)求的請(qǐng)求元數(shù)據(jù)和邏輯特性值-消費(fèi)者組映射確定特定I/O請(qǐng)求所屬的消費(fèi)者組。
11.根據(jù)權(quán)利要求9所述的方法,還包含所述存儲(chǔ)系統(tǒng)接收用于所述特定I/O請(qǐng)求的請(qǐng)求元數(shù)據(jù);其中該請(qǐng)求元數(shù)據(jù)包括消費(fèi)者組標(biāo)識(shí)符;以及所述存儲(chǔ)服務(wù)器至少部分地基于消費(fèi)者組標(biāo)識(shí)符的值選擇特定I/O請(qǐng)求。
12.根據(jù)權(quán)利要求1所述的方法,還包含在存儲(chǔ)服務(wù)器從提交I/O請(qǐng)求的I/O請(qǐng)求者接收用于與該I/O請(qǐng)求相關(guān)聯(lián)的一個(gè)或多個(gè)邏輯特性的值。
13.根據(jù)權(quán)利要求1所述的方法,還包含在存儲(chǔ)系統(tǒng)從提交第一 I/O請(qǐng)求的第一 I/O請(qǐng)求者接收與第一 I/O請(qǐng)求相關(guān)的一個(gè)或多個(gè)邏輯特性的第一值;在存儲(chǔ)系統(tǒng)從提交第二 I/O請(qǐng)求的第二 I/O請(qǐng)求者接收與第二 I/O請(qǐng)求相關(guān)的一個(gè)或多個(gè)邏輯特性的第二值;并且其中存儲(chǔ)服務(wù)器至少部分地基于該第一值和第二值判斷第一 I/O請(qǐng)求和第二 I/O請(qǐng)求其中哪一個(gè)先被處理。
14.根據(jù)權(quán)利要求13所述的方法,其中第一I/O請(qǐng)求者是第一數(shù)據(jù)庫(kù)服務(wù)器且第二 I/ 0請(qǐng)求者是第二數(shù)據(jù)庫(kù)服務(wù)器。
15.根據(jù)權(quán)利要求1所述的方法,其中該一個(gè)或多個(gè)邏輯特性包括存儲(chǔ)在存儲(chǔ)系統(tǒng)中的多個(gè)數(shù)據(jù)庫(kù)其中哪個(gè)數(shù)據(jù)庫(kù)是所述I/O請(qǐng)求所針對(duì)的數(shù)據(jù)庫(kù)。
16.根據(jù)權(quán)利要求1所述的方法,其中該一個(gè)或多個(gè)邏輯特性包括哪些用戶負(fù)責(zé)請(qǐng)求產(chǎn)生了所述I/O請(qǐng)求的操作。
17.根據(jù)權(quán)利要求1所述的方法,其中該一個(gè)或多個(gè)邏輯特性包括所述I/O請(qǐng)求代表什么類型的工作負(fù)荷。
18.根據(jù)權(quán)利要求2所述的方法,還包含存儲(chǔ)系統(tǒng)至少部分地基于來(lái)自一個(gè)或多個(gè)選擇策略的信息確定負(fù)荷設(shè)置;以及存儲(chǔ)系統(tǒng)基于所述負(fù)荷設(shè)置確定何時(shí)處理I/O請(qǐng)求。
19.根據(jù)權(quán)利要求1所述的方法,還包含存儲(chǔ)系統(tǒng)基于伴隨I/O請(qǐng)求的請(qǐng)求元數(shù)據(jù)確定與存儲(chǔ)系統(tǒng)接收的I/O請(qǐng)求相關(guān)聯(lián)的邏輯特性;存儲(chǔ)系統(tǒng)至少部分地基于與存儲(chǔ)系統(tǒng)接收的I/O請(qǐng)求相關(guān)聯(lián)的邏輯特性確定負(fù)荷設(shè)置;以及存儲(chǔ)系統(tǒng)基于負(fù)荷設(shè)置確定何時(shí)處理I/O請(qǐng)求。
20.根據(jù)權(quán)利要求19所述的方法,其中確定邏輯特性和確定負(fù)荷設(shè)置的步驟周期性地重復(fù)以基于如何使用存儲(chǔ)系統(tǒng)而動(dòng)態(tài)地改變負(fù)荷。
21.一種方法,包含通過(guò)I/O請(qǐng)求者向存儲(chǔ)系統(tǒng)提交I/O請(qǐng)求;以及通過(guò)I/O請(qǐng)求者向存儲(chǔ)系統(tǒng)提交所述I/O請(qǐng)求的一個(gè)或多個(gè)邏輯特性的值以使得存儲(chǔ)系統(tǒng)內(nèi)的存儲(chǔ)服務(wù)器基于該一個(gè)或多個(gè)邏輯特性區(qū)分I/O請(qǐng)求的優(yōu)先級(jí);其中該方法由一個(gè)或多個(gè)專用計(jì)算裝置執(zhí)行。
22.根據(jù)權(quán)利要求21所述的方法,其中I/O請(qǐng)求者是數(shù)據(jù)庫(kù)服務(wù)器,且該方法還包含該數(shù)據(jù)庫(kù)服務(wù)器向存儲(chǔ)系統(tǒng)發(fā)送選擇策略,該選擇策略指示在選擇哪個(gè)I/O請(qǐng)求處理時(shí)應(yīng)用存儲(chǔ)服務(wù) 器的策略。
23.根據(jù)權(quán)利要求20所述的方法,其中存儲(chǔ)系統(tǒng)存儲(chǔ)用于多個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù),且策略包括數(shù)據(jù)庫(kù)選擇策略。
24.一種方法,包含存儲(chǔ)系統(tǒng)基于與存儲(chǔ)系統(tǒng)接收的I/O請(qǐng)求相關(guān)的工作負(fù)荷自動(dòng)選擇調(diào)度策略;以及存儲(chǔ)系統(tǒng)基于調(diào)度策略確定何時(shí)發(fā)布懸置I/O請(qǐng)求。
25.根據(jù)權(quán)利要求M所述的方法,還包含存儲(chǔ)系統(tǒng)接收元數(shù)據(jù),該元數(shù)據(jù)指示存儲(chǔ)系統(tǒng)接收的I/O請(qǐng)求的一個(gè)或多個(gè)邏輯特性;以及存儲(chǔ)系統(tǒng)基于所述元數(shù)據(jù)確定與I/O請(qǐng)求相關(guān)聯(lián)的工作負(fù)荷。
26.根據(jù)權(quán)利要求M所述的方法,還包含存儲(chǔ)系統(tǒng)接收用于選擇發(fā)布哪個(gè)懸置I/O請(qǐng)求的一個(gè)或多個(gè)選擇策略;以及存儲(chǔ)系統(tǒng)基于一個(gè)或多個(gè)選擇策略確定與I/O請(qǐng)求相關(guān)聯(lián)的工作負(fù)荷。
27.根據(jù)權(quán)利要求M所述的方法,還包含響應(yīng)于事件將調(diào)度策略從第一調(diào)度策略改變?yōu)榈诙{(diào)度策略,其中該第一和第二調(diào)度策略指定不同目標(biāo)負(fù)荷。
28.根據(jù)權(quán)利要求27所述的方法,其中所述事件是可以在與特定工作負(fù)荷相關(guān)聯(lián)的I/ 0請(qǐng)求的相對(duì)頻率中檢測(cè)到的變化。
29.一種包含指令的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),當(dāng)被一個(gè)或多個(gè)處理器執(zhí)行時(shí),所述指令導(dǎo)致當(dāng)存儲(chǔ)系統(tǒng)處于飽和狀態(tài)時(shí),在存儲(chǔ)系統(tǒng)內(nèi)對(duì)該存儲(chǔ)系統(tǒng)接收的多個(gè)I/O請(qǐng)求進(jìn)行排隊(duì);以及當(dāng)存儲(chǔ)系統(tǒng)準(zhǔn)備處理已經(jīng)在存儲(chǔ)系統(tǒng)中排隊(duì)的懸置I/O請(qǐng)求時(shí),該存儲(chǔ)系統(tǒng)內(nèi)的存儲(chǔ)服務(wù)器至少部分地基于與特定I/O請(qǐng)求相關(guān)的一個(gè)或多個(gè)邏輯特性選擇特定I/O請(qǐng)求; 響應(yīng)于存儲(chǔ)服務(wù)器選擇特定I/O請(qǐng)求處理特定I/O請(qǐng)求; 其中該計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)由一個(gè)或多個(gè)專用計(jì)算裝置執(zhí)行。
30.根據(jù)權(quán)利要求四所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),還包含用于以下目的的指令 存儲(chǔ)系統(tǒng)接收一個(gè)或多個(gè)選擇策略;以及存儲(chǔ)服務(wù)器使用在一個(gè)或多個(gè)選擇策略其中每一個(gè)中指示的策略選擇該多個(gè)I/O請(qǐng)求其中哪一個(gè)被選擇處理。
31.根據(jù)權(quán)利要求30所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中存儲(chǔ)服務(wù)器在多個(gè)階段中應(yīng)用所述策略。
32.根據(jù)權(quán)利要求31所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中 該存儲(chǔ)系統(tǒng)存儲(chǔ)用于多個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù);以及先于多個(gè)階段所有其他階段的一個(gè)特定階段包括基于I/O請(qǐng)求所針對(duì)的數(shù)據(jù)庫(kù)在I/O 請(qǐng)求之間進(jìn)行選擇的策略。
33.根據(jù)權(quán)利要求31所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中 該存儲(chǔ)系統(tǒng)存儲(chǔ)用于多個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù);以及跟隨在多個(gè)階段至少一個(gè)其他階段之后的特定階段包括基于I/O請(qǐng)求所針對(duì)的數(shù)據(jù)庫(kù)在I/O請(qǐng)求之間進(jìn)行選擇的策略。
34.根據(jù)權(quán)利要求31所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中 具有相似邏輯特性的I/O請(qǐng)求屬于一選擇組;多個(gè)I/O請(qǐng)求對(duì)應(yīng)于多個(gè)選擇組;存儲(chǔ)服務(wù)器在多個(gè)階段的稍后階段中應(yīng)用的策略至少部分地基于哪些選擇組幸存于一個(gè)或多個(gè)在先的階段。33.根據(jù)權(quán)利要求30所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中所述策略包括一個(gè)或多個(gè)基于比例的策略。34.根據(jù)權(quán)利要求33所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中所述策略還包括一個(gè)或多個(gè)基于優(yōu)先級(jí)的策略。
35.根據(jù)權(quán)利要求30所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中所所述策略包括一個(gè)或多個(gè)混合策略。
36.根據(jù)權(quán)利要求31所述的方法,該多個(gè)階段其中每一個(gè)與混合策略相關(guān)聯(lián)。
37.根據(jù)權(quán)利要求四所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中 多個(gè)消費(fèi)者組在邏輯特性值-消費(fèi)者組映射中被指定;以及該一個(gè)或多個(gè)邏輯特性值包括特定I/O請(qǐng)求所屬的消費(fèi)者組。
38.根據(jù)權(quán)利要求37所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),還包含用于以下目的的指令 存儲(chǔ)系統(tǒng)接收邏輯特性值-消費(fèi)者組映射;以及存儲(chǔ)服務(wù)器基于特定I/O請(qǐng)求的請(qǐng)求元數(shù)據(jù)和邏輯特性值-消費(fèi)者組映射確定特定I/ 0請(qǐng)求所屬的消費(fèi)者組。
39.根據(jù)權(quán)利要求37所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),還包含用于以下目的的指令 存儲(chǔ)系統(tǒng)接收所述特定I/O請(qǐng)求的請(qǐng)求元數(shù)據(jù);其中該請(qǐng)求元數(shù)據(jù)包括消費(fèi)者組標(biāo)識(shí)符;以及存儲(chǔ)服務(wù)器至少部分地基于消費(fèi)者組標(biāo)識(shí)符的值選擇特定I/O請(qǐng)求。
40.根據(jù)權(quán)利要求四所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),還包含用于在存儲(chǔ)服務(wù)器從提交I/ 0請(qǐng)求的I/O請(qǐng)求者接收與該I/O請(qǐng)求相關(guān)聯(lián)的一個(gè)或多個(gè)邏輯特性的值的指令。
41.根據(jù)權(quán)利要求四所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),還包含用于以下目的的指令在存儲(chǔ)系統(tǒng)從提交第一 I/O請(qǐng)求的第一 I/O請(qǐng)求者接收與第一 I/O請(qǐng)求相關(guān)聯(lián)的一個(gè)或多個(gè)邏輯特性的第一值;在存儲(chǔ)系統(tǒng)從提交第二 I/O請(qǐng)求的第二 I/O請(qǐng)求者接收與第二 I/O請(qǐng)求相關(guān)聯(lián)的一個(gè)或多個(gè)邏輯特性的第二值;并且其中存儲(chǔ)服務(wù)器至少部分地基于該第一值和第二值確定第一 I/O請(qǐng)求和第二 I/O請(qǐng)求其中哪一個(gè)先被處理。
42.根據(jù)權(quán)利要求41所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中第一I/O請(qǐng)求者是第一數(shù)據(jù)庫(kù)服務(wù)器且第二 I/O請(qǐng)求者是第二數(shù)據(jù)庫(kù)服務(wù)器。
43.根據(jù)權(quán)利要求四所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中該一個(gè)或多個(gè)邏輯特性包括存儲(chǔ)在存儲(chǔ)系統(tǒng)中的多個(gè)數(shù)據(jù)庫(kù)其中哪個(gè)數(shù)據(jù)庫(kù)是I/O請(qǐng)求的所針對(duì)的數(shù)據(jù)庫(kù)。
44.根據(jù)權(quán)利要求四所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中該一個(gè)或多個(gè)邏輯特性包括哪些用戶負(fù)責(zé)請(qǐng)求產(chǎn)生I/O請(qǐng)求的操作。
45.根據(jù)權(quán)利要求四所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中該一個(gè)或多個(gè)邏輯特性包括I/ 0請(qǐng)求代表什么類型的工作負(fù)荷。
46.根據(jù)權(quán)利要求30所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),還包含用于以下目的的指令存儲(chǔ)系統(tǒng)至少部分地基于來(lái)自一個(gè)或多個(gè)選擇策略的信息確定負(fù)荷設(shè)置;以及存儲(chǔ)系統(tǒng)基于負(fù)荷設(shè)置確定何時(shí)處理I/O請(qǐng)求。
47.根據(jù)權(quán)利要求四所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),還包含用于以下目的的指令 存儲(chǔ)系統(tǒng)基于伴隨I/O請(qǐng)求的請(qǐng)求元數(shù)據(jù)確定與存儲(chǔ)系統(tǒng)接收的I/O請(qǐng)求相關(guān)聯(lián)的邏輯特性;存儲(chǔ)系統(tǒng)至少部分地基于與存儲(chǔ)系統(tǒng)接收的I/O請(qǐng)求相關(guān)的邏輯特性確定負(fù)荷設(shè)置;以及存儲(chǔ)系統(tǒng)基于負(fù)荷設(shè)置確定何時(shí)處理I/O請(qǐng)求。
48.根據(jù)權(quán)利要求47所述的方法,其中確定邏輯特性和確定負(fù)荷設(shè)置的步驟周期性地重復(fù)以基于如何使用存儲(chǔ)系統(tǒng)而動(dòng)態(tài)地改變負(fù)荷。
49.一種包含指令的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),當(dāng)被一個(gè)或多個(gè)處理器執(zhí)行時(shí),該指令導(dǎo)致由I/O請(qǐng)求者向存儲(chǔ)系統(tǒng)提交I/O請(qǐng)求;以及由I/O請(qǐng)求者向存儲(chǔ)系統(tǒng)提交I/O請(qǐng)求的一個(gè)或多個(gè)邏輯特性的值以使得存儲(chǔ)系統(tǒng)內(nèi)的存儲(chǔ)服務(wù)器基于該一個(gè)或多個(gè)邏輯特性區(qū)分I/O請(qǐng)求的優(yōu)先級(jí); 其中該計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)由一個(gè)或多個(gè)專用計(jì)算裝置執(zhí)行。
50.根據(jù)權(quán)利要求49所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中I/O請(qǐng)求者是數(shù)據(jù)庫(kù)服務(wù)器,且該計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)還包含該數(shù)據(jù)庫(kù)服務(wù)器向存儲(chǔ)系統(tǒng)發(fā)送選擇策略,該選擇策略指示當(dāng)選擇處理哪個(gè)I/O請(qǐng)求時(shí)應(yīng)用存儲(chǔ)服務(wù)器的策略。
51.根據(jù)權(quán)利要求48所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中存儲(chǔ)系統(tǒng)存儲(chǔ)用于多個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù),且策略包括數(shù)據(jù)庫(kù)選擇策略。
52.一種包含指令的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),當(dāng)被一個(gè)或多個(gè)處理器執(zhí)行時(shí),該指令導(dǎo)致存儲(chǔ)系統(tǒng)基于與存儲(chǔ)系統(tǒng)接收的I/O請(qǐng)求相關(guān)的工作負(fù)荷自動(dòng)選擇調(diào)度策略;以及存儲(chǔ)系統(tǒng)基于調(diào)度策略確定何時(shí)發(fā)布懸置I/O請(qǐng)求。
53.根據(jù)權(quán)利要求52所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),還包含用于以下目的的指令存儲(chǔ)系統(tǒng)接收元數(shù)據(jù),該元數(shù)據(jù)指示存儲(chǔ)系統(tǒng)接收的I/O請(qǐng)求的一個(gè)或多個(gè)邏輯特性;以及存儲(chǔ)系統(tǒng)基于元數(shù)據(jù)確定與I/O請(qǐng)求相關(guān)的工作負(fù)荷。
54.根據(jù)權(quán)利要求52所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),還包含用于以下目的的指令 存儲(chǔ)系統(tǒng)接收用于選擇發(fā)布哪個(gè)懸置I/O請(qǐng)求的一個(gè)或多個(gè)選擇策略;以及存儲(chǔ)系統(tǒng)基于一個(gè)或多個(gè)選擇策略確定與I/O請(qǐng)求相關(guān)的工作負(fù)荷。
55.根據(jù)權(quán)利要求52所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),還包含用于響應(yīng)于事件將調(diào)度策略從第一調(diào)度策略改變?yōu)榈诙{(diào)度策略的指令,其中該第一和第二調(diào)度策略指定不同目標(biāo)負(fù)荷。
56.根據(jù)權(quán)利要求55所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中所述事件是可以在與特定工作負(fù)荷相關(guān)聯(lián)的I/O請(qǐng)求的相對(duì)頻率中檢測(cè)到的變化。
全文摘要
提供一種用于至少部分地基于I/O請(qǐng)求的一個(gè)或多個(gè)邏輯特性在存儲(chǔ)系統(tǒng)內(nèi)管理I/O請(qǐng)求被存儲(chǔ)系統(tǒng)處理的順序的技術(shù)。邏輯特性例如可以包括,例如提交I/O請(qǐng)求的用戶的身份、提交I/O請(qǐng)求的服務(wù)、I/O請(qǐng)求所針對(duì)的數(shù)據(jù)庫(kù)、I/O請(qǐng)求映射的消費(fèi)者組的指示、發(fā)布該I/O請(qǐng)求的原因、I/O請(qǐng)求的優(yōu)先級(jí)類別等。還提供在存儲(chǔ)系統(tǒng)內(nèi)自動(dòng)建立調(diào)度策略且響應(yīng)于工作負(fù)荷中的變化自動(dòng)改變調(diào)度策略的技術(shù)。
文檔編號(hào)G06F17/30GK102197395SQ200980142588
公開(kāi)日2011年9月21日 申請(qǐng)日期2009年9月18日 優(yōu)先權(quán)日2008年9月19日
發(fā)明者A·D·謝, A·楚科曼, J·R·洛埃扎, M·蘇賽拉吉, S·K·李, S·查特吉, S·蘇布拉瑪尼亞姆, V·C·科拉 申請(qǐng)人:甲骨文國(guó)際公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
怀宁县| 大宁县| 宁都县| 岳西县| 上杭县| 合江县| 佛山市| 卢龙县| 汉沽区| 石林| 盘锦市| 大悟县| 巴彦县| 吐鲁番市| 和平区| 天柱县| 丽水市| 铁力市| 汾西县| 万盛区| 华宁县| 岑溪市| 修水县| 廊坊市| 中江县| 阜城县| 长岛县| 余干县| 黔南| 许昌县| 大厂| 安新县| 南涧| 康定县| 公主岭市| 汉寿县| 泸水县| 沙洋县| 靖边县| 宜兰县| 云阳县|