一週一論文(翻譯)——[VLDB 19] Minimizing Cost by Reducing Scaling Operators in Distributed Stream Processing

Abstract

彈性分佈式流處理系統能夠動態地適應工作負載的變化。通常,這些系統通過向上或向下擴展來對輸入數據的速率或資源利用水平做出反應。目標是優化系統的資源使用,從而降低其運營成本。但是,這種擴展操作會自行消耗資源,從而爲每個擴展操作引入一定的資源使用開銷,從而降低成本。此外,由擴展操作引起的遷移不可避免地導致簡短的處理差距。因此,應避免過多的擴展操作。

       我們通過防止不必要的擴展操作和過度配置資源對工作負載的短期變化的反應來解決這個問題。這樣可以保持彈性,同時還可以最大限度地減少擴展操作帶來的開銷成本。爲實現這一目標,我們使用信號處理領域的先進濾波技術來預處理原始系統測量Metrics,從而減少多餘的縮放操作。我們執行真實的測試平臺評估驗證效果,並提供收支平衡成本分析,以顯示我們的方法的經濟可行性。

1. Introduction

       彈性是現代數據流處理(DSP)系統中的主要問題[19]。 簡而言之,彈性系統能夠在負載增加期間快速擴展,並且在負載減少期間縮小,而不是不斷地供應不足的計算資源,即,以比處理輸入數據速率所需的容量更小的容量操作。 或過度供應資源,即以超過要求的容量運行[1,25]。 利用彈性功能,流處理引擎(SPE)可以在運行時動態地適應輸入數據速率的變化,從而降低成本,同時滿足預定義的服務質量(QoS)級別[16]。

       可以監視DSP系統的某些屬性以達到擴展決策。 一方面,觀察到的屬性對於系統可能是外在的,例如,輸入數據或查詢的速率或類型[3,20,46]。 另一方面,這些屬性可能是系統固有的,例如CPU負載[16],內存利用率[7],網絡流量[49]或其整體性能[4]。 通常,每個縮放操作本身都需要資源,即它會產生延遲,在此期間DSP系統必須等待計算資源可達,消耗能量,導致計算開銷[14,35],因此增加成本。 其他DSP Operators,即負責處理SPE內數據的軟件,必須部署在計算資源上,例如虛擬機(VM)。 因此,雖然對於彈性至關重要,但是應該將縮放和遷移等密集操作保持在最低限度[7,9,22,35]。

       目前DSP中的擴展方法假設資源利用率的閾值,例如CPU負載,作爲擴展決策的基礎[3,7,21,36]。 DSP系統保持在這些閾值之間。 對於超過上限閾值的任何指標,需要額外的資源,並激活新的DSP Operators實例(向上擴展)。 但是,基於閾值的縮放方法可能會導致頻繁的縮放操作。 反過來,這會產生資源使用和成本的開銷[3,7]。 在某些情況下,這種開銷是必要的,以便從額外的計算能力中受益,避免供應不足或通過按比例縮小來節省資源。 然而,過度擴展也會增加不必要成本的風險[7,35]。

       諸如輸入數據速率之類的指標可以被視爲時間序列,包含數據速率的長期趨勢,以及短期差異(峯值和谷值)[3]。 長期趨勢可以是輸入數據的發展,例如取決於一天中的時間(例如,高峯時段)或一年中的時間(例如,暑假),而短期峯值可能源於自發和短期生命事件,如網絡通信中的突發事件。 後者代表我們打算忽略縮放決策的噪音。

       在此之後,我們建議通過改進縮放機制對負載變化的反應來改進DSP中經典的基於閾值的縮放。 我們不是依賴於一個Metrics並採用簡單的基於閾值的縮放,而是觀察SPE的多個內在Metrics(例如,CPU和內存利用率)和表示SPE環境的外在Metrics(例如,輸入數據的速率)。 從這些值中,我們推導出一個估計的真實內部狀態,通過將其與長期趨勢分開來探測噪聲(即短期方差)。 基於該估計狀態,可以做出更穩定和穩健的縮放決策。 直覺是減少縮放決策的數量,同時保持DSP系統高度適應負載變化。

總的來說,這項工作的貢獻如下:

  1. 我們指定一個控制迴路,描述控制系統,其環境,可測量反饋和縮放控制器之間的關係。
  2. 我們定義了預處理測量資源利用率值的正式模型,以減少DSP Operators執行的擴展操作的數量。
  3. 我們提出了一種應用擴展卡爾曼濾波器(EKF)[27,29]的具體縮放機制,以便使用有關Operators環境中狀態變化的知識來改進擴展決策。
  4. 我們使用具有圖像處理工作量的測試平臺詳細評估我們的方法,該測試平臺取自生物醫學工程的研究領域[23]。

本文的其餘部分結構如下:在第2節中,我們介紹了最小化DSP系統中縮放操作數量的方法。 然後,我們在第3節中評估該方法,並在第4節中討論結果。在第5節中,我們審查相關工作。 最後,我們總結並概述了第6節中的未來工作。

2. APPROACH

       我們的工作目標是儘量減少縮放操作的數量,同時保持快速彈性,以避免過度頻繁的縮放操作的成本[3,7,14,35]。 我們將DSP中的每個Operators分開考慮,並測量輸入數據(數據速率)和系統狀態,目標是達到擴展決策。 這個決定可以是(a)通過啓動更多Operators實例來擴展,(b)通過關閉實例來縮小,或(c)保持相同狀態。 可以使用由縮放決策確定的一個或多個Operator實例來執行每個Operator。 我們將任何給定Operator的運算符實例集表示爲B,實例爲b1,b2,b3,....。。 ,bn,其中n = | B |。

       這項工作擴展了使用EKF的傳統信號濾波,以達到更好的縮放決策。 由基於EKF的濾波器測量的系統狀態在向量中表示。 多個狀態變量(Metrics)可以包含在此向量中,我們的通用過濾方法對此數字沒有限制。 可能的Metrics指標包括系統的CPU負載[16],其內存利用率[7],網絡流量[49],吞吐量和隊列大小[12],或確定系統整體性能的其他指標[4]

       在以下部分中,我們將討論我們的方法。 首先,在2.1節中,我們定義了一個控制迴路,描述了受控系統(流處理操作員),其環境(輸入數據),可測量反饋(系統狀態)和縮放控制器之間的關係。 其次,在2.2節中,我們展示了時間序列過濾的正式模型。 第2.3節給出了所用EKF的詳細描述,第2.4節給出了自舉過程。 第2.5節討論了我們方法的參數和複雜性。 表1概述了所使用的符號。

2.1 Control Loop

       我們將觀察到的Operator,輸入數據的速率以及控制Operators縮放決策的縮放機制視爲控制系統。我們的方法涉及創建一個閉環控制迴路[15],如圖1所示。在運行期間,系統(流處理Operators)在輸入數據的恆定供應下,由其速率測量。由於我們無法控制傳入數據的數量,因此我們將其定義爲運算符的environment1。流處理Operator由Scaling Mechanism控制,縮放機制是我們控制循環中的控制器。控制器負責做出縮放決定,即定義Operator是否必須按比例放大,按比例縮小或保持不變。在數據處理期間,Operator正在改變系統狀態(例如,CPU負載或存儲器利用),構成由控制器測量的反饋。因此,控制器具有兩個用於執行縮放決策的信息源:輸入數據的速率和操作員的系統狀態。

2.2 Filtering Model

       如上所述,我們測量系統狀態隨時間的變化,並將我們的縮放決策基於測量值。 但是,我們採用原始測量的過濾來創建更平滑的測量Metrics曲線版本。

       記錄的系統狀態測量的時間序列表示爲Z.實際上,那些測量值通過某個噪聲偏離趨勢。 此噪聲可能有多種原因,包括操作系統級別的干擾,VM級別的虛擬機管理程序策略或與其他應用程序共享的工作負載。 所有這些方面都會導致系統狀態(例如,CPU負載或內存利用率)出現高差異。 然而,總是存在某種趨勢,例如,高要求的處理節點在其整個操作期間將具有給定的負載基線(趨勢)。 圖2演示了一個場景,使用CPU負載作爲波動系統狀態的示例。

       當然,如果流處理系統完全基於原始數據進行縮放決策,則會發生過多的縮放操作[7,14,35]。 如圖3所示,其中波動的CPU負載測量值(上圖)導致大量的縮放操作(下圖)。 我們的方法將過濾器應用於此過程以減少縮放操作的數量,即減少的操作符行中的步驟數, 在圖3中可以表示。

因此,我們正式定義我們的方法如下。 我們在所有測量時間T的各個時間點t處考慮原始系統狀態測量值Z的歷史,其中Zt是在時間t的測量狀態:

       基於原始測量Zt∈Z,我們使用濾波器,我們將其表示爲λ(·),並將此濾波器應用於每個Zt。 該應用程序在每個給定的測量時間t執行,並且可以訪問Z中的所有其他測量值,其實際限制是它只能訪問過去的測量值。 因此,我們將λZ(t)定義爲在時間t的Z的濾波值,給定所有其他值Zi∈Z,其中i≤t。 對於λ,可以使用各種濾波器。 在我們的工作中,我們使用EKF作爲平滑濾波器,我們將在2.3節中描述。 其他濾波器如線性平滑(LS)[42],總變差去噪(TVD)[41]或更簡單版本的EKF [3]用於文獻中的平滑,但在大多數情況下不涉及DSP(參見章節)5)。

We define the set of filtered measurements Z‘:

       圖4顯示了使用濾波器的相同數據速率測量的可能結果圖,如圖3所示,以及系統的最終縮放行爲。 與圖3相比,顯然縮放操作量已減少。 請注意,此方法無法保證在每個時間點都能滿足系統狀態的正確縮放。 根據使用的過濾器,還有可能在短時間內資源供應不足或過度配置資源,在線過濾的性質也是如此。 但是,我們在第3節中表明,所提出的基於EKF的濾波器表現得非常好。

2.3 Extended Kalman Filter

       在下文中,我們描述了我們的方法中使用的EKF,以及具體的狀態轉換模型。

       EKF [27]是卡爾曼濾波器(KF)的非線性推廣[29]。 卡爾曼型濾波器的工作原理是定義系統狀態轉換的模型,以及系統觀測(測量)的模型。 雖然常規KF使用純線性轉換模型,即矩陣和線性代數,但EKF推廣了非線性模型的方法。 EKF使用函數作爲轉換模型而不是矩陣,並且要求轉換和觀察函數在逐點上是可微分的。

       請注意,EKF不是唯一適用於預測多變量過程的模型。 特別是在具有重複模式的高潛力的過程中,使用諸如ARMA或ARIMA的自迴歸模型[18,44]。 然而,基於EKF的濾波器的獨特優勢在於,對於底層系統模型的一些(甚至是不準確的)知識,不僅系統狀態的測量結果被合併到解決方案中,而且(非常準確地知道的)系統輸入。 同時,EKF維護協方差矩陣,確定每個數據源(系統狀態和輸入)的當前信心。

       定義EKF的第一步如下:系統狀態表示爲x。此向量可以包括多個狀態變量(度量),例如CPU和內存利用率,網絡流量,吞吐量或隊列大小。由於狀態隨時間變化,我們使用xt來指示時間t的狀態。此外,我們的系統由外部輸入控制,外部輸入是發送給流處理操作員的數據速率。我們觀察到時間t的瞬時數據速率,定義爲Dt,以及數據速率與前一個值ΔDt的變化,ΔDt= Dt -Dt-1。我們一起在給定時間t將流處理操作器的輸入定義爲ut =(Dt,ΔDt)。最後,由於我們的操作員在現實世界的計算機上運行,​​因此性能會有一定的波動,因此狀態也會遇到特定的噪音。我們將該系統噪聲表示爲w,或者再次表示給定時間t的wt。最後,我們定義了狀態轉換模型,它根據先前的系統狀態xt-1,輸入ut-1和系統噪聲wt對系統狀態xt進行建模:

其中f(·)表示狀態轉換函數,它基於最後一個狀態xt和系統輸入ut。 根據KF [29]的原始定義,系統噪聲wt被假定爲具有協方差矩陣Q的零均值高斯噪聲2:

       狀態轉移函數f(x,u)可以獨立於該狀態系統的剩餘部分來選擇。在我們的場景中,爲簡單起見,我們使用線性狀態轉換函數,基於當前系統狀態x,輸入u =(D,ΔD),定義爲f(x,u)= x + a· D + b·ΔD。然而,由於使用了EKF,如果存在非線性動力學並且已知,也可以使用非線性狀態轉換函數。矢量參數a和b定義了EKF對輸入數據速率的靈敏度,並且必須根據工作負載來定義。目前,這些參數是使用普通最小二乘(OLS)線性迴歸確定的。未來的方法可以使用更精細的自調整技術,例如機器學習(ML)。

       接下來,我們考慮系統狀態的測量。有幾種用於測量系統負載的機制,例如,諸如top和ps之類的獨立程序,或用於直接測量的API。 EKF定義包括測量函數,我們將其表示爲h(·)。此函數採用系統狀態x並將其轉換爲測量值。此值再次受到噪聲的影響,這次是由測量過程本身決定的。我們稱之爲測量噪聲,並將其表示爲vt。對於物理傳感器,這表示測量誤差或不準確。在我們的場景中,此測量誤差表示測量CPU負載的不準確性。得到的測量值表示爲zt,定義如下:

其中vt,測量噪聲,再次假設爲零均值高斯噪聲,其協方差矩陣假設爲R:

       與溫度或光傳感器等物理傳感器(通常具有非線性特性或需要額外的單位轉換)相比,我們不需要在測量過程中進行變換。 因此,我們可以簡單地定義h(xt)= xt,我們的測量結果如下:

       圖5給出了所述狀態系統動態的概述。雖然系統(u)的輸入是已知但不可控制的,但系統的真實狀態是來自控制器的隱藏狀態。這包括影響系統狀態本身的噪聲(w),以及測量的噪聲(v)。控制器只能看到測量結果(z)。如前所述,u =(D,ΔD),f是狀態轉移函數,h是同一性函數h(x)= x,w~N(0,Q)和v~N(0,R) 。

       注意,EKF的一般定義允許f(·)和Q,以及h(·)和R依賴於時間t,即符號ft(·),Qt,ht(·)和Rt分別使用。由於我們在方法中使用f(·),Q,h(·)和R的時間常數定義,因此我們刪除了索引t。

       因此,我們的控制器根據輸入數據(u)的速率和系統狀態(z)的(噪聲)測量來做出擴展決策。如2.2節所述,我們不直接使用測量z,而是使用所採用的EKF的估計特徵,其產生下一個系統狀態的估計版本,表示爲x。

       EKF的本質是它執行預測 - 更新迭代的連續循環。 給定當前狀態,在預測步驟中,EKF執行下一個系統狀態的預測。 此外,EKF還提供預測誤差。 然後,提供實際值的(噪聲)測量,EKF重新計算其預測誤差,並在更新步驟中提供新的預測。 因此,EKF不斷糾正其預測,提供噪聲測量,同時保持測量不準確性與外部干擾之間的平衡。 此外,該過程考慮了系統的輸入,即外部操縱的控制變量。 在我們的場景中,這是數據速率及其變化量,即u =(D,ΔD)。

Predict Step: 在任何時間點t,從給定的先前估計系統狀態xt-1  - 初始狀態(參見第2.4節,關於我們方法中的自舉描述)或先前估計的狀態 - 以及之前的系統 輸入ut-1,EKF導出估計的先驗下一個系統狀態x * t,估計的下一個測量zt,以及估計誤差Pt:

       其中Ft-1是f的雅可比矩陣,即當前狀態和輸入f?(xt-1,ut-1)的狀態轉移函數的偏導數矩陣,Pt是預測誤差(協方差矩陣) 在時間t,Q是如上定義的系統噪聲的協方差。 通過將狀態轉移矩陣F的雅可比矩陣應用於先前的預測誤差,然後重新應用其轉置FT,最後添加系統噪聲協方差Q來計算Pt。該預測誤差稍後將用於計算卡爾曼 獲得Gt。 它的定義來自EKF建議[27]。 P0的初始化值在2.4節中討論。

Update Step在進行新的測量zt後,EKF更新其矩陣和向量以反映新數據。 首先,計算卡爾曼增益Gt,其用於創建新的後驗系統狀態估計xt。 注意,先驗估計x * t和後驗狀態估計xt之間的差異在於後驗狀態將新測量(並且因此新知識)合併到由測量之前的先驗狀態提供的值中。

更新步驟計算如下:

       其中H是h的雅可比矩陣,即用於當前測量的測量函數的偏導數矩陣h(xt),並且R是如上定義的測量噪聲的協方差。 同樣,這個定義來自[27]。 卡爾曼增益Gt用於估計下一個系統狀態xt,並表示測量變化對實際系統狀態的(估計的)影響。

       重新審視2.2節,我們現在能夠定義z的過濾版本,即Z? =λZ(zt),通過使用每個運算符實例的EKF估計的累積輸出:Z?

       其中B,如第2節開頭所定義的,是考慮運算符類型的所有運算符實例的集合,b∈B表示所有運算符實例的迭代,xb t表示時間的EKF估計x t爲運算符實例b。

2.4 Bootstrapping

       首先,必須初始化EKF。特別是在Operator的生命週期開始時,必須選擇一定的時間以使Operator穩定,我們建議一個簡單的自舉過程。在我們的工作中,我們區分冷啓動和熱啓動。如果之前從未執行過Operator,因此其行爲未知,則執行冷啓動,並啓動默認數量的實例。在我們當前的實現中,這個默認數字被設置爲1,即,如果系統不知道Operator,則它的單個實例被旋轉。如果系統之前已經使用過此Operator,並且已收集有關其行爲的數據,則執行熱啓動,並使用上次運行中使用的Operator的平均實例數。這樣做是爲了在引導過程中使用盡可能接近可能需要的比例的值。

        在啓動Operatro實例之後,我們開始兩步參數引導。首先,實現死區時間,在此期間不進行縮放決定,並且僅採集和收集輸入數據速率(u)和系統狀態(z)的測量。在死區時間之後,使用以下參數初始化EKF。

Measurement Noise Covariance Matrix R由於我們不能僅僅通過測量系統狀態(z)來區分測量噪聲和系統噪聲,我們建議使用FakeLoad [43]進行校準測量,這是一個專用的負載發生器。 給定相對無噪聲的負載生成,所有測量的方差代表測量噪聲並構成我們的R.

Initial State Estimation x0爲了初始化狀態估計,我們使用死區時間內系統狀態(z)測量的簡單加權平均值。 我們通過近期對系統狀態測量進行加權,其中每個權重與測量後的時間(即其年齡)間接成比例:

       其中n是z測量的數量,zi是第i個測量值,Δn是第n個三角形數字3。

Initial State Estimation Covariance Matrix P0該參數確定預測的協方差,即,給出初始系統狀態x0的估計置信度的測量值。 由於我們在死區時間內從z的測量值的加權平均值導出x0,我們使用相同的技術來導出P0:

其中Δn-1表示貝塞爾對協方差的無偏估計的校正[40]。

System Noise Covariance Q對於系統噪聲協方差,我們使用與P0相同的值,但減少了先前確定的測量噪聲:

Q = P0 -R(18)

       我們假設P0> R總是成立。 這背後的基本原理是,在死區時間觀察的P0應該反映系統噪聲(Q)和測量噪聲(R)。 注意,雖然Q和R在我們的方法中是恆定的,但是隨着時間的推移,由EKF調整Pt,因此關係Q = Pt-R僅適用於t = 0.之後,在EKF的操作過程中, 隨着EKF收斂[27],P隨着時間的推移而減少.

       在死區時間之後,我們定義了一個緩入時間,在此期間執行EKF,但其估計值尚未使用。 僅在引導過程的第二階段之後,EKF估計用於縮放決策。 用於死區時間和易用時間的持續時間是可參數化的。 在我們的實驗中,我們發現兩個參數都足夠10秒。

2.5 Parameter and Complexity Analysis

       在下文中,我們總結了濾波方法所需的參數,並討論了它在時間和空間方面的計算複雜性。

       我們假設選擇用於縮放的度量(包含在向量z中)是預先確定的。例如,在第3節的評估中,我們將使用CPU和內存利用率指標。此外,我們假設系統(u)的輸入也是預先定義的。在我們的評估中,D和ΔD構成了這個輸入。假設測量z以一定的精度執行,由具有協方差R的零均值高斯噪聲定義。我們在2.4節中說明如何確定該參數,並在3.3節中對此進行評估。此外,輸入轉換函數f構成了我們方法的參數。在我們的評估中,我們使用線性函數x + a·D + b·ΔD,其中a和b是確定基於EKF的濾波器對輸入數據速率的靈敏度的參數。最後,假設狀態x本身受到具有協方差Q的零均值高斯系統噪聲的影響。與R一樣,Q構成一個參數,在2.4節中,我們展示瞭如何確定其值。最後,死區時間和易用性的持續時間(也在2.4節中描述)構成了與自舉過程相關的參數。

       我們現在分析我們的過濾方法的計算複雜性。 在下文中,n表示系統狀態向量x的元素的數量,並且m表示測量向量z中的元素的數量。 每次有新的測量時,都需要進行EKF迭代(預測 - 更新)。 我們使用2 Hz的測量頻率來保持遠低於旋轉運算符實例所需的時間,併爲EKF提供足夠頻繁的數據。 (10) - (12)中所示的預測步驟需要應用f(m×n運算),使用h(n×n運算)估計z,以及計算Pt(多個n× n操作)。 更新步驟,如(13) - (14)所示,包括計算卡爾曼增益Gt(一個1×n和多個n×n個運算),以及新系統狀態x的估計,由兩個1組成。 ×n和一個n×n運算。 總之,EKF計算時間爲O(n2m)。

       在空間方面,EKF具有不保留歷史的優點,因此EKF狀態大小隨着時間的推移而不變。 它由兩個狀態估計矢量x *和x(基數n),測量估計矢量z(carality m)和矩陣P和Gt(基數n×n)組成。 總的來說,EKF所需的空間爲O(n2 + m)。

5. RELATEDWORK

       已經提出了許多使用機器學習來保持彈性的方法。例如,Ortiz等人。 [39]介紹PerfEnforce,使用在線學習爲VM羣集提供主動擴展決策。達斯等人。 [8]討論了ElasTraS,允許雲平臺內的數據庫系統執行多租戶擴展操作。彈性系統的一個重要考慮因素是縮放開銷,我們的目標是最小化。 Corradi等人研究了它對成本的影響。 [7](在雲數據中心的背景下)和Mao等人。 [35](在雲工作流程中自動縮放的背景下)。這兩項研究的共同結果是,實際上,這種開銷會產生重大影響,應該保持在最低限度。在其他文獻中,重點放在由縮放本身引起的開銷上,而不是由決策制定。解決優化問題所需的計算工作量可能會非常高[10,45],尤其是在使用混合整數線性規劃(MILP)等技術時[34]。

       上述方法並不直接涉及DSP,而是通常涉及彈性系統。 然而,DSP系統表現出非常具體的要求,例如自調整,自穩定和自我修復[12]。 因此,在此研究的基礎上,還考慮到DSP系統的具體要求,我們關注DSP系統中的縮放技術。 Mencagli等。 [37]使用基於模型的預測控制(MPC)技術來創建重新配置穩定性和幅度之間的權衡。 雖然上下文(DSP)是相同的,並且目標(減少重新配置開銷)與我們的相似(縮放操作量的減少),但作者關注的是使用分佈式和合作方法,而我們關注的是 使用多個數據源並降低噪音。

       Floratou等人。 [12]提出Dhalion,一種自我修復和自我調節的流處理系統擴展,在Twitter Heron之上實現。 在此框架中,Metrics標準用於檢測系統運行狀況下降的症狀。 Dhalion使用診斷程序來確定這種下降的可能原因(診斷),並調用解析器來嘗試使系統恢復健康。 通過檢查所採取的行動是否確實解決了問題來實現自我監控,並且學習機制將不成功的解決方案列入黑名單。 手中的文章中提出的基於EKF的過濾可以與Dhalion結合使用。

       在文獻[20,31,46]中反覆考慮了用於縮放決策的輸入數據速率的使用,正如使用基於閾值的系統來推導具體的縮放決策[6,21]。 然而,所有這些方法都受到第1節中描述的開銷問題的困擾。一些研究專門用於解決由於易失性輸入引起的開銷問題。 一般建議是使用低通濾波器[7]。 線性濾波器的另一個例子可以在Gong等人的着作中找到。 [14],其中縮放決策基於快速傅立葉變換(FFT)和模式識別。 與手頭的工作相比,Gong等人。 不包括外部(環境)指標,例如輸入數據速率。 相反,僅使用滯後來執行度量的平滑。 因此,我們工作中提出的過濾可以用作Gong等人提出的縮放機制之前的階段。

       在我們的工作中,我們使用時間序列分析,也用於其他方法的縮放。 例如,這是通過使用模式匹配[5]或使用小波分析[38]創建自動縮放算法來實現的。 通過使用ANN模型進行主動和預測分析[24,38]或強化學習[11],可以稱讚這一點。 [13]中使用了預測和反應方法的組合。 預測元素用於長期時間尺度,而反應性配置處理細粒度的短期峯值。 但是,這些方法都不使用外部度量作爲達到擴展決策的數據源。

       基於EKF的處理廣泛用於其他領域的狀態估計。 在自主計算的背景下,Barna等人。 [2]使用EKF估計服務時間,內存利用率和CPU使用率等指標。 Jain等人。 [26]使用EKF處理HTTP請求數的噪聲數據流。 在企業計算系統的背景下,Kusic等人。 [32]使用EKF估算系統負載。 我們的方法建立在基於EKF的時間序列處理技術的基礎上,並展示了其在DSP中的適用性。 據我們所知,除了我們自己的初步工作[3]之外,沒有任何方法在DSP的背景下使用這些方法。

6. CONCLUSION AND FUTRUE WORK

       在這項工作中,我們提出了基於EKF的DSP系統縮放過濾,以減少SLA違規造成的擴展操作和成本。

       我們提出了一個模型,其中使用EKF過濾系統狀態的時間序列測量,並提供EKF應用的詳細信息。 我們創建了一個系統,能夠利用外在測量(例如,輸入數據速率)統一內在測量(例如,CPU和存內存利用率)。 由此產生的濾波器可以快速響應環境變化,同時最大限度地降低對過程和測量噪聲的敏感度。 我們利用這些過濾值來達到縮放決策。

       我們使用真實數據集和工作負載來評估我們的工作以運行實驗。 雖然VM時間增加了13.9%,但我們看到縮放事件減少了多達87.9%,處理時間減少了52.4%,SLA違規減少了多達15.2%。

       在我們的評估中,我們將CPU負載和內存利用率視爲內在指標。 雖然這些流行的指標是有用的縮放指標,並且在我們的評估中證明是有效的,但某些應用程序可能主要需要高網絡利用率或磁盤使用率。 在這種情況下,僅考慮CPU和內存利用率是不夠的。 相關工作表明基於EKF的處理適用於各種領域中的其他類型的指標[2,26,32],因此表明在DSP的背景下的適用性。 當然,需要進一步的工作來通過額外的指標在DSP中憑經驗證明基於EKF的濾波。

       值得研究的另一個方面是拓撲範圍的應用。 目前,我們的方法一次考慮一個單獨的運營商。 雖然它可以應用於DSP拓撲的所有運營商,但每個運營商都以非合作方式自行執行擴展決策。 在未來的工作中,我們將擴展我們的方法,以考慮系統範圍的行爲,如漣漪效應和背壓。

       用於評估的圖像處理工作量代表了一種廣泛使用的流處理方案[47]。 雖然它的廣泛使用使其成爲初步評估的良好候選者,但還需要進行更廣泛的評估,以確定其他用例中的具體挑戰和可能的方法。 其他方案的主要挑戰是更復雜的查詢和其他工作負載特徵,例如高I / O或網絡負載。 我們將在4.3節討論如何將我們的方法擴展到這些場景和查詢。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章