TWI805257B - 根據強化學習的預測來優化資源配置的方法 - Google Patents
根據強化學習的預測來優化資源配置的方法 Download PDFInfo
- Publication number
- TWI805257B TWI805257B TW111108098A TW111108098A TWI805257B TW I805257 B TWI805257 B TW I805257B TW 111108098 A TW111108098 A TW 111108098A TW 111108098 A TW111108098 A TW 111108098A TW I805257 B TWI805257 B TW I805257B
- Authority
- TW
- Taiwan
- Prior art keywords
- ppn
- poc
- time point
- smallest
- calculated
- Prior art date
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stereophonic System (AREA)
Abstract
揭露一種根據強化學習的預測來優化資源配置的方法,包括下列步驟:
a)提供在第0個時間點後超過N個時間點的工作負載之資源單位數量的預測給處理器;b)計算至少一第0個可能的運算成本(POC0),它是根據在第1個時間點(PPN1)的至少一可能的提供數量(PPN);c)由處理器對第i個時間點重複下列子步驟:c1)計算至少一第i個可能的運算成本(POCi);c2)找出最小和第二小POCi;及c3)將用來計算最小POCi的PPNi設為第i個指定數量;及d)由處理器在第0個時間點提供1單位的資源和在第i個時間點提供第i個指定單位數量的資源給工作負載。
Description
本發明關於優化配置的方法。詳言之,本發明關於根據強化學習的預測來優化資源配置的方法。
在電腦叢集中,硬體資源動態分配給工作負載。由於工作負載所要利用之諸如RAM模組或CPU的資源需求會隨時間而變,所以有許多預測方法對未來有粗估數量。雖然電腦叢集的建造成本一般是固定的,但包含壽命攤銷和耗電的運算成本會隨硬體資源的數量改變而增加。依據任何預測之工作負載的硬體資源的重大改變以總成本的觀點來看可能不經濟。在沒有預測時,硬體資源數量的調整是被動的,導致響應延遲很大。
因此,為降低上述問題的衝擊,需要更準確預測工作負載。過去引入的強化學習(RL)方法是利用學習過程來探索未來任何時間點的行動可能性,做出優化決定以滿足某些任務或遊戲的目標。當RL方法用來預測工作負載時,它導致所有可能路徑問題。也就是說,如果工作負載有一選擇是一次利用n個資源在未來需預測m個時間點,則RL方法必須根據長期學習旅程來考慮nm條路徑的資源部署。顯然,計算優化結果所需的決策過程的計算複雜度是指數級的。計算成本是管理者的另一個麻煩,因為它需要更多的軟體開發人力。
從平衡的角度來看,如果硬體資源數量的調整盡可能少,而RL方法的計算成本受限,則工作負載的總成本可以最小。然而,現有技術中並沒有提供用於電腦叢集的該功能的方法。
本段摘錄並彙編本發明的某些特性;其他特性將在後續段落中揭露。其旨在涵蓋申請專利範圍的精神和範疇內所包括的各種修改和類似配置。
依據本發明的一個觀點,揭露了根據強化學習的預測來優化資源配置的方法。處理器決定要利用的電腦叢集中的資源單位數量。該方法包括下列步驟:a)提供在第0個時間點後超過N個時間點的工作負載所需之資源單位數量的預測給處理器,其中可提供最大M個單位的來源,Ui是依據預測在第i個時間點所需的單位數量,N、M、i都是正整數;b)由處理器來計算至少一第0個可能的運算成本(POC0),它是根據在U1至M中的第1個時間點(PPN1)的至少一可能的提供數量(PPN),其中POC0得自POC0=K+RF x|PPN1-K|+PPN1,其中RF是介於0與1之間的再平衡因子,且K為一實數;c)由處理器對第i個時間點依序重複下列子步驟,i是從1至N:c1)計算至少一第i個可能的運算成本(POCi),其中POCi得自POCi=POC(i-1)+RF x|PPN(i+1)-PPNi|+PPN(i+1),其中POC(i-1)是對第(i-1)個時間點所計算的可能的運算成本,PPN(i+1)是在U(i+1)至M中之第(i+1)個時間點的PPN,PPNi是在Ui至M中之第i個時間點的PPN,用來計算POCi和POC(i-1)的PPNi具有相同值;c2)找出最小和第二小POCi;及c3)如果最小和第二小POCi是從計算自相同PPNi,則將用來計算最小POCi的PPNi設為第i個指定數量,從下一時間點的計算的第i個指定數量除去未計算的POCi;及d)由處理器在第0個時間點提供1單位的資源和在第i個時間點提供第i個指定單位數量的資源給工作負載。
該方法可進一步包括下列子步驟:c4)如果未自相同PPNi計算最小和第二小POCi,則個別使用PPNi來計算POC(i+1),將用來計算最小POC(i+1)的PPNi設為第i個指定數量,從下一時間點的計算的第i個指定數量除去未計算的POCi,其中POC(i+1)是對第(i+1)個時間點所計算的可能的運算成本。
優選地,資源是記憶體模組、CPU、I/O吞吐量、響應時間、每秒請求數、或延遲。
本發明也揭露了根據強化學習的預測來優化資源配置的另一方法。處理器決定要利用的電腦叢集中的資源單位數量。該方法包括下列步驟:a)提供在第0個時間點後超過N個時間點的工作負載所需之資源單位數量的預測給處理器,其中可提供最大M個單位的來源,Ui是依據預測在第i個時間點所需的單位數量,N、M、i都是正整數;b)由處理器來計算至少一第0個可能的運算成本(POC0),它是根據在U1至U1+A與M二者中之最小者中的第1個時間點(PPN1)的至少一可能的提供數量(PPN),其中POC0得自POC0=K+RF x|PPN1-K|+PPN1,其中RF是介於0與1之間的再平衡因子,A是整數,且K為一實數;c)由處理器對第i個時間點依序重複下列子步驟,i是從1至N:c1)計算至少一第i個可能的運算成本(POCi),其中POCi得自POCi=POC(i-1)+RF x|PPN(i+1)-PPNi|+PPN(i+1),其中POC(i-1)是對第(i-1)個時間點所計算的可能的運算成本,PPN(i+1)是在U(i+1)至U(i+1)+A與M二者中最小者中之第(i+1)個時間點的PPN,PPNi是在Ui至Ui+A與M二者中之最小者中之第i個時間點的PPN,用來計算POCi和POC(i-1)的PPNi具有相同值;c2)找出最小和第二小POCi;及c3)如果最小和第二小POCi是從計算自相同PPNi,則將用來計算最小POCi的PPNi設為第i個指定數量,從下一時間點的計算的第i個指定數量除去未計算的POCi;及d)由處理器在第0個時間點提供1單位的資源和在第i個時間點提供第i個指定單位數量的資源給工作負載。
該方法可進一步包括下列子步驟:c4)如果未自相同PPNi計算最小和第二小POCi,則個別使用PPNi來計算POC(i+1),將用來計算最小POC(i+1)的PPNi設為第i個指定數量,從下一時間點的計算的第i個指定數量除去未計算的POCi,其中POC(i+1)是對第(i+1)個時間點所計算的可能的運算成本。
優選地,資源是記憶體模組、CPU、I/O吞吐量、響應時間、每秒請求數、或延遲。
另一種根據強化學習的預測來優化資源配置的方法,是藉由處理器決定所要用的電腦叢集中的資源的單位數量來實施,包括下列步驟:a)提供在第0個時間點後超過N個時間點的工作負載所需之資源單位數量的預測給處理器,其中可提供最大M個單位的來源,Ui是依據預測在第i個時間點所需的單位數量,N、M、i都是正整數;b)由處理器來計算至少一第1個可能的運算成本(POC1),它是根據在U1至M中的第1個時間點(PPN1)的至少一可能的提供數量(PPN)和在U2至M中的第2個時間點(PPN2)的至少一PPN,其中POC0得自POC1=K+RF x|PPN1-K|+PPN1+RF x|PPN2-PPN1|+PPN2,其中RF是介於0與1之間的再平衡因子,且K為一實數;c)將用來計算最小POC1的PPN1設為第1個指定數量;d)由處理器對時間點依序重複下列子步驟,i是從2至2 x[N/2]的偶數:d1)計算至少一第(i+1)個可能的運算成本POC(i+1),其中POC(i+1)得自POC(i+1)=POC(i-1)+RF x|PPN(i+1)-PPNi|+PPN(i+1)+Wi,其中Wi是RF x|PPN(i+2)-PPN(i+1)|+PPN(i+2),POC(i-1)是對第(i-1)個時間點所計算的可能的運算成本,PPN(i+2)是在U(i+2)至M中的第(i+2)個時間點的PPN,PPN(i+1)是在U(i+1)to至M中的第(i+1)個時間點的PPN,PPNi是在Ui至M中的第i個時間點的PPN,用來計算POC(i+1)和POC(i-1)的PPNi具有相同值;其中如果(i+2)大於N,則從計算省略Wi;d2)找出最小和第二小POCi;及d3)如果最小和第二小POCi計算自相同PPNi,則將用來計算最小POC(i+1)的PPNi設為第i個指定數量且用來計算最小POC(i+1)的PPN(i+1)設為第
(i+1)個指定數量,從下一時間點的計算的第i個指定數量除去未計算的POC(i+1);及e)由處理器在第0個時間點提供1單位的資源和在第j個時間點提供第j個指定單位數量的資源給工作負載,其中j是在1至N中。
優選地,資源是記憶體模組、CPU、I/O吞吐量、響應時間、每秒請求數、或延遲。
10:電腦叢集
20:網際網路
30:用戶端
100:計算單元
101:CPU
101a:處理器
101b:CPU
102:記憶體模組
103:儲存裝置
120:網路通訊介面
圖1顯示本發明應用的硬體架構。
圖2是揭露於本發明第一實施例的方法的流程圖。
圖3顯示預測結果。
圖4是查找表。
圖5至圖7列出對所有時間點的計算。
圖8是揭露於本發明第二實施例的改良方法的流程圖。
圖9顯示與圖3相同的預測結果,可能的提供數量不同。
圖10和圖11列出對所有時間點的計算。
圖12是揭露於本發明第三實施例的方法的流程圖。
圖13顯示預測結果。
圖14是查找表。
圖15至圖19列出對所有時間點的計算。
現在參照以下實施例來更詳細說明本發明。
請參照圖1。它顯示本發明應用的硬體架構。電腦叢集10(例如,資料中心)有許多計算單元100,各有多個CPU 101和記憶體模組102(諸如
SDRAM),分享儲存在儲存裝置103(諸如硬碟)的資料。計算單元100可經由內部資料網路110來合作支援工作負載的運算。電腦叢集10進一步經由網路通訊介面120將用戶端30連接網際網路20。舉例來說,計算單元100提供串流服務給用戶端30做為工作負載。提供給工作負載的CPU 101和記憶體模組102的數量決定工作負載的請求可以多快得到反應。CPU和記憶體模組在實施例中稱為資源。雖然愈多資源用於工作負載會提高工作負載的性能,但也對整個系統造成負荷。消耗掉資源的壽命,且其他工作負載不能共享相同資源。因此,本發明是優化資源配置的方法。配置是根據資源需求的預測,但由強化學習來修改。該方法由其中一個計算單元100中的處理器101a(ASIC或其中一個CPU 100)來實施。處理器101a決定要利用的電腦叢集10中的資源的單位數量,利用是依據方法的結果。預測可由另一CPU 101b來計算並提供,或從電腦叢集10之外的外部系統輸入。
請參照圖2。它是揭露於本發明第一實施例的方法的流程圖。該方法的第一步驟是提供在第0個時間點後超過N個時間點的工作負載所需之資源單位數量的預測給處理器,其中可提供最大M個單位的來源,Ui是依據預測在第i個時間點所需的單位數量,N、M、i都是正整數(S01)。預測可以是根據演算法、公式、經驗甚或人工智慧的任何方法,只要有未來的工作負載所需之資源的單位數量。依據本發明,並非預測的所有結果都用於計算。只使用有限的數量N。N是本發明的使用者所定義的數字。此實施例中,N設為9。預測可對超過N個時間點提供資源需求。額外資料可用於另一階段的資源配置計算。本實施例中,M以6為例。有鑑於M和N的值,為了下一步驟的運算,預測結果顯示於圖3。實心點代表在不同時間點之資源(例如,CPU)的預測單位數量。舉例來說,依據預測,第3個時間點會需要6單位的資源。廣義來說,可增進工作負載性能的
系統的所有可控運算結果視為一種資源,例如但不限於I/O吞吐量、響應時間、每秒請求數、延遲。
該方法的第二步驟是由處理器來計算至少一第0個可能的運算成本(POC0),它是根據在U1至M中的第1個時間點(PPN1)的至少一可能的提供數量(PPN),其中POC0得自POC0=K+RF x|PPN1-K|+PPN1,其中RF是介於0與1之間的再平衡因子,且K為一實數(S02)。此步驟由處理器101a進行初步計算。為了更明瞭,請參照圖5。它列出對一部分時間點的計算。每一計算分成三個矩陣。左矩陣列出在先前時間點的所有PPN。中矩陣與圖4做比較,顯示在過渡成本上的一部分計算。右矩陣將POC加到同一列的每一過渡成本,顯示對目前時間點找到指定數量的結果。本發明的基本觀念是對一時間點決定適當單位數量的資源,它借助考慮從在先前時間點提供給工作負載所計算之資源的所有種類組合所累積的運算成本,找出最小累積成本,使用可能的提供數量做為資源的指定數量以利用到工作負載。如果需要的話,考慮下一時間點的計算。整個過程延伸自強化學習(動態規畫)的邏輯,使用諸如成本函數、最大獎勵(最小成本)、迭代的類似觀念。然而,為降低冗長計算程序,省略合理且非必要的計算。PPN表示一時間點的候選的所有數量。PPNi是從預測數量Ui至系統可提供之最大數量M中的任一數量。舉例來說,在第2個時間點,所需資源的預測單位數量是3,可利用最多有6單位的資源,用於第1個和第2個時間點之計算的PPN2是3、4、5、6。如果Ui和M相同,則只使用一數量。在任何時間點,當利用一單位的資源時,會降低資源的壽命且耗電。為簡化及量化結果,所有隨後的計算使用最小成本,1,作為K。為了方便說明,在所有實施例中,將K設為1。當然,兩個後續時間點之間的資源改變數量也很貴,但不及只用一個。因此,以再平衡因子來減少改變。RF隨不同種類的資源而變。選擇RF是根據資源的特性。此實施例中,以0.6為例。
對第0個時間點的計算,這是例外。由於沒有先前時間點,所以應指定起始值做為累積成本。依據本發明,數量是“1”。上述計算公式中,“|PPN1-1|”得到在第0個和第1個時間點之間的資源改變數量,“RF x|PPN1-1|”將|PPN1-1|減少40%(RF=0.6),對第1個時間點的計算得到兩個POC0:8.4、10。應注意在其他實例中,POC0的數量可大於2,也可以是1。
該方法的第三步驟是由處理器對第i個時間點依序重複下列子步驟,i是從1至N(S03)。此步驟是對所有N個時間點的計算。該子步驟詳述如下。
第一子步驟是計算至少一第i個可能的運算成本(POCi),其中POCi得自POCi=POC(i-1)+RF x|PPN(i+1)-PPNi|+PPN(i+1),其中POC(i-1)是對第(i-1)個時間點所計算的可能的運算成本,PPN(i+1)是在U(i+1)至M中之第(i+1)個時間點的PPN,PPNi是在Ui至M中之第i個時間點的PPN,用來計算POCi和POC(i-1)的PPNi具有相同值(S03-1)。舉例來說,計算第1個時間點。圖5中,兩個POC0做為第一子步驟上述計算公式的“POC(i-1)”。此處,PPN(i+1)是PPN2,包含3、4、5、6。PPNi是PPN1,包含5和6如上述。為簡化“RF x|PPN(i+1)-PPNi|”的運算,圖4的查找表顯示了考慮從1至6的Ui和U(i+1)的計算,M對PPN(i+1)和PPNi都維持6,RF等於0.6。由於右矩陣只將PPN加到同列的每一過渡成本,所以8.4加到4.2、4.6、5、6.6,但不加到4.8、5.2、5.6、6。因此,得到的一列POC1(POCi)為12.6、13、13.4、15。同樣地,10加到4.8、5.2、5.6、6,但不加到4.2、4.6、5、6.6。得到的另一列POC1為14.8、15.2、15.6、16。PPN1中的“5”用來計算POC0中的“8.4”以及POC1中的12.6、13、13.4、15。
第二子步驟是找出最小和第二小POCi(S03-2)。圖5中,最小和第二小POC1分別是12.6和13。都來自相同PPN1,但PPN2不同。
第三子步驟是如果最小和第二小POCi是從計算自相同PPNi,則將用來計算最小POCi的PPNi設為第i個指定數量,從下一時間點的計算的第i個指定
數量除去未計算的POCi(S03-3)。如上所示,最小和第二小POC1來自相同PPN1,因而滿足前提,用來計算最小POCi(12.6)的PPN1為5(與12.6由箭號相連)並指定為第1個指定數量。對下一時間點的計算除去未計算自第1個指定數量5(也就是14.8、15.2、15.6、16)的POC1。只有12.6、13、13.4、15留給第2個時間點。相同計算參見圖5至圖7。
應注意從步驟S01至S03的計算只用於第1個時間點來臨時的資源配置,此刻不利用任何東西。計算是在第1個時間點之前已準備,甚至在第0個時間點之前。
該方法的最後步驟是由處理器在第0個時間點提供1單位的資源和在第i個時間點提供第i個指定單位數量的資源給工作負載(S04)。此步驟是資源配置步驟。依據先前步驟所計算的相關資料,資源的單位數量對第1個時間點至第9個時間點分別是5、5、6、5、5、5、5、5、6。結果不同於對第1個時間點至第9個時間點分別要求5、2、6、1、5、6、5、2、9的預測。資源的提供單位數量使運算的成本最低。
雖然對第2個時間點至第9個時間點執行相同計算,但在不同情況下有兩個例外。
第一例外以圖6顯示。第三子步驟的前提要求最小和第二小POCi應計算自相同PPNi。然而,對第4個時間點處理計算時,最小和第二小POC4計算自不同的PPN4。也就是說,最小POC4(30.6)計算自5,而第二小POC4(32)計算自6。這意味著難以知道哪個PPN4對第5個時間點有最低計算成本。依據本發明,此情況的解決之道是個別計算的兩個PPN4都用於第5個時間點,依據兩個計算的結果來決定第4個指定數量。因此,需要第四子步驟,如果未自相同PPNi計算最小和第二小POCi,則個別使用PPNi來計算POC(i+1),將用來計算最小POC(i+1)的PPNi設為第i個指定數量,從下一時間點的計算的第i個指定數量除去未計算的
POCi,其中POC(i+1)是對第(i+1)個時間點所計算的可能的運算成本。圖6的實例中,PPN4的5及相關POC4(30.6和32.2)用於第5個時間點的計算,版本1;PPN4的6及相關POC4(32.2和32)用於第5個時間點的計算,版本2。在此情況下,二個版本顯示5是計算最小POC5(34.4和35.4)的PPN4。然後5回頭設給第4個指定數量。其餘與第三子步驟相同,不再重複。
第二例外發生在第9個時間點的計算。因為本方法只接受9個時間點的預測,所以即使可預測第10個時間點,也不會使用。因此,PPN10設為“0”。計算顯示於圖7。
由傳統強化學習的觀點來看,如果不要失去找到最小成本的任何改變,則應計算圖5至圖7中的右矩陣的所有資料。舉例來說,第1個時間點的計算的右矩陣只包含8個資料,而應做36個計算已得到36個資料。對此時間點,節省28個計算;從第0個時間點至第9個時間點,整個過程節省257個計算;實際情形有數千個資源單位和數百個時間點;可節省數百萬個計算。藉助於本方法,可降低指數型複雜度。在有限時間內可達成接近最佳且可接受的結果,大為增加可用性並降低運算成本。
依據本發明的精神,計算量在另一改良方法可進一步降低。改良方法顯示於第二實施例。
請參照圖8。它是揭露於本發明第二實施例的改良方法的流程圖。為簡化第二實施例的說明,此處仍應用第一實施例的資源需求預測。此外,第二實施例也應用於圖1的架構。可提供的來源最大單位M維持6。第一實施例的方法與改良方法間的唯一差異是PPN的定義。用於此實施例的每一時間點的PPN量進一步降低。PPN包含在第i個時間點所需的單位數量Ui和其他較大數量。較大數量可不含M。改良方法以圖10和圖11來顯示,列出所有時間點的計算。
改良方法的第一步驟是提供在第0個時間點後超過N個時間點的工作負載所需之資源單位數量的預測給處理器,其中可提供最大M個單位的來源,Ui是依據預測在第i個時間點所需的單位數量,N、M、i都是正整數(S11)。此步驟與步驟S01相同。如上述,N和M維持相同以說明第二實施例。
改良方法的第二步驟是由處理器來計算至少一第0個可能的運算成本(POC0),它是根據在U1至U1+A與M二者中之最小者中的第1個時間點(PPN1)的至少一可能的提供數量(PPN),其中POC0得自POC0=K+RF x|PPN1-K|+PPN1,其中RF是介於0與1之間的再平衡因子,A是整數,且K可為任一實數,在此將K設為1(S12)。RF也設為0.6。步驟S02與步驟S12間的差異是PPN1受限於其上限。為更了解差異,請參照圖9。如同圖3,具有相同預測結果,但可能的提供數量不同。此實施例中,A為2。對每一時間點的計算,底線是Ui,上限是U1+A或M中的較小者。對第0個時間點的計算,U1+A等於7而M是6。因此,因為最多可用的資源有6單位,所以PPN1是6。不能是7。由於一開始1是給予最小成本,所以第0個時間點的POC0的計算結果也是8.4和10。請回到圖7。如果對每一第i個時間點,PPNi的上限由點線連接,PPNi的下限由實線連接,則形成“隧道”。所有時間點的資源單位的指定數量落入隧道中。
改良方法的第三步驟是由處理器對第i個時間點依序重複下列子步驟,i是從1至N(S13)。似乎與步驟S03相同。然而,子步驟不同。以下是這些子步驟的說明。
第一子步驟是計算至少一第i個可能的運算成本(POCi),其中POCi得自POCi=POC(i-1)+RF x|PPN(i+1)-PPNi|+PPN(i+1),其中POC(i-1)是對第(i-1)個時間點所計算的可能的運算成本,PPN(i+1)是在U(i+1)至U(i+1)+A與M二者中最小者中之第(i+1)個時間點的PPN,PPNi是在Ui至Ui+A與M二者中之最小者中之第i個時間點的PPN,用來計算POCi和POC(i-1)的PPNi具有相同值(S13-1)。顯然,
PPN(i+1)和PPNi的上限已改變。對第1個時間點的計算,PPN2包含3、4、5。U2依據預測是3。由於U2+2和6中的最小者是U2+2(5),所以不再使用6。同樣地,PPN3只包含6。PPN4包含1、2、3。PPN5包含5和6。PPN6包含2、3、4。PPN7包含5和6。PPN8包含2、3、4。PPN9包含6。由於PPN有不同定義,所以POCi的計算結果跟著變化。舉例來說,第1個時間點的計算中,8.4加到4.2、4.6、5,但不加到4.8、5.2、5.6。因此,得到的一列的POC1(POCi)是12.6、13、13.4。同樣地,10會加到4.8、5.2、5.6,但不加到4.2、4.6、5。得到的另一列的POC1是14.8、15.2、15.6。PPN1中的“5”用來計算POC0中的“8.4”以及POC1中的12.6、13、13.4。
第二子步驟是找出最小和第二小POCi(S13-2)。此步驟與子步驟S03-2相同。圖10中,最小和第二小POC1分別是12.6和13。它們來自相同PPN1,但PPN2不同。
第三子步驟是如果最小和第二小POCi是從計算自相同PPNi,則將用來計算最小POCi的PPNi設為第i個指定數量,從下一時間點的計算的第i個指定數量除去未計算的POCi(S13-3)。此步驟與子步驟S03-3相同。由於二方法的第二步驟及第一子步驟不同,所以後續結果也不同。舉例來說,利用相同預測,第二實施例的第4個指定數量是3,而第一實施例的第4個指定數量是5。
同樣地,改良方法的最後步驟是由處理器在第0個時間點提供1單位的資源和在第i個時間點提供第i個指定單位數量的資源給工作負載(S14)。與步驟S04相同,不再詳述。
如同第一實施例,改良方法會碰到兩種例外。第二實施例中,未見到第一例外。然而,可能出現在其他實例。在此情況下,執行以下子步驟:如果未自相同PPNi計算最小和第二小POCi,則個別使用PPNi來計算POC(i+1),將用來計算最小POC(i+1)的PPNi設為第i個指定數量,從下一時間點的計算的第i個
指定數量除去未計算的POCi,其中POC(i+1)是對第(i+1)個時間點所計算的可能的運算成本。
第二例外也發生在第二實施例的第9個時間點的計算。第一實施例的相同手段用來處理此處的PPN10。PPN10設為“0”。計算顯示於圖11。
第一實施例的方法的計算總數是67(與第5個時間點的計算無關,版本2不會發生在第二實施例),而第二實施例的改良方法是41。相較於第一實施例,第二實施例的改良方法的計算較少。節省26個計算。雖然每一時間點的資源的提供數量不相同,但其間沒有重大差異,對相同預測都有效。
上述實施例中,一指定數量得自兩個時間點的計算。依據本發明,超過一指定數量可得自兩個時間點的計算。從另一觀點來看,先前實施例收集資料以在兩個時間點之間的一“空窗”決定提供的資源。更多空窗可用於收集資料。計算數量會增加,但可節省時間。根據強化學習的預測來優化資源配置的另一方法顯示於第三實施例。
請參照圖12。它是揭露於本發明第三實施例的方法的流程圖。此實施例中,仍應用先前實施例的資源需求預測。同樣地,第三實施例也可用於圖1的架構。可提供的來源最大單位M維持6。該方法以圖15至圖19說明,列出所有時間點的計算。
該方法的第一步驟是提供在第0個時間點後超過N個時間點的工作負載所需之資源單位數量的預測給處理器,其中可提供最大M個單位的來源,Ui是依據預測在第i個時間點所需的單位數量,N、M、i都是正整數(S21)。此步驟與步驟S01和S11相同。如上述,N和M維持相同以說明本實施例。
該方法的第二步驟是由處理器來計算至少一第1個可能的運算成本(POC1),它是根據在U1至M中的第1個時間點(PPN1)的至少一可能的提供數量(PPN)和在U2至M中的第2個時間點(PPN2)的至少一PPN,其中POC0得自POC1=
K+RF x|PPN1-K|+PPN1+RF x|PPN2-PPN1|+PPN2,其中RF是介於0與1之間的再平衡因子,且K為一實數(S22)。RF也設為0.6,而K為1。為更了解差異,請參照圖13和圖15。圖與13圖3有相同預測結果。圖14包含二個計算表。上表列出RF x|PPN1-1|+PPN1+RF x|PPN2-PPN1|+PPN2的所有計算,而下表顯示POC1=1+RF x|PPN1-1|+PPN1+RF x|PPN2-PPN1|+PPN2的所有計算。“1”(不是在PPN1和POC1的)是下表中的指定數量。起始運算成本設為只提供一資源。計算POC1的公式類似得到POCi的公式,但計算橫跨三個時間點(二個空窗)。
該方法的第三步驟是將用來計算最小POC1的PPN1設為第1個指定數量(S23)。指定數量的函數與第一實施例相同。由於POC1最小,所以PPN1可引導結果並選為第1個指定數量。
該方法的第四步驟是由處理器對時間點依序重複下列子步驟,i是從2至2 x[N/2]的偶數(S24)。“i”的定義不同於先前實施例。第一,“i”是偶數,例如2、4、6...等等。[N/2]在高斯符號下的計算。此實施例中,N是9,因而[N/2]是8。也就是說,2、4、6、8取為不同迭代的計算的“i”。以下說明這些子步驟。
第一子步驟是計算至少一第(i+1)個可能的運算成本POC(i+1),其中POC(i+1)得自POC(i+1)=POC(i-1)+RF x|PPN(i+1)-PPNi|+PPN(i+1)+Wi,其中Wi是RF x|PPN(i+2)-PPN(i+1)|+PPN(i+2),POC(i-1)是對第(i-1)個時間點所計算的可能的運算成本,PPN(i+2)是在U(i+2)至M中的第(i+2)個時間點的PPN,PPN(i+1)是在U(i+1)to至M中的第(i+1)個時間點的PPN,PPNi是在Ui至M中的第i個時間點的PPN,用來計算POC(i+1)和POC(i-1)的PPNi具有相同值;其中如果(i+2)大於N,則從計算省略Wi(S24-1)。為了方便起見,POC(i+1)=POC(i-1)+RF x|PPN(i+1)-PPNi|+PPN(i+1)+RF x|PPN(i+2)-PPN(i+1)|+PPN(i+2)的結果見圖14,而RF=0.6。舉例來說,令i=2。請見圖16。圖16列出所有時間點的計算。此處,POC3計算自POC1。圖15中,POC1是12.6、13、13.4、15。公式變成POC3=POC1+RF x|PPN3-PPN2
|+PPN3+RF x|PPN4-PPN3|+PPN4。上表顯示RF x|PPN3-PPN2|+PPN3+RF x|PPN4-PPN3|+PPN4的結果。圖16中,PPN2是3至6,PPN3只是6,PPN4是1至6。因此,只計算24個數量並顯示於上表。POC3的結果在下表的右底部。
第二子步驟是找出最小和第二小POCi(S24-2)。此步驟與子步驟S03-2及S13-2相同。圖16中,最小和第二小POC3分別是24和24.2。它們來自不同PPN2。
第三子步驟是如果最小和第二小POCi計算自相同PPNi,則將用來計算最小POC(i+1)的PPNi設為第i個指定數量且用來計算最小POC(i+1)的PPN(i+1)設為第(i+1)個指定數量,從下一時間點的計算的第i個指定數量除去未計算的POC(i+1)(S24-3)。此實施例中,雖然最小和第二小POC3計算自相同PPN2,但所用的PPN2可由第二實施例的相同程序找到。此處省略不再重複。24是PPN2(點背景)。因此,第2個指定數量是5,第3個指定數量是6(點背景)。用於下一迭代的計算的POC3是24、24.4、24.8、25.2、25.6、26。對i=4和i=6的計算結果顯示於圖17和圖18。
不同計算發生在i是8的時候。沒有PPN10。它匹配(i+2)大於N(10>9)的情況。從計算省略Wi的部分。計算結果顯示於圖19。簡化的公式變成POC9=POC7+RF x|PPN9-PPN8|+PPN9。這種公式與先前實施例相同。然而,依據相同方法來選擇第8個和第9個指定數量。第8個指定數量是5,第9個指定數量是6。
該方法的最後步驟是由處理器在第0個時間點提供1單位的資源和在第j個時間點提供第j個指定單位數量的資源給工作負載,其中j是在1至N中(S25)。它與步驟S04及S14相同,而變數符號不同。
第三實施例的方法的計算總數是137。相較於第一和第二實施例,第三實施例的方法使用較多計算。雖然每一時間點的資源的提供數量可能不相同,但沒差很多,有結果的時間可降低。
應注意以上所有數學公式只是用來說明,而非限制本發明的應用。可表達相同微積分邏輯的任何其他數學公式也在本發明的範疇中。
儘管本發明已經根據目前認為是最實用和優選的實施例進行了描述,但應理解本發明不必限於所揭露的實施例。相反地,其意在涵蓋包括在所附申請專利範圍的精神和範疇內的各種修改和類似布置,它們應符合最廣泛的解釋,以涵蓋所有這樣的修改和類似結構。
10:電腦叢集
20:網際網路
30:用戶端
100:計算單元
101:CPU
101a:處理器
101b:CPU
102:記憶體模組
103:儲存裝置
120:網路通訊介面
Claims (8)
- 一種根據強化學習的預測來優化資源配置的方法,是藉由處理器決定所要用的電腦叢集中的資源單位數量來實施,包括下列步驟:a)提供在第0個時間點後超過N個時間點的工作負載所需之資源單位數量的預測給處理器,其中M為可提供的最大資源單位數量,Ui是依據預測在第i個時間點所需的單位數量,N、M、i都是正整數;b)由處理器來計算至少一第0個可能的運算成本(POC0),它是根據在U1至M中的第1個時間點(PPN1)的至少一可能的提供數量(PPN),其中POC0得自POC0=K+RF x|PPN1-K|+PPN1,其中RF是介於0與1之間的再平衡因子,且K為一實數;c)由處理器對第i個時間點依序重複下列子步驟,i是從1至N:c1)計算至少一第i個可能的運算成本(POCi),其中POCi得自POCi=POC(i-1)+RF x|PPN(i+1)-PPNi|+PPN(i+1),其中POC(i-1)是對第(i-1)個時間點所計算的可能的運算成本,PPN(i+1)是在U(i+1)至M中之第(i+1)個時間點的PPN,PPNi是在Ui至M中之第i個時間點的PPN,用來計算POCi和POC(i-1)的PPNi具有相同值;c2)找出最小和第二小POCi;及c3)如果最小和第二小POCi是從計算自相同PPNi,則將用來計算最小POCi的PPNi設為第i個時間點的指定數量,從下一時間點的計算的第i個時間點的指定數量除去未計算的POCi;及d)由處理器在第0個時間點提供1單位的資源和在第i個時間點提供第i個時間 點的指定數量的資源給工作負載。
- 如申請專利範圍第1項的方法,進一步包括下列子步驟:c4)如果未自相同PPNi計算最小和第二小POCi,則個別使用PPNi來計算POC(i+1),將用來計算最小POC(i+1)的PPNi設為第i個時間點的指定數量,從下一時間點的計算的第i個時間點的指定數量除去未計算的POCi,其中POC(i+1)是對第(i+1)個時間點所計算的可能的運算成本。
- 如申請專利範圍第1項的方法,其中資源是記憶體模組、CPU、I/O吞吐量、響應時間、每秒請求數、或延遲。
- 一種根據強化學習的預測來優化資源配置的方法,是藉由處理器決定所要用的電腦叢集中的資源單位數量來實施,包括下列步驟:a)提供在第0個時間點後超過N個時間點的工作負載所需之資源單位數量的預測給處理器,其中M為可提供的最大資源單位數量,Ui是依據預測在第i個時間點所需的單位數量,N、M、i都是正整數;b)由處理器來計算至少一第0個可能的運算成本(POC0),它是根據在U1至U1+A與M二者中之最小者中的第1個時間點(PPN1)的至少一可能的提供數量(PPN),其中POC0得自POC0=K+RF x|PPN1-K|+PPN1,其中RF是介於0與1之間的再平衡因子,A是整數,且K為一實數;c)由處理器對第i個時間點依序重複下列子步驟,i是從1至N:c1)計算至少一第i個可能的運算成本(POCi),其中POCi得自POCi=POC(i-1)+RF x|PPN(i+1)-PPNi|+PPN(i+1), 其中POC(i-1)是對第(i-1)個時間點所計算的可能的運算成本,PPN(i+1)是在U(i+1)至U(i+1)+A與M二者中最小者中之第(i+1)個時間點的PPN,PPNi是在Ui至Ui+A與M二者中之最小者中之第i個時間點的PPN,用來計算POCi和POC(i-1)的PPNi具有相同值;c2)找出最小和第二小POCi;及c3)如果最小和第二小POCi是從計算自相同PPNi,則將用來計算最小POCi的PPNi設為第i個時間點的指定數量,從下一時間點的計算的第i個時間點的指定數量除去未計算的POCi;及d)由處理器在第0個時間點提供1單位的資源和在第i個時間點提供第i個時間點的指定數量的資源給工作負載。
- 如申請專利範圍第4項的方法,進一步包括下列子步驟:c4)如果未自相同PPNi計算最小和第二小POCi,則個別使用PPNi來計算POC(i+1),將用來計算最小POC(i+1)的PPNi設為第i個時間點的指定數量,從下一時間點的計算的第i個時間點的指定數量除去未計算的POCi,其中POC(i+1)是對第(i+1)個時間點所計算的可能的運算成本。
- 如申請專利範圍第4項的方法,其中資源是記憶體模組、CPU、I/O吞吐量、響應時間、每秒請求數、或延遲。
- 一種根據強化學習的預測來優化資源配置的方法,是藉由處理器決定所要用的電腦叢集中的資源單位數量來實施,包括下列步驟:a)提供在第0個時間點後超過N個時間點的工作負載所需之資源單位數量的預測給處理器,其中M為可提供的最大資源單位數量,Ui是依據預測在第i個時間點所需的單位數量,N、M、i都是正整數; b)由處理器來計算至少一第1個可能的運算成本(POC1),它是根據在U1至M中的第1個時間點(PPN1)的至少一可能的提供數量(PPN)和在U2至M中的第2個時間點(PPN2)的至少一PPN,其中POC0得自POC1=K+RF x|PPN1-K|+PPN1+RF x|PPN2-PPN1|+PPN2,其中RF是介於0與1之間的再平衡因子,且K為一實數;c)將用來計算最小POC1的PPN1設為第1個時間點的指定數量;d)由處理器對時間點依序重複下列子步驟,i是從2至2 x[N/2]的偶數:d1)計算至少一第(i+1)個可能的運算成本POC(i+1),其中POC(i+1)得自POC(i+1)=POC(i-1)+RF x|PPN(i+1)-PPNi|+PPN(i+1)+Wi,其中Wi是RF x|PPN(i+2)-PPN(i+1)|+PPN(i+2),POC(i-1)是對第(i-1)個時間點所計算的可能的運算成本,PPN(i+2)是在U(i+2)至M中的第(i+2)個時間點的PPN,PPN(i+1)是在U(i+1)to至M中的第(i+1)個時間點的PPN,PPNi是在Ui至M中的第i個時間點的PPN,用來計算POC(i+1)和POC(i-1)的PPNi具有相同值;其中如果(i+2)大於N,則從計算省略Wi;d2)找出最小和第二小POCi;及d3)如果最小和第二小POCi計算自相同PPNi,則將用來計算最小POC(i+1)的PPNi設為第i個時間點的指定數量且用來計算最小POC(i+1)的PPN(i+1)設為第(i+1)個時間點的指定數量,從下一時間點的計算的第i個時間點的指定數量除去未計算的POC(i+1);及e)由處理器在第0個時間點提供1單位的資源和在第j個時間點提供第j個時間點的指定數量的資源給工作負載,其中j是在1至N中。
- 如申請專利範圍第7項的方法,其中資源是記憶體模組、CPU、I/O吞吐量、響應時間、每秒請求數、或延遲。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111108098A TWI805257B (zh) | 2022-03-24 | 2022-03-24 | 根據強化學習的預測來優化資源配置的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111108098A TWI805257B (zh) | 2022-03-24 | 2022-03-24 | 根據強化學習的預測來優化資源配置的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI805257B true TWI805257B (zh) | 2023-06-11 |
TW202338651A TW202338651A (zh) | 2023-10-01 |
Family
ID=87802927
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111108098A TWI805257B (zh) | 2022-03-24 | 2022-03-24 | 根據強化學習的預測來優化資源配置的方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI805257B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110737529A (zh) * | 2019-09-05 | 2020-01-31 | 北京理工大学 | 一种面向短时多变大数据作业集群调度自适应性配置方法 |
CN113835878A (zh) * | 2021-08-24 | 2021-12-24 | 润联软件系统(深圳)有限公司 | 一种资源分配方法、装置、计算机设备及存储介质 |
CN114138416A (zh) * | 2021-12-03 | 2022-03-04 | 福州大学 | 面向负载-时间窗口的基于dqn云软件资源自适应分配方法 |
CN114205238A (zh) * | 2021-12-16 | 2022-03-18 | 中国电信股份有限公司 | 网络资源优化、模型训练方法、装置、存储介质及设备 |
-
2022
- 2022-03-24 TW TW111108098A patent/TWI805257B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110737529A (zh) * | 2019-09-05 | 2020-01-31 | 北京理工大学 | 一种面向短时多变大数据作业集群调度自适应性配置方法 |
CN113835878A (zh) * | 2021-08-24 | 2021-12-24 | 润联软件系统(深圳)有限公司 | 一种资源分配方法、装置、计算机设备及存储介质 |
CN114138416A (zh) * | 2021-12-03 | 2022-03-04 | 福州大学 | 面向负载-时间窗口的基于dqn云软件资源自适应分配方法 |
CN114205238A (zh) * | 2021-12-16 | 2022-03-18 | 中国电信股份有限公司 | 网络资源优化、模型训练方法、装置、存储介质及设备 |
Also Published As
Publication number | Publication date |
---|---|
TW202338651A (zh) | 2023-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Elgendy et al. | Joint computation offloading and task caching for multi-user and multi-task MEC systems: reinforcement learning-based algorithms | |
Li et al. | Energy-efficient and quality-aware VM consolidation method | |
CN111953758B (zh) | 一种边缘网络计算卸载和任务迁移方法及装置 | |
Liu et al. | A hierarchical framework of cloud resource allocation and power management using deep reinforcement learning | |
Kim et al. | Prediction based sub-task offloading in mobile edge computing | |
Jayanetti et al. | Deep reinforcement learning for energy and time optimized scheduling of precedence-constrained tasks in edge–cloud computing environments | |
CN108092804B (zh) | 基于Q-learning的电力通信网效用最大化资源分配策略生成方法 | |
Ghetas | A multi-objective Monarch Butterfly Algorithm for virtual machine placement in cloud computing | |
CN113822456A (zh) | 一种云雾混构环境下基于深度强化学习的服务组合优化部署方法 | |
Velasquez et al. | A rank-based mechanism for service placement in the fog | |
Golshani et al. | Proactive auto-scaling for cloud environments using temporal convolutional neural networks | |
Dong et al. | Content caching-enhanced computation offloading in mobile edge service networks | |
Jalalian et al. | A hierarchical multi-objective task scheduling approach for fast big data processing | |
CN113205128A (zh) | 基于无服务器计算的分布式深度学习性能保证方法 | |
TWI805257B (zh) | 根據強化學習的預測來優化資源配置的方法 | |
Khanh et al. | Fuzzy-based mobile edge orchestrators in heterogeneous IoT environments: An online workload balancing approach | |
CN116112938B (zh) | 一种基于多智能体强化学习的sfc部署方法 | |
Yadav et al. | Fuzzy based task allocation technique in distributed computing system | |
CN115086249B (zh) | 一种基于深度强化学习的云数据中心资源分配方法 | |
CN116541106A (zh) | 计算任务卸载方法、计算设备及存储介质 | |
Tran-Dang et al. | Cooperation for distributed task offloading in fog computing networks | |
US20230267006A1 (en) | Method for optimizing resource allocation basedon prediction with reinforcement learning | |
Lai et al. | Mobility-aware task offloading in MEC with task migration and result caching | |
CN114020469A (zh) | 基于边缘节点的多任务学习方法、装置、介质与设备 | |
Çavdar et al. | A Utilization Based Genetic Algorithm for virtual machine placement in cloud systems |