日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

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

Abstract

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

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

1. Introduction

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

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

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

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

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

總的來說,這項(xiàng)工作的貢獻(xiàn)如下:

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

    2. APPROACH

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

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

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

    2.1 Control Loop

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

    2.2 Filtering Model

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

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

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

    因此,我們正式定義我們的方法如下。 我們?cè)谒袦y(cè)量時(shí)間T的各個(gè)時(shí)間點(diǎn)t處考慮原始系統(tǒng)狀態(tài)測(cè)量值Z的歷史,其中Zt是在時(shí)間t的測(cè)量狀態(tài):

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

    We define the set of filtered measurements Z‘:

    ?????? 圖4顯示了使用濾波器的相同數(shù)據(jù)速率測(cè)量的可能結(jié)果圖,如圖3所示,以及系統(tǒng)的最終縮放行為。 與圖3相比,顯然縮放操作量已減少。 請(qǐng)注意,此方法無法保證在每個(gè)時(shí)間點(diǎn)都能滿足系統(tǒng)狀態(tài)的正確縮放。 根據(jù)使用的過濾器,還有可能在短時(shí)間內(nèi)資源供應(yīng)不足或過度配置資源,在線過濾的性質(zhì)也是如此。 但是,我們?cè)诘?節(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)觀測(cè)(測(cè)量)的模型。 雖然常規(guī)KF使用純線性轉(zhuǎn)換模型,即矩陣和線性代數(shù),但EKF推廣了非線性模型的方法。 EKF使用函數(shù)作為轉(zhuǎn)換模型而不是矩陣,并且要求轉(zhuǎn)換和觀察函數(shù)在逐點(diǎn)上是可微分的。

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

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

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

    ?????? 狀態(tài)轉(zhuǎn)移函數(shù)f(x,u)可以獨(dú)立于該狀態(tài)系統(tǒng)的剩余部分來選擇。在我們的場(chǎ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,如果存在非線性動(dòng)力學(xué)并且已知,也可以使用非線性狀態(tài)轉(zhuǎn)換函數(shù)。矢量參數(shù)a和b定義了EKF對(duì)輸入數(shù)據(jù)速率的靈敏度,并且必須根據(jù)工作負(fù)載來定義。目前,這些參數(shù)是使用普通最小二乘(OLS)線性回歸確定的。未來的方法可以使用更精細(xì)的自調(diào)整技術(shù),例如機(jī)器學(xué)習(xí)(ML)。

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

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

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

    ?????? 圖5給出了所述狀態(tài)系統(tǒng)動(dòng)態(tài)的概述。雖然系統(tǒng)(u)的輸入是已知但不可控制的,但系統(tǒng)的真實(shí)狀態(tài)是來自控制器的隱藏狀態(tài)。這包括影響系統(tǒng)狀態(tài)本身的噪聲(w),以及測(cè)量的噪聲(v)。控制器只能看到測(cè)量結(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依賴于時(shí)間t,即符號(hào)ft(·),Qt,ht(·)和Rt分別使用。由于我們?cè)诜椒ㄖ惺褂胒(·),Q,h(·)和R的時(shí)間常數(shù)定義,因此我們刪除了索引t。

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

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

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

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

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

    更新步驟計(jì)算如下:

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

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

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

    2.4 Bootstrapping

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

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

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

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

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

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

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

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

    Q = P0 -R(18)

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

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

    2.5 Parameter and Complexity Analysis

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

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

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

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

    5. RELATEDWORK

    ?????? 已經(jīng)提出了許多使用機(jī)器學(xué)習(xí)來保持彈性的方法。例如,Ortiz等人。 [39]介紹PerfEnforce,使用在線學(xué)習(xí)為VM群集提供主動(dòng)擴(kuò)展決策。達(dá)斯等人。 [8]討論了ElasTraS,允許云平臺(tái)內(nèi)的數(shù)據(jù)庫系統(tǒng)執(zhí)行多租戶擴(kuò)展操作。彈性系統(tǒng)的一個(gè)重要考慮因素是縮放開銷,我們的目標(biāo)是最小化。 Corradi等人研究了它對(duì)成本的影響。 [7](在云數(shù)據(jù)中心的背景下)和Mao等人。 [35](在云工作流程中自動(dòng)縮放的背景下)。這兩項(xiàng)研究的共同結(jié)果是,實(shí)際上,這種開銷會(huì)產(chǎn)生重大影響,應(yīng)該保持在最低限度。在其他文獻(xiàn)中,重點(diǎn)放在由縮放本身引起的開銷上,而不是由決策制定。解決優(yōu)化問題所需的計(jì)算工作量可能會(huì)非常高[10,45],尤其是在使用混合整數(shù)線性規(guī)劃(MILP)等技術(shù)時(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ù)測(cè)控制(MPC)技術(shù)來創(chuàng)建重新配置穩(wěn)定性和幅度之間的權(quán)衡。 雖然上下文(DSP)是相同的,并且目標(biāo)(減少重新配置開銷)與我們的相似(縮放操作量的減少),但作者關(guān)注的是使用分布式和合作方法,而我們關(guān)注的是 使用多個(gè)數(shù)據(jù)源并降低噪音。

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

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

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

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

    6. CONCLUSION AND FUTRUE WORK

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

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

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

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

    ?????? 值得研究的另一個(gè)方面是拓?fù)浞秶膽?yīng)用。 目前,我們的方法一次考慮一個(gè)單獨(dú)的運(yùn)營商。 雖然它可以應(yīng)用于DSP拓?fù)涞乃羞\(yùn)營商,但每個(gè)運(yùn)營商都以非合作方式自行執(zhí)行擴(kuò)展決策。 在未來的工作中,我們將擴(kuò)展我們的方法,以考慮系統(tǒng)范圍的行為,如漣漪效應(yīng)和背壓。

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

    總結(jié)

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

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