生成工作負(fù)載窗口的制作方法
【專利說明】生成工作負(fù)載窗口
【背景技術(shù)】
[0001] 在存儲系統(tǒng)環(huán)境中,術(shù)語工作負(fù)載指應(yīng)用軟件以及該軟件訪問了多少數(shù)據(jù)。存儲 系統(tǒng)在任何給定的時間運(yùn)行許多不同類型的工作負(fù)載。在均衡的工作負(fù)載中,可以在可尋 址硬盤空間上平衡當(dāng)前的工作負(fù)載訪問的數(shù)據(jù)(與彼此相比)。在不均衡的工作負(fù)載中,工 作負(fù)載可能具有數(shù)量級的差別。
【附圖說明】
[0002] 在下面詳細(xì)的說明中以及在參照的附圖中描述某些示例,其中:
[0003] 圖1是根據(jù)示例的可用于調(diào)節(jié)工作負(fù)載窗口的示例系統(tǒng)的框圖;
[0004] 圖2A-圖2C是根據(jù)示例的用于調(diào)節(jié)工作負(fù)載窗口的輸入-輸出(IO)表的示例;
[0005] 圖3是根據(jù)示例的用于調(diào)節(jié)工作負(fù)載窗口的示例方法的程序流程圖;
[0006] 圖4是根據(jù)示例的可用于調(diào)節(jié)工作負(fù)載窗口的示例系統(tǒng)的框圖;以及
[0007] 圖5是根據(jù)示例示出的有形的非瞬態(tài)計算機(jī)可讀介質(zhì)的示例的框圖,該有形的非 瞬態(tài)計算機(jī)可讀介質(zhì)存儲適于調(diào)節(jié)工作負(fù)載窗口的代碼。
【具體實施方式】
[0008] 在給定的存儲系統(tǒng)中,工作負(fù)載類型可長時間保持一致。然而,工作負(fù)載類型還可 在數(shù)小時、數(shù)日、或更長的時間過程中完全改變。管理所有工作負(fù)載的數(shù)據(jù)資源的性能軟件 嘗試改善數(shù)據(jù)訪問效率,本文還稱作輸入-輸出(IO)。然而,如果工作負(fù)載類型隨時間而變 得不一致,則性能軟件可能顯得不那么有效。
[0009] 解決此問題的一種方法涉及建立以固定的時間間隔過期的計時器。在計時器過期 時,在現(xiàn)有的觀察到的工作負(fù)載上實施操作,以使其以某種方式正?;?。通常,軟件還以這 些間隔記錄工作負(fù)載均衡的快照。每個快照表示時間窗(工作負(fù)載窗口),通過規(guī)范化軟件 優(yōu)化,使得最近的工作負(fù)載窗口中示出的工作負(fù)載均衡比更舊的窗口具有更大的影響。
[0010] 然而,在總工作方面,過期計時器方法在工作負(fù)載不一致時不那么有效。例如,兩 個工作負(fù)載可在可尋址空間上均等分布,但一個工作負(fù)載僅可實施另一工作負(fù)載的一半 10。由于具有從其之前的窗口保存的更少的數(shù)據(jù),這意味著更小的工作負(fù)載可能對工作負(fù) 載中的改變反應(yīng)更劇烈。反應(yīng)可描述性能軟件如何有效地規(guī)范化工作負(fù)載。因此,如果每 個工作負(fù)載窗口記錄來自之前的窗口的數(shù)據(jù),以確定如何計劃下一工作負(fù)載窗口,則由于 存在更少的數(shù)據(jù),之前的窗口具有更少的影響。數(shù)據(jù)量的增加可削弱過去的更低的數(shù)據(jù)量 工作負(fù)載窗口。然而,對于更大的工作負(fù)載,數(shù)據(jù)量可能沒有增加;因此,更大的負(fù)載反應(yīng)更 小。與更小的工作負(fù)載相比,被之前的窗口影響的更強(qiáng)烈。
[0011] 除了所有工作負(fù)載的不一致反應(yīng),為保持工作負(fù)載類型隨著時間過去的一致性的 計時器規(guī)定一個時間可能是有挑戰(zhàn)性的。由于規(guī)定的計數(shù)器可提供特定量的反應(yīng)性和敏感 性,因此當(dāng)工作負(fù)載大小改變時,工作負(fù)載可變成對過期計時器值不反應(yīng),或過反應(yīng),甚至 沒有變化。
[0012] 相反,本技術(shù)的示例允許一致地反應(yīng)的工作負(fù)載的窗口化視圖:在當(dāng)前窗口中的 工作負(fù)載上,且在連續(xù)的工作負(fù)載窗口上。在一個示例中,與其他方法中的連續(xù)窗口相比, 每個工作負(fù)載窗口因此與最近的窗口更可能類似。此外,由于連續(xù)的工作負(fù)載的一致性條 件,提出保持確定的一致性的工作負(fù)載使得能夠更有效地實施底層算法。
[0013] 圖1是根據(jù)實施例的可用于調(diào)節(jié)窗口工作負(fù)載的示例系統(tǒng)100的框圖。系統(tǒng)100 包括通過網(wǎng)絡(luò)120與至少兩種形式的可尋址磁盤存儲器通信的計算單元102。存儲器A 112 表示快速訪問存儲器,其表示CPU 104能夠比CPU從存儲器B 114訪問塊更快地從存儲器 A 112訪問塊。在一個示例中,存儲器A 112和存儲器B 114表示自動分層系統(tǒng)的層。
[0014] 計算單元102包括CPU 104以及內(nèi)存106。內(nèi)存106包括工作負(fù)載108、窗口管理 器110、IO表116以及自校正器118。工作負(fù)載108表示CPU 104上運(yùn)行的作業(yè)。窗口管理 器110生成用于調(diào)整存儲器A 112的訪問性能的各窗口。各窗口部分地通過IO表116表 示。IO表116包括對存儲器A 112和存儲器B 114的每個塊的訪問的數(shù)量。
[0015] 內(nèi)存106還包括自校正器118。自校正器118可交換存儲器A 114和存儲器B 116 之間的存儲。具體地,自校正器118基于當(dāng)前的工作負(fù)載實施的訪問的平均數(shù),作出關(guān)于是 否交換存儲器B 114的特定塊與存儲器A 116的塊的決定。在示例中,訪問值的范圍也用 于作出此決定。
[0016] 基于過期計時器并通過X-Y范圍生成工作負(fù)載窗口,其中,X表示范圍的低端,并 且Y是高端。X-Y范圍表示對存儲器A 112的訪問的平均計數(shù)的范圍。因此,如果過期計 數(shù)器觸發(fā)之前,平均計數(shù)在Y之上,則生成下一個工作負(fù)載窗口,并復(fù)位計時器。如果計時 器啟動,且平均值在X-Y范圍內(nèi),則也生成工作負(fù)載窗口。然而,如果計時器啟動,且平均值 低于X,則不生成工作負(fù)載窗口。當(dāng)然,除非平均計數(shù)滿足或超過X,否則不生成工作負(fù)載窗 口。X和Y值還可由自校正器118使用來設(shè)置用于交換塊且用于在自動分層系統(tǒng)中分層的 其余值。表1中歸納了生成新的工作負(fù)載窗口的這些條件:
[0018] 表 1
[0019] 圖2A-圖2C是根據(jù)示例的用于調(diào)節(jié)工作負(fù)載窗口的輸入-輸出(IO)表118的示 例。這些示例表示存儲系統(tǒng)100,例如自動分層系統(tǒng),其中,規(guī)定的X-Y范圍210在每塊3個 IO和每塊10個IO之間?;谟勺孕U鞔_定的比較值212確定交換。
[0020] 在圖2A中,系統(tǒng)100已運(yùn)行了一段時間,IO表116已累積了快速層202中各塊的 這些計數(shù),具有11的平均IO速率204,并且慢速層206具有5的平均IO速率208。在快速 層202中,快速層上的平均IO速率是11,其在規(guī)定的Y之上。調(diào)整該系統(tǒng)以在3和10之間 的平均IO速率上工作,因此生成新的工作負(fù)載窗口。
[0021] 在一個示例中,在生成新的工作負(fù)載窗口時,計數(shù)202、206全部被歸零。在另一個 示例中,每個計數(shù)202、206除以規(guī)定的因子,可四舍五入。在這種示例中,歷史計數(shù)影響關(guān) 于交換的未來的決定,因此歷史計數(shù)的影響減退而不是如在歸零的示例中那樣清除。
[0022] 在圖2B中,建立新的窗口,包括已減小了兩倍的計數(shù)。在此示例中,計數(shù)202、206 再次在規(guī)定的X-Y范圍210內(nèi)。如果IO速率將平均計數(shù)帶到規(guī)定的X值以下,即3,那么不 生成新的工作負(fù)載窗口,直至平均計數(shù)等于或大于X。系統(tǒng)100繼續(xù)以這種方式運(yùn)行,保持 計數(shù)202、206在規(guī)定的X-Y范圍內(nèi)。
[0023] 在圖2C中,示出了示例的IO表216。IO表216包括可尋址磁盤空間的地址218 和當(dāng)前窗口的計數(shù)220。在示例中,可規(guī)定地址空間的多個塊,例如各層或各塊222的范圍。 如示出的,還可維持IO的總數(shù)。因此,可通過用例如IO表216中的總訪問數(shù)除以地址218 的數(shù),確定平均訪問率。
[0024] 圖3是根據(jù)示例調(diào)節(jié)窗口工作負(fù)載的示例方法300的程序流程圖。方法300在框 302處開始,其中IO表116基于到每個地址塊的IO更新。如之前陳述的,可跟蹤地址或地 址范圍的訪問計數(shù)。每次,工作負(fù)載108中的一個工作負(fù)載訪問可尋址磁盤空間,增加適當(dāng) 的地址或塊的IO表116中的表項。
[0025] 此外,還跟蹤所有表項上的總計數(shù)。此總數(shù)可表示工作負(fù)載的可能的可尋址磁盤 空間目標(biāo)上的所有表項的總數(shù)??商娲?,就分層存儲系統(tǒng)來說,層中的每個層可具有其自 己的總數(shù)。在這種場景下,可能的是,最高層總數(shù)可用于在自動分層系統(tǒng)中作出決定。
[0026] 在框304處,確定平均值。為了保持不同大小的平臺上的數(shù)學(xué)一致性,使平均計數(shù) 可由自校正器訪問。通過用總計數(shù)除以存儲這些計數(shù)的總表項來表示此平均值。
[0027] 在框306處,窗口管理器110確定是否生成新的工作負(fù)載窗口。該確定是基于過 期計時器、平均訪問以及X-Y范圍的。如果過期計時器已經(jīng)過期,且平均訪問小于X,則控制 流程返回到框302。然而,如果過期計時器未過期,且平均計數(shù)小于Y,則控制流程返回到框 302〇
[0028] 進(jìn)一步,不管過期計時器是否過期,如果平均計數(shù)在每塊Y個IO以上,那么在框 308處生成新的工作負(fù)載窗口。類似地,如果平均計數(shù)等于或大于X,且過期計時器已過期, 那么在框308處生成新的工作負(fù)載窗口。
[0029] 生成新的工作負(fù)載窗口針對不同的實現(xiàn)方式可能意味著的不同的事。在一些情況 下,所有訪問計數(shù)可設(shè)置為零。在其他情況,像自動分層,可用計數(shù)除以一因子,以減小或減 少來自較舊的窗口的值的影響。
[0030] 這使得能夠基于靜態(tài)的X和Y的值配置參照圖1以及圖2A-E描述的自校正器118。 就自動分層應(yīng)用來說,分類決策可基于每塊最近4, 000個IO (或任何其他規(guī)定的閾值)。有 利地,由于確定是基于在(X,Y)之間的值變化的平均計數(shù)的,因此自校正器118可被配置成 允許小范圍的IO頻率,即反應(yīng)性