第三節 預測機制
本學位論文使用指數平滑法(Exponential Smoothing,ES)預測未來運算任務到 來的趨勢,本小節將介紹其方法以及預測模型。
(一)指數平滑法
指數平滑法係由Robert G. Brown所提出[14],用於對時間序列的趨勢作出合理的 預測,其使用過往的歷史資料,根據前後資料的時間順序給予不同的權重值,近期的 資料擁有相對高的權重,越遠離未來的資料則賦予逐漸降低收斂的權重,公式如下。
1. ㄧ次指數平滑法(Single Exponential Smoothing)
𝑆𝑡(1) = 𝑎 ∙ 𝑥𝑡−1+ (1 − 𝑎)𝑆𝑡−1(1) ( 1 )
𝑆𝑡(1)為對時間t時的新預測平滑值。
𝑆𝑡−1(1)為之前對時間t − 1所作的預測值。
𝑥𝑡−1為時間t − 1時的實際值。
a為平滑係數,其值範圍為0 ≤ a ≤ 1。
2. 二次指數平滑法(Second Expontial Smoothing)
此為對ㄧ次指數平滑值再進行ㄧ次指數平滑處理,因此無法獨立預測,需要配合
二次指數平滑法的預測模型如下:
𝑌𝑡+𝑇 = 𝑎𝑡+ 𝑏𝑡∙ 𝑇 ( 3 )
� 𝑎𝑡= 2 ∙ 𝑆𝑡(1)− 𝑆𝑡−1(2)
𝑏𝑡 =1−𝑎𝑎 �𝑆𝑡(1)− 𝑆𝑡(2)� ( 4 )
𝑌𝑡+𝑇為時間t + 𝑇時的預測值。
𝑇為預測未來的期數。
(二)預測模型
預測模型負責預測未來可能到達雲端系統的運算工作任務,並預演運算任務到達 之後雲端系統的狀況,預測所得到的運算任務序列如圖9所示。圖10表示預測所得 到的未來的運算任務與雲端系統的互動狀況。如圖所示未來的運算任務𝐽𝑜𝑏𝑖將會在𝑇𝑖 時間抵達,被預測出來的運算任務能夠表示為一序列{𝐽1, 𝐽2, 𝐽3⋯ , 𝐽𝑡 },每個運算任務之 間間隔𝑙𝑡(𝑙𝑡= 𝑇𝑡− 𝑇𝑡−1)的時間,運算任務之抵達時間、負載率、運算時間皆可使 用歷史資料不斷累積的預測方式計算得出。同時,若給定一資源分配方法(下一節將 清楚描述)以及系統負載狀況,則在時間模擬往前的過程中,若是原本已經在處理的 運算任務完成並離開實體機器,則釋放出佔用的資源供給其他需求使用的情形亦可模 擬預測。
圖 9:預測得到的運算任務序列示意
18
圖 10:預測模型示意
第四節 方法描述
本學位論文所提出的方法,是在現存已有的資源分配方法基礎架構之上加入以雲 端負載狀況作為高負載門檻值(及低負載門檻值)的預測方法,當越過給定門檻值時 即使用預測模型輔助原有的資源分配方法以進行決策,我們的預測方法根據預測模型 的結果來決定是否修正原有的資源分配方法(負載平衡法)所做出的決策。
(一)基本方法
我們針對雲端系統的負載狀況分別設定高、低兩個門檻值,當負載狀況落在高門 檻之上或者掉在低門檻之下時,即進行預測動作。
當有一新的運算任務抵達雲端時,使用公式5判斷當下的雲端系統的平均負載
狀況𝐿𝑜𝑎𝑑𝑎𝑣𝑒𝑟𝑎𝑔𝑒是否達到設定的高門檻值或落在低門檻值之下。
𝐿𝑜𝑎𝑑𝑎𝑣𝑒𝑟𝑎𝑔𝑒 =∑𝑛𝑖=1𝐿𝑜𝑎𝑑𝑛 𝑃𝑀𝑖, 𝑖 = 1, 2, 3 ⋯ 𝑛 ( 5 ) 其中𝑛為開啟的實體機器數量,𝐿𝑜𝑎𝑑𝑃𝑀𝑖表示實體機器(𝑃𝑀𝑖)的負載值,其值 位在0~1之間,當無處理任何運算任務處理時𝐿𝑜𝑎𝑑𝑃𝑀𝑖 = 0,滿載時𝐿𝑜𝑎𝑑𝑃𝑀𝑖 = 1。
1. 當雲端系統負載狀況超過高門檻:
當雲端系統被視作高負載狀態,我們預期各實體機器所剩下的資源皆很可能不足 以負擔新抵達雲端系統的運算任務,資源分配方法未來將在某一運算任務到達時因此 開啟新的實體機器以容納新抵達的運算任務。
此時我們提出一假設:
「在T時間內雲端系統不開啟新的實體機器,讓運算任務延遲至最高之容忍等待
19
時間前才分配處理而仍能負擔所有新抵達的運算任務(利用預測模型得知)之處理。」