專利名稱:用于管理數(shù)據(jù)移植的方法和系統(tǒng)的制作方法
技術(shù)領域:
本發(fā)明涉及用于管理數(shù)據(jù)存儲器的數(shù)據(jù)移植的方法、設備和計算機程序。移植被管理為滿足對于移植實用性和數(shù)據(jù)接入性能的競爭要求、或其它商業(yè)對象、以及具有用于數(shù)據(jù)存儲服務供應商的應用。
背景技術(shù):
管理存儲系統(tǒng)的花費近年來由于這些系統(tǒng)為克服數(shù)據(jù)速率增長而逐漸形成的復雜性已大大地上漲。結(jié)果,越來越趨向于把存儲資源統(tǒng)一成單個大規(guī)模系統(tǒng),以便更好地資源利用和減少對于熟練的存儲系統(tǒng)管理人員的需要。在其中部門計算和存儲資源經(jīng)常不再是分離的而是一起合并在服務于所有的部門的需要的數(shù)據(jù)中心的企業(yè)中,這是顯然的。這種趨勢也表現(xiàn)在由小規(guī)模和中等規(guī)模企業(yè)對于管理的存儲服務供應商(SSP)的存儲要求超過發(fā)源上。在SSP基礎結(jié)構(gòu)中,資源在具有不同的QoS(服務質(zhì)量)要求以及伴隨的收益的應用/客戶之間共享。非常自然地,最大努力服務模型不適于這種情形。而是,在供應商與客戶之間簽署規(guī)定QoS保證連同對于滿足、超過、或破壞這些保證的收益條款的精巧的服務水平協(xié)議(SLA)。
在今天的電子商務環(huán)境下,總是預期這些系統(tǒng)是在線的和以保證的QoS級提供接入數(shù)據(jù)。同時系統(tǒng)必須不斷演進,以便操控各種因素,如由于現(xiàn)有的和新的客戶而造成的數(shù)據(jù)量的增加、工作負荷的季節(jié)性變化、對于替換系統(tǒng)部件以處理故障的需要、以及跟上技術(shù)改變的步伐。這常常需要重新組織數(shù)據(jù)以及隨之而來的重新配置基礎存儲硬件,更通常地稱為數(shù)據(jù)移植。移植牽涉到兩個不同的部分形成其中詳細說明要移動的數(shù)據(jù)以及數(shù)據(jù)的起源和目的地的移植計劃,以及通過把數(shù)據(jù)移到特定的目的地執(zhí)行移植計劃。至今為止,移植總是被認為低優(yōu)先級的活動以及在客戶活動性較低的夜里和周末期間實行。然而,在今天的總是接通的電子商務情形下,很難有像這樣的不工作的時間間隔。而且,在許多情形下,延遲移植任務到以后的時間會導致供應商的重大的收益損失。例如考慮,在盤陣列中的一個或多個盤顯示在不久的將來有故障的標記。在這種情形下,數(shù)據(jù)必須在實際故障的概率變?yōu)樘咧皬倪@個盤陣列很好地被移植。因此,在這種情形下幾乎總有對于競爭移植的硬截止期。在另一種情形下,SSF答應附加的容量或在給定的時間框架中對于客戶的改進的QoS保證。這可牽涉到存儲域網(wǎng)(SAN)重新配置,引導必須在答應的時間框架中完成的數(shù)據(jù)移植,以避免引起的懲罰。
分級結(jié)構(gòu)的存儲管理(HSM)在某些系統(tǒng)中被使用來從昂貴的但高性能的SCSI盤中移動不太經(jīng)常使用的數(shù)據(jù)到便宜的但低性能的盤,使能更好的資源利用。最近,在其中系統(tǒng)管理由商業(yè)策略驅(qū)動的基于策略的存儲管理(PBSM)方面也做了很多工作。這些系統(tǒng)的一個重要的目標是保證正確的數(shù)據(jù)在正確的時間處在正確的位置。這常常使得必須在不同的時間提供不同的QoS保證的卷中來回移動數(shù)據(jù)。
一般說來,移植總是導致對于供應商具有比起初始配置更大的商業(yè)價值的系統(tǒng)配置。因此,重要的是以除了它的原始性能影響以外考慮移植的總的商業(yè)通用性的方式執(zhí)行移植計劃。
今天用于數(shù)據(jù)移植的最流行的方法是在客戶活動性較低的夜里和周末期間作為維護活動實行移植實用性。如上所述,這種方法在今天的、預期一天24小時、一星期7天運行的電子商務環(huán)境下是不可行的。雖然現(xiàn)有的存儲管理工具,像Veritas卷管理程序和HP-UX邏輯卷管理程序,在移植過程期間繼續(xù)提供數(shù)據(jù)接入,但它們不提供用于管理移植對于客戶QoS目標的性能影響的任何設施。Veritas卷管理程序確實提供用于調(diào)節(jié)數(shù)據(jù)移植的速率的參數(shù)vol_defalut_I/Odelay,但它是非自適應的以及不考慮移植截止期。
C.Lu等的文章,“AqueductOnline Data MigratI/On withPerformance Guarantees”,Proc.of USENIX Conference on File andStorage Technologies,2002,219-230(此后稱為Aqueduct)描述了控制理論方法,保證關于移植計劃執(zhí)行對于客戶性能的影響的統(tǒng)計約束限制。Aqueduct方法不斷監(jiān)視客戶工作負荷以及調(diào)整移植工作負荷,使得只消耗留下未使用的那些資源。雖然就對客戶性能的影響而言,這個方法比起非自適應方法執(zhí)行性能好得多,但它總是把移植看作為低優(yōu)先級任務,這種任務以沒有保證的截止期的最大的努力的方式被執(zhí)行。在負荷重的系統(tǒng)中,這會導致不可預測的長的移植持續(xù)時間。數(shù)據(jù)移植在這些環(huán)境下常常需要精確地修正系統(tǒng)配置以減輕過載。
最近,幾個研究者解決了服務供應商的利潤最大化。大多數(shù)用于各種請求的資源的這些地址分配歸類到QoS保證,所以資源被最佳地利用,由此使得供應商的利潤最大化。一個這樣的技術(shù)在A.Verma等,“AdmissI/On Control for Profit MaximizatI/On of NetworkedService Provider”,Proc.InternatI/Onal World Wide Web conference,pp 128-137,2003(此后稱為A.Verma等)。A.Verma等解決用于聯(lián)網(wǎng)的服務供應商的利潤最大化的許可控制的問題。然而,A.Verma等的方法沒有提供用于管理移植對于客戶QoS目標的性能影響的任何設施。
發(fā)明內(nèi)容
本發(fā)明的一個方面提供一種管理在線數(shù)據(jù)存儲系統(tǒng)的數(shù)據(jù)移植的方法。方法包括以下步驟生成調(diào)度表,調(diào)度表包括對于執(zhí)行數(shù)據(jù)移植任務的子任務的數(shù)據(jù)移植請求和對于執(zhí)行客戶存儲操作的客戶I/O存儲請求,其中調(diào)度表是對于移植實用性要求和客戶性能要求生成的;以及執(zhí)行請求的調(diào)度表,以便執(zhí)行數(shù)據(jù)移植任務。
優(yōu)選地,方法響應于接收的存儲接入請求和數(shù)據(jù)移植請求確定和調(diào)整數(shù)據(jù)移植的速率,以達到移植實用性要求而同時滿足其它商業(yè)對象,諸如使得存儲接入性能或由存儲服務供應商從處理存儲接入操作獲得的收益最大化。
移植實用性的想法表示通常是為完成移植所花費的預期的時間的函數(shù)。移植實用性要求可包括明顯地規(guī)定的用于完成數(shù)據(jù)移植的截止期(例如,在客戶與存儲服務供應商之間的SLA)。替換地,有效的截止期或移植實用性函數(shù)可以從可用的帶寬和SLA規(guī)定的性能約定進行計算。一個例子是其中性能約定或SLA規(guī)定的獎勵和懲罰,使得移植必須增加存儲接入帶寬和避免延時,或搶先地代替顯示可能故障的記號的系統(tǒng)部件。
多個移植實用性函數(shù)可被實施。例如,如果在截止期內(nèi)無法完成移植會導致對于可用性的主要的影響(諸如因為預測的部件故障或安排的系統(tǒng)停機),SLA有關的獎勵步驟函數(shù)可能是適當?shù)?。在對于正在進行的I/O性能需要移植而沒有具體的完成截止期的情形下,不同的移植實用性函數(shù)是適當?shù)?。在后者的例子中,用于移植完成的目標截止期和移植速率可以通過施加總的性能最大化的目的而被確定。
操作的調(diào)度表優(yōu)選地對于在線數(shù)據(jù)存儲系統(tǒng)的一組操作要求被生成,該操作要求組組合一組移植實用性要求與存儲接入要求。存儲接入要求可以根據(jù)處理存儲接入要求的性能(例如,通過量或延時最小化),或根據(jù)商業(yè)對象一諸如在移植實用性要求的約束條件下最大化存儲服務供應商從處理存儲接入請求(通過參考SLA規(guī)定的獎勵和懲罰)贏得的收益--而被規(guī)定。因此,使能響應于工作負荷變化調(diào)整移植速率,使得潛在的存儲接入獎勵的損失最小化而同時保證在目標截止期內(nèi)完成移植。方法優(yōu)選地使用存儲接入請求的到達的短期預測來確定適當?shù)囊浦菜俾省_@樣的預測優(yōu)選地連同計算的請求到達速率的長期平均值一起被利用。
優(yōu)選地,方法相對于客戶I/O工作負荷,分配移植實用性給數(shù)據(jù)移植任務,獲取移植任務的真正的商業(yè)價值。優(yōu)選的方法包括用于分配獎勵值給各個移植請求的機制,這些移植請求構(gòu)成能夠?qū)⒁浦舱埱笈c客戶I/O請求進行比較的移植任務。方法使用V的許可控制與調(diào)度方法的變例,通過由系統(tǒng)獲取的總的獎勵最大化的目標以集成的方式調(diào)度客戶I/O和移植請求。這個方法的重要的特性是,它不單調(diào)整移植速率以吸收空閑系統(tǒng)容量,而且在系統(tǒng)過載時它可以實際上給予優(yōu)先級給移植請求優(yōu)于客戶I/O請求,以使得取得的獎勵最大化。這個方法具有重要的好處它在給定長期客戶業(yè)務量統(tǒng)計特性后總是導致可預測的移植完成截止期。這些特性使得它在今天的面向服務的環(huán)境下是極其有用的。
本發(fā)明的另一個方面提供數(shù)據(jù)存儲系統(tǒng),它包括用于生成調(diào)度表的模塊,調(diào)度表包括對于執(zhí)行數(shù)據(jù)移植任務的子任務的數(shù)據(jù)移植請求和對于執(zhí)行客戶存儲操作的客戶I/O存儲請求,其中調(diào)度表是對于移植實用性要求和客戶性能要求生成的;以及用于執(zhí)行請求的調(diào)度表以便執(zhí)行數(shù)據(jù)移植任務的模塊。
如上所述的方法的步驟和系統(tǒng)的部件可以以計算機程序代碼被實施,它控制在其上執(zhí)行代碼的數(shù)據(jù)處理設備的操作的性能。計算機程序可被做成為作為包括被記錄在記錄媒體上的程序代碼的程序產(chǎn)品是可用的,或?qū)τ诮?jīng)由數(shù)據(jù)傳送媒體下載是可用的。
現(xiàn)在將參照附圖描述本發(fā)明的多個優(yōu)選實施例,其中圖1顯示存儲服務供應商(SSP)系統(tǒng)的示意圖;圖2A顯示對于兩個盤配置Ci和Cj相對于時間的SSP系統(tǒng)的示例性收益分布的圖;圖2B顯示相對于時間在配置Cj中超過Ci的SSP系統(tǒng)的示例性收益增益的圖;圖3顯示相對于獎勵的請求的示例性容量分布的圖;圖4顯示相對于延時的示例性非增加的移植實用性函數(shù)的圖;圖5A顯示示例性客戶I/O輸入請求組的圖;圖5B顯示由現(xiàn)有技術(shù)Verma SRJF處理過程生成的輸出請求組的圖;以及圖6顯示由圖1的SSP系統(tǒng)實施的、執(zhí)行數(shù)據(jù)移植的方法的流程圖。
具體實施例方式
為了更好地了解實施例,在第1節(jié)中描述按照優(yōu)選實施例的存儲服務供應商(SSP)系統(tǒng)的概貌。在第2節(jié),列出SSP系統(tǒng)的更詳細的說明。在第3節(jié),更詳細地描述由SSP系統(tǒng)執(zhí)行的獎勵分配與許可控制操作。在第4節(jié),討論關于在實際的設置中SSP系統(tǒng)的實施方案的某些問題。在第5節(jié),詳細描述用于執(zhí)行數(shù)據(jù)移植的方法。最后,在第6節(jié),進行總結(jié)。
1.SSP系統(tǒng)概貌現(xiàn)在轉(zhuǎn)到圖1,圖上顯示按照優(yōu)選實施例的存儲服務供應商(SSP)系統(tǒng)100的示意圖。SSP系統(tǒng)100操縱在大規(guī)模存儲域網(wǎng)(SAN)系統(tǒng)102上的客戶數(shù)據(jù)。存儲系統(tǒng)102包含被組織成盤陣列104的大量盤。盤陣列104是一系列盤,它把單個大的邏輯存儲裝置的提取部分呈現(xiàn)給系統(tǒng)的其余部分。這個提取部分在這里被稱為邏輯單元(LU)。這些資源被具有不同的服務質(zhì)量(QoS)要求以及伴隨的收益的多個客戶/應用共享。應用通過連接來自一個或多個邏輯單元(LU)的空間被分配以存儲空間;連接的存儲空間被稱為邏輯卷(LV)。請求流106涉及到來自客戶或客戶類的I/O請求的聚集,和作為通過流被接入的數(shù)據(jù)的邏輯分組的存儲(注意,術(shù)語顧客和客戶在這個說明中可以交換地使用,以及具有相同的意義)。SSP系統(tǒng)100適配于接收多個這樣的請求流106。
在優(yōu)選的系統(tǒng)100中,在SSP系統(tǒng)100的運營商--即服務供應商--與客戶之間典型地存在有合同。這些合同通常規(guī)定(1)供應商預期滿足的某些QoS保證,和(2)由供應商在滿足這些保證時生成的收益。合同是基于在每個客戶與服務供應商之間的服務水平約定(SLA),它規(guī)定對于服務類別的這些QoS約束限制、這些保證得以保證的花費模型、以及來自客戶的每個類別請求的預期的級別。優(yōu)選的系統(tǒng)100集中在提供等待時間約束限制(截止期),因為這些約束限制比起通過量約束限制實施難得多,以及常常是用于客戶應用的主要準則。
優(yōu)選的系統(tǒng)100是SLA-驅(qū)動的SSP系統(tǒng),其中客戶I/O請求與獎勵和懲罰相聯(lián)系。在優(yōu)選的系統(tǒng)100中,對于在QoS約束限制內(nèi)為請求提供服務得到獎勵。當請求完全沒有被提供服務或在QoS約束限制以外提供服務時,也可以引起懲罰。而且,對于為附加請求提供服務,或超過QoS要求,有可能(取決于SLA技術(shù)條件)獲取額外獎勵。
為此,SSP系統(tǒng)100包括服務質(zhì)量管理器模塊108,它接收與被包含在各個客戶SLA中的QoS要求有關的客戶I/O流106和數(shù)據(jù)116作為輸入。QoS管理器108,響應于這些客戶I/O請求和移植請求,生成用于接入存儲域網(wǎng)102的請求的隊列120。QoS管理器108又包括許可控制器和請求調(diào)度表子模塊(AC),用于使得通過為這些請求提供服務而生成的收益最大化。優(yōu)選地,QoS管理器106是具有軟件代碼模塊的形式,它被裝載在控制SAN的計算機中并在該計算機上執(zhí)行。QoS管理器106的操作將在下面較詳細地描述。
為了確保服務水平保證,SSP系統(tǒng)100另外具有數(shù)據(jù)移植裝置110,112,114,所以系統(tǒng)可以調(diào)節(jié)到動態(tài)容量和/或性能要求。事實上,SSP系統(tǒng)100適合于執(zhí)行所有的大移植實用性任務,包括備份、歸檔、和復制。像Aqueduct那樣的以前的方案通過使用在為客戶請求提供服務以后可用的空閑帶寬移植在線數(shù)據(jù)。實質(zhì)上,移植被當作不保證截止期(完成時間)的低優(yōu)先級最大努力活動被處理。然而,有些情形其中移植計劃與截止期有關,例如,由于對于在故障之間的平均時間內(nèi)完成恢復的需要所強加的計劃。在另外的情形下,像SAN重新配置,早期移植可提高系統(tǒng)性能和使得由SLA違例引起的收益損失最小化。優(yōu)選的SSP系統(tǒng)100與Aqueduct方法的不同的處在于,它以這樣的方式執(zhí)行移植任務以使得不單考慮它對客戶應用的影響,而且也考慮在滿足這些截止期或為供應商生成附加收益方面它的總的商業(yè)實用性。
為了達到這一點,優(yōu)選的SSP系統(tǒng)100包括移植函數(shù)計算器114,用于計算移植實用性,這里使用的術(shù)語移植實用性被表示為對于完成移植花費的時間的函數(shù)。正好像在I/O獎勵的情形下,有效的實用性函數(shù)考慮服務供應商的商業(yè)對象。例如,考慮存儲器S從配置Ci中的源設備到配置Cj中的目的地設備的移植。移植在時間0開始和在時間D結(jié)束。直觀地,移植實用性曲線在0和D之間的時間t時的斜率給出在時間t的收益損失的速率,因為到配置Cf的移植在時間t尚未完成。這里隱含的假設是移植計劃者規(guī)定配置Cf,以使得配置Cf比起初始的配置Ci為供應商產(chǎn)生更好的商業(yè)價值。
應當指出,對于移植請求的適當?shù)膶嵱眯院瘮?shù)的設計(以及用于I/O請求的獎勵模型),或多或少是設計人的怪念頭。然而,它通常相應于根據(jù)供應商的商業(yè)對象規(guī)定的服務水平約定和移植約束限制。而且,通過適當?shù)馗淖兊姜剟?實用性)函數(shù),可以使用相同的技術(shù),以解決通常的使得供應商的商業(yè)對象最大化的問題。
現(xiàn)在參照圖1,優(yōu)選的SSP系統(tǒng)100還包括卷管理器110,它在移植任務被發(fā)起時發(fā)送移植I/O請求112到QoS管理器108。移植實用性函數(shù)計算器114根據(jù)客戶116和移植商業(yè)對象計算移植實用性,以及把這個函數(shù)傳送到QoS管理器108。QoS管理器108然后分配獎勵給每個移植I/O請求,它取決于預期的客戶I/O請求的獎勵、在時間t可用的盤容量、在時間t剩余的移植請求和移植實用性。許可控制器和請求調(diào)度表子模塊(AC)然后根據(jù)這些獎勵這樣地許可和調(diào)度客戶I/O和移植I/O請求,以使得服務供應商的利潤(獎勵)最大化。
在這一節(jié)的剩余部分,詳細闡述用于客戶(移植)請求的多個設計獎勵(實用性)函數(shù),這樣,它可被使用于現(xiàn)實的情形。
1.1I/O獎勵模型在優(yōu)選的系統(tǒng)100中,每個客戶I/O請求rj被表示為r<αj,sj,Гj,Rj(δ)>,其中αj是請求的到達時間,sj是請求的服務時間,Γj是與rj有關的流,以及Rj(δ)是由請求生成的獎勵,如果它以時間δ的延時被提供服務。應當指出,對于I/O請求的獎勵被表示為請求所面臨的延時的函數(shù)。優(yōu)選地,只考慮隨延時增加而不增加的那些獎勵函數(shù)。對于在時間δ內(nèi)被提供服務的客戶請求rj的獎勵Rj(δ)的自然解譯是服務供應商在為具有延時δ的rj提供的服務從客戶獲取的收益。
通常的獎勵函數(shù)允許系統(tǒng)100靈活性使得各種各樣的對象函數(shù)最佳化,取決于SLA技術(shù)說明和服務供應商的商業(yè)對象。供應商-中心模型具有正比于服務時間的獎勵。另外,獎勵可被使用來根據(jù)由它們的請求生成的收益(即,SLA類別)提供區(qū)分的QoS給客戶。在用戶-客戶情形下,可以形成反映總的客戶滿意度的獎勵。例如,如果SSP規(guī)定用戶滿意度為在等待時間約束限制內(nèi)被提供服務的請求的95%,則它可以縮放具有大量I/O請求在不久以前耽誤截止期的客戶的獎勵。在對象是使得聚集的延時最小化的情形下,可以使用隨延時線性減小的獎勵模型。
通過允許不同的I/O請求具有不同的獎勵函數(shù),系統(tǒng)100可以有效地處理其中不同的客戶(流)具有不同的SLA約束限制和收益的情形。注意到,這允許系統(tǒng)100處理混合的-媒體工作負荷,其中不同種類的工作負荷具有不同的實用性函數(shù)。例如,線性減小的獎勵函數(shù)似乎適用于文件系統(tǒng)工作負荷。對于流動的媒體工作負荷,耽誤它的等待時間約束限制(截止期)的請求的獎勵可以是零。因此,在這種情形下的適當?shù)莫剟詈瘮?shù)是階躍函數(shù)。在這些情形下,QoS管理器108的許可控制器和請求調(diào)度表子模塊(AC)能夠使得收益最大化,其中對于不同的請求有不同的獎勵函數(shù)。而且,許可控制器和請求調(diào)度表子模塊(AC)適用于拒絕請求的“正確的”子組,這樣,其余請求可以在它們的QoS約束限制內(nèi)被提供服務。簡單地說,SSP系統(tǒng)100能夠使得通過考慮與各個I/O請求有關的獎勵(和懲罰)而生成的收益最大化。
1.2移植實用性模型用于存儲器的移植實用性Um(t)被表示為相對于完成移植所花費的時間t的函數(shù)。像在I/O獎勵的情形下,有效的實用性函數(shù)考慮服務供應商的商業(yè)對象。
考慮其中移植請求需要在某個截止期Tmax內(nèi)完成。在這種情形下,相應的存儲器S的移植實用性被定義為如下Um(t)=Uift≤Tmax0otherwise---(1)]]>
其中U是在滿足移植截止期時由供應商贏得的收益。換句話說,移植實用性可以由簡單的階躍函數(shù)表示,其中耽誤約定的截止期的移植任務的獎勵是零。常常是按照獎勵不可能直接獲取移植實用性,但在如工人生產(chǎn)率、對于系統(tǒng)故障的更好的恢復那樣的某些商業(yè)對象中,把它看作為增益的指示符仍舊是有用的。
在不存在截止期時,存儲器的移植仍舊可導致更好的配置和為服務供應商獲取附加收益(可能由于較少的SLA違例)。在這種情形下,移植實用性可被描述為相對于延時(t)的通用函數(shù)。優(yōu)選地,僅僅使用隨延時的增加而不增加的實用性函數(shù)。
為了更清晰地了解移植實用性,可參考圖2A和圖2B。圖2A顯示對于兩個盤配置Ci和Cj相對于時間的SSP系統(tǒng)100的示例性收益分布的圖。R(Ci)和R(Cj)分別代表對于兩個不同的盤配置Ci和Cf從為客戶請求提供服務所生成的(預期的)收益。正如可以看到的,對于配置Cf隨時間的預期的收益比起對于配置Ci的預期的收益增加,因此在這種情形下,隨著從配置Ci移植到配置Cf將有財政利益?,F(xiàn)在轉(zhuǎn)到圖2B,圖上顯示相對于時間在配置Cj中超過Ci的SSP系統(tǒng)的示例性收益增益的圖。正如可以看到的,SSP系統(tǒng)的收益增益是隨時間t的非遞減函數(shù),正如圖2B上的虛線表示的。相應的移植實用性U只是收益增益的倒數(shù),因此是時間t的非遞加函數(shù)(由實線給出)。
2.用于執(zhí)行數(shù)據(jù)移植的SSP系統(tǒng)SSP系統(tǒng)100調(diào)度移植任務,以使得由供應商生成的總的收益--即,從滿足客戶請求以及執(zhí)行移植任務所生成的收益的總和--成為最大化。為此,移植任務--即,需要從源SLV移動到目的地TLV的存儲器--被認為是與用于任務的帶寬(容量)要求Bm(即,對于移植所需要的數(shù)據(jù)量)和移植實用性Um(t)有關的。另外,輸入的n客戶請求的組連同對于滿足(違反)SLA約束限制的獎勵(懲罰)被認為與這些要求有關。用于數(shù)據(jù)轉(zhuǎn)移的總的盤容量被表示為C。
在其中對于移植沒有設置的截止期的情形下,SSP系統(tǒng)100按照以下公式通過找出用于移植的完成時間Tm而使得總的收益最大化。
maxTm[Σi=1nRi(δi)+Um(Tm)]---(2)]]>其中δi是完成第i客戶請求花費的時間,以及由移植和I/O請求使用的總的容量不大于可用的盤容量C。
在其中移植任務有設置的截止期Tmax的情形下,SSP系統(tǒng)100通過求解以下最佳化問題而使得總的收益最大化。
maxTm≤Tmax[Σi=1nRi(δi)+Um(Tm)]---(3)]]>2.1用于在線移植的基于調(diào)度的方法SSP系統(tǒng)100按以下方式調(diào)度移植任務。首先,SSP系統(tǒng)100的卷管理器110把需要移植的存儲器S劃分成小的、固定的尺寸的子存儲器,它們可以一次一個地被移植,在步驟中稱為子任務??梢栽O想,隨著硬盤技術(shù)的進步(即,通過LVM鍍銀色操作施加的減小的額外開銷),子存儲器的尺寸可被做成為相對更小,允許對于移植速率進行細小增益控制。為了簡化起見,某個移植子任務被稱為一個移植請求。
SSP系統(tǒng)100的重要的部分是QoS管理器108的許可控制器和請求調(diào)度表子模塊(AC)。許可控制器和請求調(diào)度表子模塊(AC)使用到達(和服務)時間的預期的分布用于調(diào)度將來的I/O請求。QoS管理器108分配收益Rm(t)給移植請求,該收益取決于對于I/O的預期的長期獎勵分發(fā)、在時間t的可用的盤容量、在時間t剩余的移植請求的數(shù)目、和移植實用性。接著,許可控制器和請求調(diào)度表子模塊(AC)使用Verma等的在線許可控制過程的變例,以使得由為I/O和移植請求提供服務所生成的SSP系統(tǒng)100的收益最大化。
當移植被發(fā)起時,卷管理器119發(fā)送移植I/O請求到QoS管理器。移植實用性函數(shù)計算器114根據(jù)客戶SLA 116和系統(tǒng)管理人員輸入118計算移植實用性函數(shù)。根據(jù)客戶SLA 116和移植實用性函數(shù),QoS管理器108許可和調(diào)度請求,這樣,它使得服務供應商的利潤最大化。
在下一節(jié),描述當(1)在截止期的情形下移植實用性是階躍函數(shù),和(2)移植實用性是通用的時間函數(shù)時獎勵如何分配給移植請求。
3.用于移植請求的獎勵分配為了便于說明由QoS管理器108進行的獎勵分配,考慮在時間T0存儲器S從一個卷到另一個卷的移植,以及令Bm是需要被移植的數(shù)據(jù)量,以及C表示總的可用的盤容量。而且,許可控制器和請求調(diào)度表子模塊(AC)適合于實施以下的最佳許可控制方法(OAC)。在任何給定的時刻,OAC把沒有被拒絕的所有的請求按每個單位容量的獎勵進行分類。然后它選擇它可以處理而不違反容量約束限制的那樣多的請求?,F(xiàn)在考慮其中請求在時間T0+kt,k∈N到達的簡單的情形,其中所有的請求具有等于l的長度。在這種情形下,OAC方法也是最佳的。由許可控制器和請求調(diào)度表子模塊(AC)使用的通用許可控制方法在后面稍微詳細地說明,但該方法和以上簡單的情形有助于懂得移植請求的獎勵形成。
3.1具有截止期的移植SSP系統(tǒng)100可以工作在多個模式的一個模式。在SSP系統(tǒng)100的第一模式下,設定對于移植的預期的截止期,例如6小時。在這種情形下,只要移植在接近于截止期的時間完成(例如,對于6小時的移植任務違反5分鐘),最好服務供應商不招致懲罰。
SSP系統(tǒng)100在這個第一模式下利用用于移植請求的獎勵函數(shù),以使得許可控制器子模塊這樣地選擇請求(I/O和移植)以使得預期的截止期被滿足和由于移植引起的I/O獎勵的損失最小化。
為了說明起見,令Tmax表示對于移植的預期的截止期。移植實用性函數(shù)計算器114在這種第一模式下利用階躍函數(shù)。例如,移植的實用性是U,如果它在截止期以前完成的話,以及否則是零(階躍函數(shù))。令Cm=Bm/(Tmax-T0)表示對于滿足截止期的移植所需要的平均帶寬。而且,令Nm是需要被調(diào)度的移植請求的總數(shù),以及Ntm是在時間t剩余的移植請求的數(shù)目。
移植請求的潛在的獎勵被規(guī)定為Rm,這樣,
λ∫Rm∞crpr≤C-Cm---(4)]]>其中cr是由具有獎勵r的客戶I/O請求所使用的長期預期的容量,λ是在任何給定的時間存在的客戶I/O請求的長期預期的數(shù)目,以及pr是客戶I/O請求具有獎勵r的概率。
公式4保證在為移植請求提供服務后可用的盤容量是足夠服務于具有比起移植請求的潛在的獎勵更高的獎勵的所有的I/O請求。SSP系統(tǒng)100計算這些數(shù)值cr和λ的長期預報值,以便確定移植請求的潛在的獎勵Rm。為了說明公式4起見,現(xiàn)在參考圖3,圖上顯示相對于獎勵R的請求λcrpr的示例性容量分布的圖。圖3上的區(qū)域Al表示由移植請求所花費的預期的容量以及區(qū)域Ah表示由這樣的高獎勵I/O請求所花費的預期的容量。后者等于在為移植請求提供服務后可用的容量。
為了確保SSP系統(tǒng)100在截止期前服務于所有的移植請求,QoS管理器106按照下式分配實際的獎勵Rm(t)給在時間t的移植請求Rm(t)=0ifUNmt<Rm,Rmotherwise---(5)]]>其中Rm是由公式4給出的潛在獎勵,以及Ntm是在時間t剩余的移植請求的數(shù)目。
其中Rm(t)不同于Rm的情形是指其中移植具有這樣的低的實用性以使得截止期只能通過拒絕具有更高的獎勵的I/O請求才可滿足的情形。在這種情形下,所有的移植請求通過設置它們的獎勵為0而被拒絕。實際上,由于移植任務典型地是與足夠高的實用性有關的,這預期是不發(fā)生的。
通過以上的用于移植的獎勵模型和假設所有的統(tǒng)計估值是精確的,由許可控制器和請求調(diào)度表子模塊(AC)使用的最佳許可控制(OAC)服務于在區(qū)域Ah(圖3)中所有的請求以及移植請求。換句話說,如果移植請求的(潛在的)獎勵是Rm,由OAC方法進行移植的預期的完成時間是Tmax。另外,OAC方法服務于在區(qū)域Ah中所有的請求以及拒絕在區(qū)域Al中所有的請求,由此使得由服務供應商生成的收益最小化。由許可控制器和請求調(diào)度表子模塊(AC)使用的OAC方法將在下面在第3.3節(jié)中多少詳細地描述。
3.1.1施加嚴格的移植截止期在SSP系統(tǒng)100的另一個模式下,SSP系統(tǒng)100對于移植施加嚴格的截止期。在這個模式下,如果和只有在任務在時間Tmax內(nèi)完成時,移植實用性是U。
在這種情形下,SSP系統(tǒng)100擴展與移植請求有關的獎勵,以使得截止期決不被違反。例如,考慮其中移植請求的拒絕有時將導致耽誤截止期(即使在移植被給予從t以后的所有的盤帶寬)的情形。然后,獎勵函數(shù)由下式替代Rm(t)=UNmt---(6)]]>對于所有其它時間,QoS管理器108使用公式5來分配移植請求的獎勵。
3.2具有通用實用性函數(shù)的移植如在第1節(jié)中討論的,有其中移植實用性可被表示為相對于延時t的通用函數(shù)的情形。在這樣的情形下,即使要完成移植的時間(即,截止期)也是不明顯的。
在這種情形下,SSP系統(tǒng)100工作在另一個模式下。即,QoS管理器108首先計算對于要被完成的移植的最佳目標截止期,然后分配獎勵給移植請求,這樣,通過為I/O和移植請求提供服務生成的總的收益(獎勵)被最大化。
在這個模式后面的概念是基于上述的嚴格的截止期模式的擴展。即,空間被劃分成(每單位容量的)高的和低的獎勵請求。我們給出可證明的最佳目標截止期,而不要嚴格求解最佳化問題(具有潛在的非凸起的約束限制)。具體地,QoS管理器108按照以下公式計算要完成的移植的目標截止期TBmTopt=Cm---(7)]]>|δUm(t)δT|Topt=Cm(Rm-Rl),---(8)]]>其中Rl表示具有小于Rm的獎勵的請求的長期平均獎勵。換句話說,Rl表示在區(qū)域Al(圖3)中的請求的長期平均獎勵。
現(xiàn)在轉(zhuǎn)到圖4,圖上顯示相對于延時T的示例性非遞增的移植實用性函數(shù)的圖。正如可以看到的,最佳目標截止期Topt被標識在這個時間,其中移植實用性Um(t)的斜率等于獎勵Rm減去具有小于Rm的獎勵的請求的平均獎勵。
換句話說,如果Um(t)是對于延時的凸起的函數(shù),則Topt是使得對于OAC方法的總的預期的收益(I/O獎勵和移植請求的和值)最大化。由許可控制器和請求調(diào)度表子模塊(AC)使用的OAC方法將在下面在第3.3節(jié)中多少詳細地描述,但首先我們提供說明這個基本概念的直觀的證明。
假設有一個具有截止期T’的調(diào)度表T,它比起具有截止期Topt的任何調(diào)度表,具有更大的總的實用性。
如果T’>Topt,則T在時間Topt服務于更多的I/O請求(和更少的移植請求)。然而,這樣的請求預期為具有小于Rm的每單位容量的獎勵。另一方面,通過延長移植截止期單位時間造成的移植實用性的損失大于Rm-Rl(由于Um(t)的凸起性)。而且,延長移植導致在時間Topt后的某些I/O請求的拒絕。由于這個移植造成的每單位時間I/O獎勵的損失等于Rl。另外,應當指出,如果我們在任何時間服務于k個移植請求,則預期的I/O獎勵損失大于kRm。因此,通過在時間Topt為額外的I/O請求提供服務造成的總的實用性的預期的增加小于通過在Topt后的任何時間把移植延時1個時間單位或通過拒絕更多的I/O請求為額外的請求提供服務造成的實用性的損失。
類似地,如果T’<Topt,則容易看到由T拒絕的某些I/O請求預期大于或等于Rm的獎勵。因此,通過延時而服務于一個這樣的請求導致小于Rm-Rl的移植實用性的損失(由于Urn的凸起性)。而且,由于在Topt后的這樣的移植造成的預期的I/O獎勵損失是Rl。因此,再次地,通過比Topt更加早完成移植造成的預期的I/O獎勵損失大于移植實用性的增加量與贏得的預期的附加I/O獎勵的總和。
一旦目標截止期被標識,程序過程的其余部分是與具有截止期的情形相同的。即,對于移植所需要的平均帶寬Cm被設置為Bm/Topt,然后非嚴格的截止期公式4和5被使用來計算移植請求Rm,即,Tmax由Topt代替,以及在第3.1節(jié)中描述的非嚴格截止期方法被使用來計算移植獎勵。潛在的(和實際的)獎勵值對于每個剩余的移植請求被分配。在這種方式下,SSP系統(tǒng)使用客戶請求的長期平均到達速率和它們的相關的獎勵,來確定用于移植的最佳截止期,即,可使得從完成移植和服務于適當?shù)慕M的請求而贏得的獎勵最佳化的截止期。
這個最佳的截止期然后被使用來計算移植的平均速率和移植獎勵。對于固定的截止期,用于移植請求的獎勵通過使用請求的預期的長期獎勵分發(fā)被計算。
優(yōu)選地,QoS管理器108通過使用二等分求解方程4,7,8。所有的曲線是逐段直線的事實允許它快速找到解。
3.3對于利潤最大化的許可控制一旦QoS管理器分配獎勵給請求,許可控制器和請求調(diào)度表子模塊(AC)就執(zhí)行以下的利潤最大化處理過程。許可控制器和請求調(diào)度表子模塊(AC)取一組n個請求作為輸入,其中每個請求ri可被表示為R{arrivalTime(ai),serviceTime(si),reward(Ri),responseTimeBound(bi),capacity(ci),serviceClass(Cli)}。這些請求是I-O以及移植請求。為了說明許可控制器和請求調(diào)度表子模塊(AC)的操作,把C定義為可用的增益的總的容量以及把Ttot定義為所考慮的總的時間。在具有截止期的移植的情形下,這被取為等于移植的長度或移植截止期。然而,實際上,許可控制器和請求調(diào)度表子模塊(AC)被使用,即使沒有移植在進行,以及Ttot是某個適當?shù)匾?guī)定的長的時間間隔。
許可控制器和請求調(diào)度表子模塊(AC)適合于找到請求的調(diào)度表(xi,t),這樣,在這個時間間隔上總的收益按以下公式被最大化MAXΣi=1nRiΣi=1TtotXi,t---(9)]]>Σi=1ncipi,t≤C]]>time t;Σi=1Ttotxi,t≤1]]>request i;這樣,xi,t=1ifriis scheduled at time tand(t+si-ai)<bi0otherwise]]>pi,t=1∀t:(t∈(r,r+si-1)andxir=1)0otherwise]]>其中Σl=1Ttotxi,l=0]]>是指請求被拒絕。將會看到,這個問題可能建模為帶寬分配問題,它即使在歸一化的離線設置下也知道是NR-Hard的。而且,問題需要在其中作出拒絕請求的判決的在線設置下在不知道被調(diào)度為以后達到的請求的條件下被求解。
3.3.1BSRJF過程Verma等描述在其中所有的請求具有相同的獎勵的情形下用于利潤最大化的概率最佳在線處理過程(SRJF),然后對于一般情形把它擴展為局部最佳的處理過程(BSRJF)。它們也提供處理過程的在線版本。為了完整性,這些處理過程概述如下
Verma在線處理過程(SRJF),代替首先為短工作(SJF)提供服務,首先使用最短的剩余的時間,組合選擇短的和具有較少的沖突的請求的工作的概念,它在操作系統(tǒng)域中被使用來使得等待時間最小化。在本上下文中萌芽SJF的唯一差別在于,沖突組被限制為未決定的請求組,即,既沒有被拒絕也沒有被提供服務的請求。加到Verma SRJF處理過程的輸入是一個請求表,它被稱為未決定的表;以及輸出是服務表和拒絕表。服務表是那些被接受、即許可的、用于調(diào)度的請求的表。例如,假設輸入請求表被顯示于圖5A,以及接著是Verma SRJF處理過程。Verma SRJF處理過程按次序取請求,通過到達時間被分類,即,r1,r2,r3,r4,r5,和r6。Verma SRJF處理過程首先考慮r1。應當指出,具有短于r1的剩余時間的沖突的請求是r3。另外,即使在服務于r3后,Verma SRJF處理過程將具有空閑的容量用于服務于r1。因此Verma SRJF處理過程將接受r1。Verma SRJF處理過程然后考慮r2,以及拒絕它,因為在服務于r1后留下的容量中,Verma處理過程不能服務于r2和r3。通過更短的剩余時間準則,選擇r3超過r2。因此,V處理過程拒絕r2和服務于r3。在第二組請求中,以類似的方式選擇r4。但在r5與r6之間,雖然r6是更短的,但它在r5后結(jié)束,所以選擇r5。SRJF處理過程的輸出顯示于圖5B。
為此,Verma把他們的SRJF處理過程定義為定義1最短的剩余工作第一處理過程(SRJF)請求按它們到達的次序進行排序。然后ri被提供服務,如果在保留用于所有的未決定的請求rj的容量后有留下的容量的話,這樣,aj+sj<aj+sb。否則,ri被拒絕。
Verma等也說明,一旦處理過程從未決定的表中取一個請求,它或者被接受(許可)或者被拒絕。它不返回到未決定的表。
上述的Verma等的在線SRJF處理過程需要有關請求的到達和服務時間的先驗信息。然而,這樣的信息在實際的許可控制情形下是不可用的。另外,請求具有響應時間的QoS約束邊界,以及只在QoS約束邊界被違反之前才能被延時。
因此,請求的到達速率和服務時間分布的短期預測被利用來解決在實際的在線設置值的請求最大化問題。
由于最短的剩余工作第一(SRJF)處理過程取按它們的到達時間分類的請求,所以容易把它變換成在線處理過程。Verma在線SRJF處理過程然后如下地工作。當請求到達時,檢驗這個請求是否可被提供服務,給出預期在將來的請求被提供服務之前結(jié)束的將來的請求的預期數(shù)目。為了進一步說明,如果請求在時間t到達以及具有10的服務時間,則SRJF處理過程找出預期數(shù)目的、將在(t+1),(t+2),…,(t+9),以及在(t+10)之前結(jié)束的請求,即,預期在當前的請求結(jié)束之前要被提供服務的所有的這些請求。這確保SRJF處理過程使得在預期的意義上被提供服務的請求的總數(shù)最大化,即,如果假設的分布正好是請求的組,它應當使得被提供服務的數(shù)目最大化。而且,如果請求不能立即被提供服務,則在拒絕后重新檢驗條件,直到響應時間邊界可能被違反的這樣的時間為止。為了進一步說明,如果具有ai=T,si=10和bi=20的請求通過SRJF準則不能被立即提供服務,則它在時間(T+10)之前被重新評估,并在該時間后它最后被拒絕。
Verma SRJF處理過程的偽代碼在下面過程。
L =請求的平均容量,Pr(i) =發(fā)生事件i的概率E =具有與各個隨機變量有關的所有的參數(shù)的隨機請求ρ =折扣比
1 Function SRJF schedule2 for every element j in the available array A[1,…,d]3 futureRequests[j]=L*Pr(sE<=(d-j))4 backlog=05 for k=1 to j6backlog+futureRequests[k]*Pr(sE>=(j-k))7 end-for8 capLeft=available[j]-ρ*(backlog +futureRequests[j])9 if(capLeft<=1)10 return false11 end-if12end-for13return true14 end function折扣比ρ起到兩個作用。它獲取預測的可信度以及將來的折扣比。具有高的錯誤概率的預測器具有遠小于1的p,因為futureRequest的估值可以是偏離余量的。另一方面,精巧的預測器具有ρ+1。對于實際的服務部署,服務供應商應當從取決于所使用的預測器ρ的缺省值開始,和收斂到對于她最佳的數(shù)值。還應當指出,在請求r被SRJF調(diào)度表拒絕一次的情形下,它被重新調(diào)用,直至如果它還被延時,當請求r的QoS約束邊界不能被滿足時的這樣的時間為止。
另外,當請求R1(具有獎勵r1和結(jié)束時間d1)到達時,決定水平線被定義為在R1的開始與結(jié)束之間的時間。根據(jù)已被調(diào)度的請求,對于決定水平線計算空閑容量數(shù)組,被稱為可用的數(shù)組??捎玫臄?shù)組按時間加索引指數(shù)。在數(shù)組中的每個項t代表在時間t可用的資源量,如果沒有許可另外的請求的話。上述的SRJF調(diào)度表函數(shù)在處理當前的請求R1時利用這個可用的數(shù)組。Verma等還描述他們的SRJF處理過程到一般情形的擴展(BSRJF),其中所有的獎勵和懲罰是不相等的。在這方面,Verma等作出以下的定義。
定義2把在時間t的請求ri的沖突的組Cti定義為在時間t之前還沒有被拒絕的、以及或者(a)ai+si>aj和ai+si<aj+sj或者(b)aj+sj>ai和ai+si<>aj+sj的所有的這樣的請求的組。
另外,對于請求ri的高獎勵的沖突的組C’i被定義為Cti的子組,這樣,在C’i中所有的請求是與C’i中所有的其它的請求不沖突的。而且,在C’i中所有的請求的獎勵和懲罰的總和大于請求ri的獎勵和懲罰的總和。
Verma等的在線BSRJF實際上拒絕對于其存在C’i的所有的請求ri。它找出對于每個ri的所有的候選的,以及用于它們的預先保留的容量。如果在預先保留后留下空閑容量,則ri被提供服務。這實際上導致局部最佳性條件。
在它們的BSRJF的在線版本中,對于這樣的C’i候選者計算獎勵和懲罰的預期的數(shù)目,即,計算以后到達的非傳統(tǒng)的請求組的預期的獎勵和懲罰的總和。把這個和值與所考慮的當前的請求的獎勵進行比較。如果所保存的預期的獎勵和懲罰的和值超過當前的請求的獎勵,則用于ri的容量被保留。這確保ri只在沒有預期的以后被拒絕的C’i才被提供服務。
這是通過用下式代替第3行的在線SRJF偽代碼而被引入的futureRequests[j]=L*Σi=1d-j(Pr(sE=i)*f(d,i,j));]]>其中f(d,i,j)=1,if∃k∈N:Rm≤R~si+Pr((sE=s~)≤(d-j-i)/k))*k*(R~s~+P~s~)]]> =對于具有服務時間s的請求的預期的(平均)獎勵 =對于具有服務時間s的請求的預期的(平均)懲罰應當指出,現(xiàn)在的容量沒有保留用于所有的早先結(jié)束的請求,而是只用于屬于這樣的組C’i的那些請求。在在線情形下的VermaBSRJF處理過程不再保證最佳解,而值保證在某種意義下局部最佳的解。這是因為沒有單個請求ri可以從解決方案中由某個C’i代替以及解決方案將改進。然而,可以存在有一組這樣的ri可以被去除以及解可以增加。
Verma等描述以下的例子,說明他們的BSRJF處理過程與他們的在線SRJF處理過程的差別。如果長度為10時間單位的請求ri在時間單位50開始以及通過處理成功地經(jīng)歷來到第55個時間單位,而與跨度從55-58的請求rj沖突,則BSRJF處理過程可以選擇ri,如果長度為2的請求(它可適合于58-60)的概率乘以一個請求的懲罰小于在ri和rj的純獎勵的差值的話。更精確地,如果對于預期的請求k有下式成立,則資源不保留用于rj,而支持riPr(sk<=2)(R~k+R~k)<=Ri+Pi-(Rj+Pj)]]>這里,許可較大長度的請求ri,這可以拒絕接受以后的預期較短的請求rj,但在剩余的時間中有另一個請求rk的概率是非常低的,即,C’i=rjU rk的獎勵和懲罰的預期的和值小于Ri+Pi??梢灾赋觯谶@個公式內(nèi)在線SRJF可被看作為代表對于所有的這樣的候選者C’i的容量,而不管由C’i的生成的收益。
3.3.2察覺移植的BSRJF圖1的許可控制器和請求調(diào)度表子模塊(AC)實施上述的BSRJF處理過程的變例。多半地,SPP系統(tǒng)100不引用像BSRJF的懲罰。然而,懲罰的概念可以通過讓獎勵等于獎勵與懲罰的和值(因為請求的拒絕導致等于丟失的獎勵與引起的懲罰的和值的損失)而被引入到SSP系統(tǒng)100的變例。將會看到,BSRJF處理過程在接受請求用于提供服務之前預先保留容量用于具有高的獎勵懲罰的請求。這種預先保留需要有關預期將來到達的請求的信息。Verma等的處理過程使用預測器來生成請求的短期預報,以便預先保留容量。本SSP系統(tǒng)100優(yōu)選地通過使用任何已知的基于時間系列的預測處理過程估計預期的I-O請求的短期預報。然而,移植請求和它們的獎勵被決定性地生成??紤]一個例子,在啟動移植時,移植請求的數(shù)目等于盤的總的容量。然而,當移植請求得到服務時,在任何給定的時間到達的移植請求的數(shù)目減小。而且,這樣的移植請求的時間獎勵在截止期接近時可以改變。為了歸因于這個事實,BSRJF處理過程被修正,以區(qū)分I-O與移植請求。
用于判決具有獎勵Rm的請求(移植或I-O)rm是否應當被提供服務的修正的BSRJF處理過程的偽代碼在下面給出。以粗線表示的行[9,10]是不同于Verma等的BSRJF處理過程的行。
用于標題為SCHEDULE的修正的BSRJF處理過程的偽代碼L=請求到達速率乘以平均請求容量Pr(i)=發(fā)生事件i的概率E=具有與各個隨機變量有關的所有的參數(shù)的隨機請求p=將來的折扣比f(d,i,j)=1,if∃k∈N:Rm≤R~si+Pr((sE=s~)≤(d-j-i)/k))*k*(R~s~)]]> =對于具有服務時間s的請求的預期的(平均)獎勵1 function SCHEDULE2 for every element j in the available arrayA[1…d]3--futureRequests[j]=L*Σi=1d-j(Pr(sE=i)*f(d,i,j))]]>4 backlog=05 for k=1 to j6backlog=backlog+7 futureRequests[k]*Pr(sE≥(j-k))8 end-for9 futureMigReq=getNumMigReq(j,Rm)10 capLeft=available[j]-futureMigReq-ρ*(backlog+futureRequests[j])11 if(capLeft≤1)12 return false13end-if14 end-for15 return true16 end function
為了預先保留用于移植請求的容量,修正的BSRJF處理過程,在任何時間Tj,保持移植的狀態(tài)(在時間Tj之前完成的預期數(shù)目的移植請求)和確定待決的移植請求的數(shù)目和它們的獎勵。在任何時間,為了估計在以后的時間Tj完成的移植請求的數(shù)目,假設在T與Tj之間被提供服務的數(shù)目等于所需要的平均移植速率,即,假設在每個時間TkT<Tk<Tj,將得到服務的移植請求的數(shù)目等于所需要的長期平均移植速率。察覺移植的BSRJF算法因此分開地計算用于I-O和移植請求的futureRequest(將來請求)數(shù)組。如果移植請求具有大于所考慮的請求rm的每單位容量的獎勵,則GetNumMigRey子過程返回這樣的待決的移植請求的數(shù)目。如果移植請求具有較低的獎勵,則它返回0以及沒有容量被保留用于移植,而同時做出對于rm的許可控制決定。為了估計由任何類別的將來的I-O請求使用的容量L,它使用類似于Verma等的預測器。處理過程的其余部分是與BSRJF相同的。
將會看到,由于f(d,i,j)對于不同的服務類別的請求產(chǎn)生不同的數(shù)值,所以需要對于每個服務類別獨立地執(zhí)行支持環(huán)。不明顯地說保持偽代碼為更加可讀的。
4實施問題4.1通過松弛的預測錯誤自適應上述的獎勵函數(shù)是基于以高的精確度知道I-O請求的獎勵分發(fā)的假設。然而,在實際的系統(tǒng)中,這可能不總是這種情形。有某些情形,其中以高的精確度知道長期統(tǒng)計值。然而,還可以具有其它的情形,其中只知道這樣的數(shù)值的估值(例如,具有短截止期的移植)。SSP系統(tǒng)100應當優(yōu)選地處理預測中的這樣的錯誤。
為此,在用于具有截止期的移植情形的移植獎勵(即,在公式5的RHS上)中引入slack(t)1-c的因子,其中slack被定義為slack(t)=NMtD-t---(10)]]>其中D=Tmax以及NtM是在時間t剩余的移植請求的數(shù)目,和c是可信度比值。如果長期分布數(shù)值是相當精確的,則c→1以及自適應因子趨向于1。另一方面,如果可信度是低的,則c→0以及SSP系統(tǒng)嘗試快速適配到當前的業(yè)務量,因此確保移植速率快速變化以及移植在接近于截止期時完成。
4.2周期性地重新計算統(tǒng)計數(shù)值松弛因子允許SSP系統(tǒng)適配于預測中的錯誤,以及確保移植不太快速和不太緩慢地完成,因為長期平均是不正確的。在實際的系統(tǒng)中,這樣的魯棒性是寧愿的。然而,在其中沒有規(guī)定截止期的通常的情形下,這個簡單的增強不一定能夠使得SSP系統(tǒng)魯棒的。這是因為識別目標截止期的處理過程取決于各種曲線的特性。因此,如果在移植期間發(fā)現(xiàn)移植以比起平均移植速率更慢的步伐進行,則系統(tǒng)不一定必須提高移植速率。這是因為,如果沒有錯誤,所計算的移植持續(xù)時間可能小于最佳移植持續(xù)時間。了解所有這些的一個簡單的方法是目標截止期不是固定的,而是取決于圖4的斜率、圖3的曲線下面的面積、和相關的公式7,8。
因此,如果移植顯示或者耽誤目標截止期或者太早完成的趨勢,則最好是SSP系統(tǒng)重新計算目標截止期,而不是迫使移植速率以便滿足原先的截止期。而且,對于非常長的移植任務,即使這樣的長期平均可隨時間改變,以及可能必須重新計算移植截止期和獎勵。因此,在實際的實施方案中,SSP系統(tǒng)優(yōu)選地在適當?shù)剡x擇的時間間隔后重新計算目標截止期和移植獎勵,以使得系統(tǒng)適配于工作負荷改變以及使得它更可靠。
5.用于執(zhí)行數(shù)據(jù)移植的優(yōu)選的方法現(xiàn)在來看圖6,圖中顯示由SSP系統(tǒng)100實現(xiàn)的、執(zhí)行數(shù)據(jù)移植的方法600的流程圖。這個方法600是在SSP系統(tǒng)100上為客戶提供存儲服務的主要方法的子處理過程,以及一旦這個方法被實施610,就需要在SSP系統(tǒng)100上執(zhí)行數(shù)據(jù)移植任務。在方法600開始610后,對于數(shù)據(jù)移植任務計算615適用的移植實用性函數(shù)。典型地,這樣的移植實用性函數(shù)在其中需要在某個截止期Tmax之前完成移植任務的情形下可以取階躍函數(shù)的形式,或在其中沒有特定的截止期的情形下可以取更一般的、非遞增的時間的函數(shù)的形式。移植實用性函數(shù)可以由用戶根據(jù)客戶服務水平協(xié)議和按照供應商的商業(yè)對象規(guī)定的移植約束限制被人工地規(guī)定。第2.2節(jié)更詳細地描述這樣的移植實用性函數(shù)。
一旦移植任務被請求,方法600就生成相應于請求的移植任務的一系列子任務的一系列移植請求。這樣,移植任務可以在一系列子任務中被執(zhí)行,其中每個子任務相應于要被移植的移植存儲器S的、相等尺寸的子存儲器。SSP系統(tǒng)100的卷管理器優(yōu)選地響應于初始移植任務請求生成這些系列的移植請求。
在生成一系列移植請求后,方法600然后確定625相應的移植任務的移植截止期Tmax。在其中有特定的目標截止期Ts的情形下,移植截止期Tmax被設置為Ts。另一方面,在沒有用于完成移植任務的特定截止期的場合下,方法600按照以上第3.2節(jié)中列出的公式(7)和(8)計算最佳目標截止期Topt,以及把Tmax設置為Topt。
在確定移植截止期Tmax后,方法600然后分配630獎勵首先給客戶I/O請求以及然后給移植請求。這些客戶獎勵按第2.1節(jié)中描述的方式被計算和被分配給客戶I/O請求。至于移植請求,在其中只要移植是在接近截止期Tmax的時間完成,服務供應商沒有引入懲罰的情形下,用于移植請求的獎勵按照第3.1節(jié)的公式(4)和(5)進行計算。然而,在用于移植的截止期Tmax是嚴格的時間的場合下,獎勵按照第3.1.1和3.1節(jié)的公式(6)和(5)進行計算。在兩種情形下,根據(jù)對于I/O請求的預期的長期獎勵分發(fā)、在時間t的可用的盤容量、在時間t的剩余的移植請求的數(shù)目以及移植實用性把獎勵分配給移植請求。
在分配獎勵給移植請求和客戶I/O請求,方法600然后許可和生成請求的調(diào)度表635,使得收益最大化(獎勵)。這個步驟635是通過在以上第3.3節(jié)多少詳細地描述的、Verma等的處理過程被執(zhí)行。方法600然后執(zhí)行請求的調(diào)度表,以便執(zhí)行數(shù)據(jù)移植和/或客戶存儲接入操作。在執(zhí)行請求的調(diào)度表640后,方法600然后終結(jié)645。
這樣,方法600把移植任務劃分成小的子任務或移植請求。它使用客戶I/O請求的獎勵和移植實用性函數(shù)來分配獎勵給這樣的移植請求。I/O和移植請求然后由許可控制器處理,它使得贏得的總的獎勵最大化。這種基于收益的方法計算和分配對于允許該方法在規(guī)定的時間之前完成移植的移植請求的最佳獎勵。這個方法具有優(yōu)點它很好地適用于I/O業(yè)務量;它在高優(yōu)先級I/O請求的業(yè)務量時間間隔期間降低移植的速率以及當這樣的高的獎勵I/O請求在數(shù)目上較少時提高后來的移植速率。
優(yōu)選地,上述的方法600實施松弛因子,以允許方法600適配于預測的錯誤以及確保它不太快或太早完成移植,因為長期平均是不精確的。還優(yōu)選地,方法在適當?shù)剡x擇的時間間隔后重新計算目標截止期和移植獎勵,以使得方法600適配于工作負荷改變以及使得它更魯棒。
6.結(jié)論可以對于這里描述的技術(shù)和安排做出各種替換和修正,正如本領域技術(shù)人員所知的。
權(quán)利要求
1.一種用于數(shù)據(jù)存儲系統(tǒng)的管理數(shù)據(jù)移植任務的方法,其中該方法包括以下步驟生成調(diào)度表,調(diào)度表包括對于執(zhí)行數(shù)據(jù)移植任務的子任務的數(shù)據(jù)移植請求和對于執(zhí)行客戶存儲操作的客戶I/O存儲請求,其中調(diào)度表是對于移植實用性要求和客戶性能要求生成的;以及執(zhí)行請求的調(diào)度表,以便執(zhí)行數(shù)據(jù)移植任務。
2.權(quán)利要求1的方法,其中這樣生成調(diào)度,以使得數(shù)據(jù)移植的速率響應于接收的客戶I/O存儲請求和數(shù)據(jù)移植請求被調(diào)整,以便達到在移植與客戶I/O存儲請求之間的平衡。
3.權(quán)利要求1的方法,其中這樣生成調(diào)度表以使得數(shù)據(jù)移植的速率響應于接收的客戶I/O存儲請求和數(shù)據(jù)移植請求被調(diào)整,以便達到移植實用性要求而同時使得由數(shù)據(jù)存儲系統(tǒng)贏得的獎勵最大化。
4.權(quán)利要求3的方法,其中生成步驟包括以下子步驟分配獎勵值給各個客戶存儲請求;以及分配獎勵值給構(gòu)成移植任務的各個客戶移植請求;比較移植請求的獎勵與客戶存儲請求,以使得所述獎勵最大化。
5.權(quán)利要求1的方法,其中這樣生成調(diào)度表,以使得數(shù)據(jù)移植的速率響應于接收的客戶I/O存儲請求和數(shù)據(jù)移植請求被調(diào)整,以便達到移植實用性要求而同時使得客戶存儲性能最大化。
6.一種在在線數(shù)據(jù)存儲系統(tǒng)中管理數(shù)據(jù)移植任務的方法,其中該方法包括以下步驟計算移植實用性,移植實用性是為完成數(shù)據(jù)移植任務所花費的時間的函數(shù);生成用于執(zhí)行數(shù)據(jù)移植任務的移植請求,其中數(shù)據(jù)移植任務被劃分成子任務以及對于每個子任務生成一個移植請求;確定用于執(zhí)行移植實用性的移植截止期;分配獎勵值給接收的客戶存儲請求,這些獎勵值代表通過執(zhí)行客戶存儲請求生成的收益;分配獎勵值給移植請求,這些獎勵值代表通過執(zhí)行數(shù)據(jù)移植任務生成的收益以及是基于預期的客戶存儲請求的獎勵分發(fā)、可用的存儲容量、剩余的移植請求的數(shù)目、和移植實用性;這樣調(diào)度移植請求和客戶存儲請求,以使得贏得的總的獎勵最大化;以及執(zhí)行請求的調(diào)度表,以便執(zhí)行數(shù)據(jù)移植任務。
7.權(quán)利要求6的方法,其中數(shù)據(jù)移植任務被規(guī)定為在截止期內(nèi)完成,以及確定步驟把移植截止期設置為規(guī)定的截止期。
8.權(quán)利要求7的方法,其中移植實用性函數(shù)是以下形式的階躍函數(shù)Um(t)=Uift≤Tmax0otherwise]]>其中U是通過滿足截止期Tmax贏得的獎勵。
9.權(quán)利要求6的方法,其中對于數(shù)據(jù)移植任務的完成沒有規(guī)定的截止期,以及確定步驟確定移植截止期為使得預期贏得的總的獎勵最大化的最佳目標截止期。
10.權(quán)利要求9的方法,其中移植實用性函數(shù)是隨延時增加而非增加的。
11.權(quán)利要求10的方法,其中最佳目標截止期Topt按照下式進行計算BmTopt=Cm]]>|δUm(t)δT|Topt=Rm-Rl,]]>其中R1表示具有小于Rm的獎勵的客戶存儲請求的長期平均獎勵,其中Rm表示要被分配給移植請求的潛在的獎勵,Bm是對于滿足截止期的數(shù)據(jù)移植任務所需要的帶寬,Cm是對于滿足截止期的數(shù)據(jù)移植任務所需要的平均帶寬,Um(t)是移植實用性函數(shù)。
12.權(quán)利要求8或11的方法,其中分配獎勵給移植請求的步驟按照下式執(zhí)行Rm(t)=0ifUNmt<Rm,Rmotherwise]]>其中Rm(t)是在時間t分配給移植請求的獎勵,Ntm是在時間t剩余的移植請求的數(shù)目,Rm是由以下公式給出的潛在獎勵λ∫Rm∞crpr≤C-Cm]]>其中cr是由具有獎勵r的客戶存儲請求所使用的預期的容量,λ是在給定的時間存在的客戶存儲請求的預期的數(shù)目,pr是客戶存儲請求具有獎勵r的概率,C是數(shù)據(jù)存儲系統(tǒng)的總的可用的存儲容量,以及Cm表示對于滿足移植截止期的數(shù)據(jù)移植任務所需要的平均帶寬。
13.權(quán)利要求6的方法,其中用于移植的截止期是嚴格的截止期,在于移植必須在預定的截止期內(nèi)完成,以及確定步驟把移植截止期設置為規(guī)定的截止期。
14.權(quán)利要求13的方法,其中分配獎勵給移植請求的步驟按照下式執(zhí)行Rm(t)=UNmt]]>其中Rm(t)是在時間t分配給移植請求的獎勵,Ntm是在時間t剩余的移植請求的數(shù)目,Rm是由以下公式給出的潛在獎勵λ∫Rm∞crpr≤C-Cm]]>其中cr是由具有獎勵r的客戶存儲請求所使用的預期的容量,λ是在給定的時間存在的客戶存儲請求的預期的數(shù)目,pr是客戶存儲請求具有獎勵r的概率,C是數(shù)據(jù)存儲系統(tǒng)的總的可用的存儲容量,Cm表示對于滿足移植截止期的數(shù)據(jù)移植任務所需要的平均帶寬,以及U是通過滿足截止期贏得的獎勵。
15.權(quán)利要求6的方法,其中預期的客戶存儲請求的獎勵分發(fā)是基于客戶存儲請求的長期平均值。
16.權(quán)利要求15的方法,其中該方法還包括以下步驟調(diào)整具有可信度因子的分配的移植獎勵,以校正長期平均值的預測中的任何錯誤。
17.權(quán)利要求6的方法,其中該方法還包括以下步驟在選擇的時間間隔后重新計算移植截止期和移植獎勵。
18.權(quán)利要求6的方法,其中調(diào)度步驟包括以下子步驟許可調(diào)度比起當前考慮的用于調(diào)度的客戶存儲請求具有更大的每單位容量的獎勵的那些移植請求。
19.如權(quán)利要求6中要求的方法,其中該方法利用預期的客戶存儲請求的長期和短期預報來調(diào)度移植請求,以便確保所述移植截止期被滿足和移植被調(diào)節(jié)成適應客戶存儲請求的業(yè)務量中的突發(fā)。
20.一種適用于管理數(shù)據(jù)移植任務的數(shù)據(jù)存儲系統(tǒng),其中該系統(tǒng)包括用于生成調(diào)度表的裝置,調(diào)度表包括對于執(zhí)行數(shù)據(jù)移植任務的子任務的數(shù)據(jù)移植請求和對于執(zhí)行客戶存儲操作的客戶I/O存儲請求,其中調(diào)度表是對于移植實用性要求和客戶性能要求生成的;以及用于執(zhí)行請求的調(diào)度表以便執(zhí)行數(shù)據(jù)移植任務的裝置。
21.一種在線數(shù)據(jù)存儲系統(tǒng),用于執(zhí)行客戶存儲操作和適用于執(zhí)行數(shù)據(jù)移植任務,其中該系統(tǒng)包括用于計算移植實用性的裝置,移植實用性是為完成數(shù)據(jù)移植任務所花費的時間的函數(shù);用于生成用于執(zhí)行數(shù)據(jù)移植任務的移植請求的裝置,其中數(shù)據(jù)移植任務被劃分成子任務以及對于每個子任務生成一個移植請求;用于確定用于執(zhí)行移植實用性的移植截止期的裝置;用于分配獎勵值給接收的客戶存儲請求的裝置,這些獎勵值代表通過執(zhí)行客戶存儲請求生成的收益;用于分配獎勵值給移植請求的裝置,這些獎勵值代表通過執(zhí)行數(shù)據(jù)移植任務生成的收益以及是基于預期的客戶存儲請求的獎勵分發(fā)、可用的存儲容量、剩余的移植請求的數(shù)目、和移植實用性;用于這樣地調(diào)度移植請求和客戶存儲請求以使得贏得的總的獎勵最大化的裝置;以及用于執(zhí)行請求的調(diào)度表以便執(zhí)行數(shù)據(jù)移植任務的裝置。
22.一種用于數(shù)據(jù)存儲系統(tǒng)的管理數(shù)據(jù)移植任務的計算機程序產(chǎn)品,該計算機程序產(chǎn)品包括被記錄在計算機可讀媒體上、用于執(zhí)行以下步驟的計算機軟件生成調(diào)度表,調(diào)度表包括對于執(zhí)行數(shù)據(jù)移植任務的子任務的數(shù)據(jù)移植請求和對于執(zhí)行客戶存儲操作的客戶I/O存儲請求,其中調(diào)度表是對于移植實用性要求和客戶性能要求生成的。
23.一種在在線數(shù)據(jù)存儲系統(tǒng)中用于執(zhí)行數(shù)據(jù)移植任務的計算機程序產(chǎn)品,該計算機程序產(chǎn)品包括被記錄在計算機可讀媒體上、用于執(zhí)行以下步驟的計算機軟件計算移植實用性,移植實用性是為完成數(shù)據(jù)移植任務所花費的時間的函數(shù);生成用于執(zhí)行數(shù)據(jù)移植任務的移植請求,其中數(shù)據(jù)移植任務被劃分成子任務以及對于每個子任務生成一個移植請求;確定用于執(zhí)行移植實用性的移植截止期;分配獎勵值給接收的客戶存儲請求,這些獎勵值代表通過執(zhí)行客戶存儲請求生成的收益;分配獎勵值給移植請求,這些獎勵值代表通過執(zhí)行數(shù)據(jù)移植任務生成的收益以及是基于預期的客戶存儲請求的獎勵分發(fā)、可用的存儲容量、剩余的移植請求的數(shù)目、和移植實用性;這樣地調(diào)度移植請求和客戶存儲請求,以使得贏得的總的獎勵最大化;以及執(zhí)行請求的調(diào)度表,以便執(zhí)行數(shù)據(jù)移植任務。
全文摘要
方法600在在線數(shù)據(jù)存儲系統(tǒng)中執(zhí)行數(shù)據(jù)移植任務。方法計算615移植實用性,移植實用性是為完成數(shù)據(jù)移植任務所花費的時間的函數(shù)和生成用于執(zhí)行數(shù)據(jù)移植任務的移植請求,其中數(shù)據(jù)移植任務被劃分成子任務以及對于每個子任務生成一個移植請求。方法600然后確定625用于執(zhí)行移植實用性的移植截止期;和分配630獎勵值給接收的客戶存儲請求,這些獎勵值代表通過執(zhí)行客戶存儲請求所生成的收益;和分配630獎勵值給移植請求,這些獎勵值代表通過執(zhí)行數(shù)據(jù)移植任務所生成的收益以及是基于預期的客戶存儲請求的獎勵分發(fā)、可用的存儲容量、剩余的移植請求的數(shù)目、和移植實用性。方法630還這樣地調(diào)度635移植請求和客戶存儲請求,以使得贏得的總的獎勵最大化;以及執(zhí)行640請求的調(diào)度表,以便執(zhí)行數(shù)據(jù)移植任務。
文檔編號G06Q30/00GK1790413SQ200510124660
公開日2006年6月21日 申請日期2005年11月14日 優(yōu)先權(quán)日2004年12月14日
發(fā)明者克斯圖維·達斯古普塔, 羅赫特·杰安, 尤彭德拉·沙瑪, 阿克斯哈特·沃瑪 申請人:國際商業(yè)機器公司