日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

一周一论文(翻译)——[VLDB 19] Minimizing Cost by Reducing Scaling Operators in Distributed Stream Processing

發(fā)布時間:2025/4/16 80 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一周一论文(翻译)——[VLDB 19] Minimizing Cost by Reducing Scaling Operators in Distributed Stream Processing 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Abstract

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

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

1. Introduction

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

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

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

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

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

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

  • 我們指定一個控制回路,描述控制系統(tǒng),其環(huán)境,可測量反饋和縮放控制器之間的關(guān)系。
  • 我們定義了預(yù)處理測量資源利用率值的正式模型,以減少DSP Operators執(zhí)行的擴展操作的數(shù)量。
  • 我們提出了一種應(yīng)用擴展卡爾曼濾波器(EKF)[27,29]的具體縮放機制,以便使用有關(guān)Operators環(huán)境中狀態(tài)變化的知識來改進擴展決策。
  • 我們使用具有圖像處理工作量的測試平臺詳細評估我們的方法,該測試平臺取自生物醫(yī)學(xué)工程的研究領(lǐng)域[23]。
  • 本文的其余部分結(jié)構(gòu)如下:在第2節(jié)中,我們介紹了最小化DSP系統(tǒng)中縮放操作數(shù)量的方法。 然后,我們在第3節(jié)中評估該方法,并在第4節(jié)中討論結(jié)果。在第5節(jié)中,我們審查相關(guān)工作。 最后,我們總結(jié)并概述了第6節(jié)中的未來工作。

    2. APPROACH

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

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

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

    2.1 Control Loop

    ?????? 我們將觀察到的Operator,輸入數(shù)據(jù)的速率以及控制Operators縮放決策的縮放機制視為控制系統(tǒng)。我們的方法涉及創(chuàng)建一個閉環(huán)控制回路[15],如圖1所示。在運行期間,系統(tǒng)(流處理Operators)在輸入數(shù)據(jù)的恒定供應(yīng)下,由其速率測量。由于我們無法控制傳入數(shù)據(jù)的數(shù)量,因此我們將其定義為運算符的environment1。流處理Operator由Scaling Mechanism控制,縮放機制是我們控制循環(huán)中的控制器??刂破髫撠?zé)做出縮放決定,即定義Operator是否必須按比例放大,按比例縮小或保持不變。在數(shù)據(jù)處理期間,Operator正在改變系統(tǒng)狀態(tài)(例如,CPU負載或存儲器利用),構(gòu)成由控制器測量的反饋。因此,控制器具有兩個用于執(zhí)行縮放決策的信息源:輸入數(shù)據(jù)的速率和操作員的系統(tǒng)狀態(tài)。

    2.2 Filtering Model

    ?????? 如上所述,我們測量系統(tǒng)狀態(tài)隨時間的變化,并將我們的縮放決策基于測量值。 但是,我們采用原始測量的過濾來創(chuàng)建更平滑的測量Metrics曲線版本。

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

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

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

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

    We define the set of filtered measurements Z‘:

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

    2.3 Extended Kalman Filter

    ?????? 在下文中,我們描述了我們的方法中使用的EKF,以及具體的狀態(tài)轉(zhuǎn)換模型。

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

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

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

    其中f(·)表示狀態(tài)轉(zhuǎn)換函數(shù),它基于最后一個狀態(tài)xt和系統(tǒng)輸入ut。 根據(jù)KF [29]的原始定義,系統(tǒng)噪聲wt被假定為具有協(xié)方差矩陣Q的零均值高斯噪聲2:

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

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

    其中vt,測量噪聲,再次假設(shè)為零均值高斯噪聲,其協(xié)方差矩陣假設(shè)為R:

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

    ?????? 圖5給出了所述狀態(tài)系統(tǒng)動態(tài)的概述。雖然系統(tǒng)(u)的輸入是已知但不可控制的,但系統(tǒng)的真實狀態(tài)是來自控制器的隱藏狀態(tài)。這包括影響系統(tǒng)狀態(tài)本身的噪聲(w),以及測量的噪聲(v)。控制器只能看到測量結(jié)果(z)。如前所述,u =(D,ΔD),f是狀態(tài)轉(zhuǎn)移函數(shù),h是同一性函數(shù)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的時間常數(shù)定義,因此我們刪除了索引t。

    ?????? 因此,我們的控制器根據(jù)輸入數(shù)據(jù)(u)的速率和系統(tǒng)狀態(tài)(z)的(噪聲)測量來做出擴展決策。如2.2節(jié)所述,我們不直接使用測量z,而是使用所采用的EKF的估計特征,其產(chǎn)生下一個系統(tǒng)狀態(tài)的估計版本,表示為x。

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

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

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

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

    更新步驟計算如下:

    ?????? 其中H是h的雅可比矩陣,即用于當(dāng)前測量的測量函數(shù)的偏導(dǎo)數(shù)矩陣h(xt),并且R是如上定義的測量噪聲的協(xié)方差。 同樣,這個定義來自[27]。 卡爾曼增益Gt用于估計下一個系統(tǒng)狀態(tài)xt,并表示測量變化對實際系統(tǒng)狀態(tài)的(估計的)影響。

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

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

    2.4 Bootstrapping

    ?????? 首先,必須初始化EKF。特別是在Operator的生命周期開始時,必須選擇一定的時間以使Operator穩(wěn)定,我們建議一個簡單的自舉過程。在我們的工作中,我們區(qū)分冷啟動和熱啟動。如果之前從未執(zhí)行過Operator,因此其行為未知,則執(zhí)行冷啟動,并啟動默認數(shù)量的實例。在我們當(dāng)前的實現(xiàn)中,這個默認數(shù)字被設(shè)置為1,即,如果系統(tǒng)不知道Operator,則它的單個實例被旋轉(zhuǎn)。如果系統(tǒng)之前已經(jīng)使用過此Operator,并且已收集有關(guān)其行為的數(shù)據(jù),則執(zhí)行熱啟動,并使用上次運行中使用的Operator的平均實例數(shù)。這樣做是為了在引導(dǎo)過程中使用盡可能接近可能需要的比例的值。

    ?????? ?在啟動Operatro實例之后,我們開始兩步參數(shù)引導(dǎo)。首先,實現(xiàn)死區(qū)時間,在此期間不進行縮放決定,并且僅采集和收集輸入數(shù)據(jù)速率(u)和系統(tǒng)狀態(tài)(z)的測量。在死區(qū)時間之后,使用以下參數(shù)初始化EKF。

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

    Initial State Estimation x0為了初始化狀態(tài)估計,我們使用死區(qū)時間內(nèi)系統(tǒng)狀態(tài)(z)測量的簡單加權(quán)平均值。 我們通過近期對系統(tǒng)狀態(tài)測量進行加權(quán),其中每個權(quán)重與測量后的時間(即其年齡)間接成比例:

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

    Initial State Estimation Covariance Matrix P0該參數(shù)確定預(yù)測的協(xié)方差,即,給出初始系統(tǒng)狀態(tài)x0的估計置信度的測量值。 由于我們在死區(qū)時間內(nèi)從z的測量值的加權(quán)平均值導(dǎo)出x0,我們使用相同的技術(shù)來導(dǎo)出P0:

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

    System Noise Covariance Q對于系統(tǒng)噪聲協(xié)方差,我們使用與P0相同的值,但減少了先前確定的測量噪聲:

    Q = P0 -R(18)

    ?????? 我們假設(shè)P0> R總是成立。 這背后的基本原理是,在死區(qū)時間觀察的P0應(yīng)該反映系統(tǒng)噪聲(Q)和測量噪聲(R)。 注意,雖然Q和R在我們的方法中是恒定的,但是隨著時間的推移,由EKF調(diào)整Pt,因此關(guān)系Q = Pt-R僅適用于t = 0.之后,在EKF的操作過程中, 隨著EKF收斂[27],P隨著時間的推移而減少.

    ?????? 在死區(qū)時間之后,我們定義了一個緩入時間,在此期間執(zhí)行EKF,但其估計值尚未使用。 僅在引導(dǎo)過程的第二階段之后,EKF估計用于縮放決策。 用于死區(qū)時間和易用時間的持續(xù)時間是可參數(shù)化的。 在我們的實驗中,我們發(fā)現(xiàn)兩個參數(shù)都足夠10秒。

    2.5 Parameter and Complexity Analysis

    ?????? 在下文中,我們總結(jié)了濾波方法所需的參數(shù),并討論了它在時間和空間方面的計算復(fù)雜性。

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

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

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

    5. RELATEDWORK

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

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

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

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

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

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

    6. CONCLUSION AND FUTRUE WORK

    ?????? 在這項工作中,我們提出了基于EKF的DSP系統(tǒng)縮放過濾,以減少SLA違規(guī)造成的擴展操作和成本。

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

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

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

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

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

    總結(jié)

    以上是生活随笔為你收集整理的一周一论文(翻译)——[VLDB 19] Minimizing Cost by Reducing Scaling Operators in Distributed Stream Processing的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。