999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種高效的跨平臺工作流優化方法

2022-07-14 13:10:44杜清華張凱
計算機工程 2022年7期
關鍵詞:跨平臺物理成本

杜清華,張凱

(1.復旦大學 軟件學院,上海 200438;2.復旦大學 計算機科學技術學院,上海 200438)

0 概述

為了滿足數據科學的多種需求,具有擴展性的跨平臺數據分析系統不斷涌現,如Rheem[1]、Musketeer[2]等。這類系統將Java、Spark[3]等不同數據處理平臺作為底層實現,為用戶抽象出一套數據分析接口,幫助用戶更加簡單地完成對復雜數據分析任務的計算。數據分析任務在跨平臺系統中將以工作流為載體進行計算,工作流主要存在邏輯工作流和物理工作流兩種形式。用戶通過接口編寫邏輯工作流,然后系統需要為邏輯工作流中的每個算子選擇相應的物理實現而形成可執行的物理工作流。邏輯算子的平臺選擇對于工作流整體性能至關重要,因為算子在不同平臺上的實現會存在性能間的顯著差異,這也是針對跨平臺工作流進行優化的主要方式之一。

目前,部分研究人員[4-5]針對跨平臺工作流采用了基于成本的優化方法,利用函數公式對影響算子運行成本的因素進行建模,從而獲得可以估計某個算子具體運行時間的成本模型[6]。然而,將傳統成本優化方法應用于跨平臺工作流時會存在兩個問題:首先,成本模型普遍具有一個固定的函數形式,例如Rheemix[7]中所使用的線性函數式成本模型,由于線性表達式本身具有難以表達復雜或非線性關系的特點,導致其不能很好地反映各因素對不同平臺、不同計算類型算子運行時間成本的影響程度;其次,它需要系統管理員做大量工作來調優函數式成本模型的參數。尤其在跨平臺系統中這個問題會更加嚴重,因為跨平臺系統的算子數量會數倍于傳統數據處理平臺[1],這將使得函數模型的參數數量很容易達到數百條,手工調整它們不僅具有挑戰性而且非常耗時[8]。

隨著機器學習的發展,一些工作開始探索使用新的方式來實現跨平臺工作流優化。Robopt[9]使用隨機森林算法作為成本模型,雖然該算法的魯棒性較好,但是無法捕捉工作流中所隱含的信息,如工作流的結構信息和算子的運行時序信息等。由于不同的算子具有不同的屬性(如參數、子節點),這使得物理工作流具有獨特的結構信息。雖然部分研究[10-12]在成本估計上探索了結構信息并取得了不錯的效果,但他們的目標僅適用于單平臺查詢優化,如數據庫查詢優化等。文獻[13-15]提出使用基于成本的強化學習優化方法,該方法雖然可以降低優化器的維護成本,但是十分依賴模型的設計及訓練數據,且啟發式方法所固有的不穩定性將在某些情況下導致優化效果并不明顯。

為了提升跨平臺工作流的執行性能,本文提出一種GGFN(GAT-BiGRU-FC Network)模型作為成本模型,用于實現高效的跨平臺工作流優化。基于圖注意力機制和循環網絡門控機制,GGFN 模型可以在具有有向無環圖(Directed Acyclic Graph,DAG)結構的跨平臺工作流上挖掘結構信息和記憶算子的運行時序信息,該模型以算子特征和工作流特征作為輸入,從而對跨平臺工作流實現更準確的成本估計。在此基礎上,通過對邏輯算子的實現平臺進行枚舉,并選擇其中運行時間成本低的物理工作流作為最終的優化結果。同時,為加速枚舉過程,本文設計延遲貪婪剪枝方法以降低優化時間的開銷。

1 背景及相關工作

1.1 跨平臺工作流優化

工作流優化是數據處理平臺用于提升性能的主要方式,優化通過將邏輯工作流轉換為運行成本更低的可執行物理工作流,從而加快數據處理任務的運行速度。基于成本的優化方法[16]是傳統工作流優化中最常用的方法之一,而成本模型是實現基于成本優化的基礎。例如,KeystoneML[17]在進行工作流優化時,依據資源使用情況、輸入輸出基數以及算子信息等給出相應的函數公式作為成本模型。文獻[18]使用循環神經網絡作為成本模型來預測數據庫查詢計劃的運行成本。文獻[19]提出為工作流中的表達式創建多個機器學習模型并以此實現準確度更好、覆蓋率更高的成本估計。

然而,跨平臺系統在跨平臺工作流優化方面并沒有像數據庫或其他數據處理平臺一樣擁有成熟且可靠的優化方法。例如,文獻[20]雖然介紹了跨平臺系統相關工作,但并未針對其工作流提供優化方法,BigDAWG[21]為跨平臺工作流所提供的優化方式需要用戶通過Scope 和Cast 命令指定運行工作流的具體平臺。這種優化方式不僅存在優化效果的不確定性,而且增加了用戶的工作量和難度。此外,LaraDB[22]和Myria[8]通過利用已有經驗所制定的規則實現優化,但是過度耦合的優化規則會給系統的擴展性帶來困難。因此,基于成本的優化方法仍然是研究人員進行跨平臺工作流優化所使用的主要方式。例如,Rheemix[7]為其系統中每個算子定義了成本的計算過程,但是由于跨平臺系統中算子數量大、計算類型多,因此將這種函數式的成本模型應用于跨平臺優化很容易出現參數規模達到數百而產生參數調優困難的問題。Musketeer[2]通過對每個算子成本進行累加的方式計算工作流整體成本,然而這種方式會忽略不同平臺算子間的數據傳輸所帶來的時間成本。雖然Robopt[9]使用了機器學習算法來避免繁瑣的參數調優工作,但是其成本模型由于擴展性不足且無法捕捉工作流的潛在信息,而不能實現更好的優化效果。

1.2 圖注意力網絡與門控循環單元

圖注意力網絡(Graph Attention Network,GAT)是由PETAR等[23]所提出的用于處理圖結構數據的神經網絡模型。GAT 可以通過堆疊應用注意力機制的網絡層來獲取圖上每個節點的鄰域特征,并為鄰域中的不同節點分配不同的權重作為注意力系數。這使得可以在不需要高成本的矩陣運算和預先知道圖結構信息的情況下實現高效的圖信息處理。通過這種方式,GAT 可以解決基于頻域的圖處理方法所無法解決的動態圖問題,如圖卷積網絡(Graph Convolutional Network,GCN)[24],同時也能應用于圖的歸納學習和直推學習。需要注意的是,由于GAT網絡是對圖頂點進行逐個運算,每次計算都需要對圖上所有頂點進行循環遍歷,這意味著GAT 可以擺脫傳統圖結構處理中的Laplacian 矩陣的束縛并實現對有向圖的處理。

門控循環單元(Gate Recurrent Unit,GRU)是由CHO等[25]提出用于解決長期記憶和反向傳播中的梯度等問題的網絡模型,與長短期記憶(Long Short-Term Memory,LSTM)同為循環神經網絡(Recurrent Neural Network,RNN)的變體。LSTM 的門控機制被廣泛應用于分析并捕獲時間序列數據中的長期依賴關系。GRU 在LSTM 的基礎上通過優化門結構而保證了對于序列數據的長期記憶效果。在大量的實驗數據中證明,GRU 在模型準確度方面與LSTM 有著相似的效果,但由于GRU 的門控數少于LSTM,在模型訓練中將會有更少的參數需要計算,因此GRU的模型收斂速度會更快。

2 相關概念及問題定義

邏輯工作流是由用戶根據任務需求所創建而形成的DAG 型結構的有向數據流圖。其頂點是邏輯算子,表示對數據進行分析處理的任務邏輯且與平臺無關,邊代表算子之間的數據流。邏輯工作流用符號可以表示為lw={O,E}。其中,O={o1,o2,…,on}表示邏輯算子集合,oi表示第i個邏輯算子,n表示邏輯算子的數量,E={e1,e2,…,em}表示數據流邊集合,ek=[oi,oj]表示算子間的數據流邊。

定義1(跨平臺工作流優化)針對跨平臺工作流,給定一個優化轉換操作Opt=Min{pltSec(?)},實現將邏輯工作流lw 轉化為最優物理工作流pwmin。在由平臺選擇操作pltSec(lw)所生成的物理工作流集合PW 中存在pwj?PW,使得對于任意的pwi?PW,pwi≠pwj,滿 足cost(pwj)≤cost(pwi)。此 時,pwmin=pwj=Opt(lw)為跨平臺工作流優化的目標結果。

3 基于GGFN 模型的跨平臺工作流優化

3.1 方法概述

為了提升跨平臺工作流的執行性能并克服已有優化工作中的問題,本文提出一種基于GGFN 模型的跨平臺工作流優化方法,該方法的整體優化框架如圖1 所示。

圖1 基于GGFN 模型的跨平臺工作流優化框架Fig.1 Cross-platform workflow optimization framework based on GGFN model

首先對于用戶輸入的邏輯工作流進行向量化操作,從而避免后續每次進行成本估計時向量轉換所帶來的優化開銷。接著對每個邏輯算子進行算子實現平臺的枚舉,同時利用延遲貪婪剪枝方法以加速枚舉過程。枚舉算法將使用基于圖注意力網絡和門控循環單元所形成的GGFN 模型對跨平臺工作流所做出的成本估計結果為依據進行平臺選擇。最后成本最低的物理工作流向量將會被選擇出來,并將其反向量化為可執行的物理工作流后進行部署和執行。與此同時,物理工作流的執行過程會將被記錄并進行日志分析,以此來作為后續GGFN 模型的線下訓練數據。

3.2 GGFN 模型

對物理工作流進行準確的成本估計是本文實現高效跨平臺工作流優化的重要基礎。在總結了已有工作的不足之處后,本文提出了基于圖注意力神經網絡(GAT)與門控循環單元(GRU)的GGFN 成本模型,其結構如圖2 所示。該模型包含兩個輸入部分,一是算子特征,二是工作流特征。算子特征將經過圖注意力網絡的處理來捕捉工作流的整體結構信息以及各個算子之間的交互關系。雙向門控循環單元將對算子之間的運行時序關系進行挖掘并獲得相應的運行狀態信息,其編碼結果將與工作流特征進行融合。融合后的特征將被輸入到3 層全連接層進行工作流運行時間成本的預測,并在輸出層得到預測結果。

圖2 基于GAT 和BiGRU 的GGFN 模型架構Fig.2 The GGFN model architecture based on GAT and BiGRU

3.2.1 輸入特征

GGFN 模型的輸入特征被設計為以下2 個部分:

1)工作流特征。工作流的整體信息表示以及輸入數據集信息,包括算子數量、平臺數量、結構信息、輸入數據集大小、輸入數據集分布、輸入平均元組大小等。

2)算子特征。工作流中每個算子的信息表示,包括算子并行度、父節點數量、子節點數量、用戶自定義函數(User Defined Function,UDF)復雜度、計算分析類型、輸入輸出基數、算子運行平臺等。

其中,算子特征結合鄰接矩陣來表示跨平臺工作流的DAG 結構,從而可以更好地幫助GGFN 模型挖掘工作流結構信息和算子的運行時序信息。該設計滿足特征的擴展性要求,當在跨平臺系統中添加新的平臺或算子時,只需進行相應特征位的映射范圍擴展。

3.2.2 圖注意力網絡

由于GAT 中的注意力機制可以為每個鄰居節點分配不同的注意力系數,因此可以識別出相對于當前節點更重要的鄰居節點。在跨平臺工作流中,不同算子對相鄰算子的影響程度是不同的。例如,Fliter 算子會通過減少數據量而對下一個鄰居算子的數據處理時間產生較大影響,而Sort 算子對后續鄰居算子的影響將取決于該鄰居算子對數據順序的依賴性。此外,由于跨平臺工作流為DAG 圖結構,圖網絡模型將可以更好地實現對工作流結構信息的捕捉。因此,本文在GGFN 模型中引入圖注意力網絡(GAT)來實現對工作流整體結構信息和算子間關系信息的特征提取。

GAT 的計算主要包括兩步,首先是計算注意力系數,計算過程如式(1)、式(2)所示:

其中:W為共享參數對頂點特征進行增維;[?||?]表示對節點i和j變換后的特征進行拼接操作;a(?)表示將拼接后的高位特征映射到一個實數上。式(1)用于計算節點i和其鄰居(j?Ni)間的相似系數;式(2)通過LeakyReLU(?)進行歸一化操作得到節點i和j的注意力系數αij。

然后需要根據計算好的注意力系數進行特征的加權求和。為了加強GAT 模型在學習過程中的穩定性,本文引入了多頭注意力機制來獲得多個注意力系數關系,如圖3 所示。

圖3 GAT 中的多頭注意力機制Fig.3 Multi-head attention mechanism in GAT

圖3 所示為在K個注意力機制下(K=3)算子節點的更新狀態。通過利用多頭注意力機制計算節點新特征的計算公式如式(3)所示:

3.2.3 門控循環單元

跨平臺工作流以算子順序執行,運行時間包括從源算子到所有算子執行完成的最終狀態,因此需要考慮前序執行算子的計算時間及計算狀態語義。基于上述情況,可以利用循環神經網絡(RNN)對序列數據的記憶效果來獲取跨平臺工作流中算子執行順序對最終狀態的影響。而門控循環單元(GRU)作為循環神經網絡的一種特殊形式,利用其門控機制可以很好地實現長期記憶并避免RNN 中梯度消失和梯度爆炸的問題。本文GGFN 模型中的GRU 用于記憶算子結構和運行的時序信息,并對其特征進行編碼。GRU 的單元結構如圖4 所示。

圖4 GRU 單元結構Fig.4 The unit structure of GRU

在圖4 中,rt為重置門,用于控制前一時刻隱層單元對當前輸入的影響,有助于捕獲運行序列中的短期依賴關系,zt為更新門,用于控制過去信息的保留和傳遞情況,有助于捕獲物理算子運行時間序列中的長期依賴關系。在t時刻,GRU 的計算過程如式(4)~式(7)所示:

其中:xt為t時刻的輸入;W表示權重參數;b表示偏差向量;ht-1、ht分別表示t?1和t時刻的候選隱 藏層狀態。

在跨平臺工作流中,不同的算子實現需要在不同平臺中運行,因此后續算子的實現平臺對當前平臺算子的數據輸出格式及數據傳輸是存在時間成本影響的。為了捕捉這種影響關系,本文使用雙向GRU(BiGRU)來實現上下文語義的提取。BiGRU可以利用雙向通道實現正向和反向的信息積累,從而在物理工作流中獲得更加豐富的特征信息。

3.2.4 模型輸出

將經過特征工程處理后的工作流特征Fw與BiGRU 的輸出outg相融合,得到工作流的最終表示為w,即:

跨平臺工作流的最終表示w將被傳入至3 層全連接神經網絡中進行特征學習,并產生該工作流運行時間的預測結果tw。跨平臺物理工作流在GGFN模型中的整體估計過程即為:

其中:Ow為物理工作流的算子特征部分;Fw為物理工作流特征部分。

3.2.5 模型損失函數

在模型訓練過程中,本文采用式(10)作為GGFN模型的損失函數,其結合了均方損失(Mean Square Error,MSE)和絕對值損失(Mean Absolute Error,MAE)的優勢。在計算損失過程中,當預測偏差小于δ時采用平方誤差,當預測偏差大于δ時采用的線性誤差,降低了對離群點的懲罰程度,也更具魯棒性。

其中:y表示工作流運行時間的真實值;f(x)表示模型運行時間的預測值,超參數δ將根據在訓練數據集上的訓練效果進行調整。

3.3 算子平臺枚舉

利用成本模型進行算子平臺的枚舉并選擇成本較低的物理工作流是整個優化方法中必經的一步,但是在進行算子平臺枚舉過程中會面臨笛卡爾積組合造成的指數搜索空間的問題。因此,本文在GGFN 模型的基礎上提出了應用剪枝的枚舉算法實現將邏輯工作流轉換為可執行的物理工作流。

3.3.1 工作流剪枝

假設一個邏輯工作流包含m個算子,每個算子有k個對應的實現平臺可以選擇,那么如果枚舉所有的可能,則將會形成km個物理工作流。研究人員針對該問題提出了其解決辦法,如文獻[26]使用一種簡單的搜索空間修剪技術,即傳統貪婪剪枝方法,在枚舉過程中僅保留當前步驟下成本最低的物理工作流。這種貪婪剪枝方法雖然簡單但是會產生局部最優的結果。而Musketeer[2]使用了動態規劃啟發式算法返回給定線性順序的最優k路劃分,但是該方法只能探索工作流中算子的單一線性排序,這使得在進行枚舉前需要先將DAG 型工作流進行線性排序操作,而這會導致在k路劃分時錯過可能的算子平臺間的階段劃分和合并的機會。為了降低枚舉搜索空間并減少優化時間開銷,本文提出了較貪婪剪枝方法更加有效且易實現的延遲貪婪剪枝方法,該方法可以在保持工作流結構特點的基礎上實現高效的剪枝操作。

由于傳統貪婪剪枝方法在枚舉過程中僅保留一個成本最低的物理工作流,這樣很容易產生局部最優的情況因此延遲貪婪剪枝方法保留了包含兩個不確定算子的所有物理工作流,從而在可接受優化開銷范圍內增加了更多選擇。該剪枝方法的主要依據是:如果兩個子物理工作流中尾部算子的實現平臺相同,那么它們與其他算子連接所需要的數據轉換等成本都是相同的。成本低的子工作流在添加算子形成新的子工作流后也將有更低的成本。通過使用該剪枝方法,枚舉復雜度將由指數級O(km)降為平方級O(mk2)。

3.3.2 枚舉算法及復雜度分析

本文在使用GGFN 模型作為成本模型的基礎上,提出了應用延遲貪婪剪枝的算子平臺枚舉算法,如算法1 所示。

算法1算子平臺枚舉算法

算子平臺枚舉算法將邏輯工作流lw 作為輸入,并得到最優物理工作流pwmin,其中假設lw 中的算子數量為m。首先,需要對lw 進行向量化處理并拓撲排序得到所有算子的集合(第2 行)。然后,遍歷所有算子并枚舉其實現平臺,將算子及其實現平臺放入隊列中(第3 行~第6 行),該過程的時間復雜度為O(n)。獲取源算子與其實現平臺集合作為生成物理工作流向量集合PV 的初始值(第8 行)。接下來將通過循環來添加算子至物理工作流向量。首先是獲取當前物理工作流的所有下一個待連接算子及其實現平臺集合(第11 行),遍歷待連接算子并取其與當前子物理工作流的笛卡爾積進行枚舉連接(第12 行~第14 行)。從算子向量中刪除已連接算子,然后將不同連接組合所形成的子物理工作流進行剪枝,剪枝將基于GGFN 模型進行,同時更新當前子物理工作流集合(第15 行~第22 行),該過程的時間復雜度為O(n2)。當算子向量隊列為空時,枚舉連接過程完成,整體過程的時間復雜度為O(mn2)。接著獲取PV中成本最低的物理工作流向量并進行反向量化為最優物理工作流pwmi(n第24行),最后返回結果(第25行)。因此,算子平臺枚舉算法的總時間復雜度為O(mn2)=O(n+mn2)。

本文在GGFN 成本模型對跨平臺物理工作流成本準確預測的基礎上,通過應用算子平臺枚舉算法,為每個邏輯算子選擇合適的實現平臺,并完成從邏輯工作流到物理工作流的優化轉換。

4 實驗與結果分析

本節通過多組實驗來評估本文的優化方法,并證明該方法可以基于GGFN 模型為跨平臺工作流中的算子選擇合適的運行平臺,并利用跨平臺系統的多平臺優勢提高任務的執行速度,GGFN 模型對于成本估計具有更高的準確度。

4.1 實驗設置

4.1.1 實驗環境

實驗在一個由3 個節點組成的集群上進行,每個節點都包含2 個16 核的Intel Xeon Gold 5218 處理器,1 個NVIDIA Tesla T4 GPU,4 個32 GB DDR4 的RAM 以及2 TB 的固態硬盤SSD,操作系統為Ubuntu 20.0.1。部署在集群上的計算平臺包括:Java 1.8,Spark 2.4.5,Flink 1.13.2,SparkML 2.4.5,JgraphT 1.4.0,GraphX 2.4.5,Sklearn 0.24.1,Gensim 4.1.0,Tensorflow 2.6,PyTorch 1.7.1。

4.1.2 實驗數據集

本文在實驗中根據工作流情況使用多個不同的數據集。其中,WordCount 任務與Word2Vec 任務使用Wikipedia 公開數據集,該數據集是源自Wikipedia 網站中用于文本檢索的常用典型數據集。PageRank 任務使用斯坦福大學公開數據集LiveJournal-Network,該數據集包含免費在線社區LiveJournal 中近500 萬會員及其朋友之間的關聯關系,在實驗中被用于進行PageRank計算來統計該社交平臺中重要用戶的權重信息。此外,用于模擬真實計算場景的用戶信用分析任務將使用Kaggle 平臺上的Credit-Card-Approval-Prediction數據集。該數據集包含歐洲某國用戶基本信息與其相關信貸記錄的情況,數據集中包括用戶信用記錄表和用戶基本信息表兩個部分。其中用戶基本信息表主要包括用戶編號、性別、教育程度、婚姻狀況、出生時間、職業、家庭情況等信息。用戶信用記錄表主要包括用戶編號、記錄月份、借貸信用狀態。此外,由于上述部分數據集的大小固定,因此需要對其進行數據切片或數據復制等操作,使其可以符合實驗中跨平臺工作流的輸入大小。

4.1.3 實驗參數設置及評價標準

在GGFN 模型訓練的參數設置中,優化器采用Adam,跨平臺工作流的算子特征維度為63,工作流特征維度為39。GAT 網絡層數為2,多頭注意力K為2,隱藏層節點數為128。BiGRU 網絡的層數為2,隱藏層節點數為128。全連接層的隱藏節點數設置為128。模型訓練的學習率和Dropout 分別設置為0.001 和0.4。

為了評估GGFN 模型的準確度,本文使用絕對誤 差(Absolute Error,AE)及相對誤差(Relative Error,RE)作為評價標準,定義如下:

其中:|PW|表示物理工作流的數量;r(?)表示物理工作流pw 的真實運行時間;e(?)表示成本模型對pw 的估計運行時間。

4.2 訓練數據生成

模型訓練需要大量物理工作流及運行時間作為訓練數據,但由于跨平臺系統為新興平臺系統,因此并沒有充足的執行日志作為訓練數據。本文的訓練數據首先需要通過數據生成的方式產生,然后在系統使用過程中收集執行日志并在線下完成模型訓練。本文在文獻[27]的基礎上改進了其數據模擬方式并生成了用于模型冷啟動的訓練數據。首先,運行包括少量輸入數據的全部工作流以及中等和大量輸入數據的少量工作流,并記錄運行時間。然后,將已執行的工作流進行標注,同時對結果數據進行多項式插值和數據擬合,并取插值和擬合的均值作為運行時間標簽,如圖5 所示。

圖5 訓練數據生成示例Fig.5 Example of training data generation

圖5 為某次訓練數據生成的示意圖。根據工作流輸入數據的行數以及實際運行時間,分別對其進行5 階多項式插值以及3 階多項式擬合。而對于模擬生成的數據,取插值和擬合結果的均值作為該工作流在指定輸入數據集行數的運行時間標簽。

4.3 單平臺下優化效果分析

首先評估基于GGFN 模型的跨平臺工作流優化方法在平臺選擇時的優化效果。為了使選擇效果更加明顯,在實驗中設置為僅選擇一個平臺來運行相應的任務工作流。本次實驗選擇了WordCount、PageRank 和Word2Vec 三個任務作為批處理、圖計算以及機器學習任務的工作流代表來進行實驗,并分別在不同平臺上運行,以此觀察優化方法能否為相應的工作流選擇最佳的執行平臺。圖6~圖8 顯示了在改變數據集大小的情況下3 個不同任務在各自平臺下的運行時間。其中,倒三角表示本文優化方法在相應數據輸入情況下為工作流選擇的執行平臺。可以發現,圖中結果顯示了不同工作流在不同平臺上的運行時間是存在顯著差異的,部分平臺運行時間差距達到5 倍以上,這也表明通過優化為工作流中的算子選擇合適的平臺對加快任務運行的重要性。

圖6 WordCount 任務運行時間對比Fig.6 The comparison of WordCount task runtime

圖7 PageRank 任務運行時間對比Fig.7 The comparison of PageRank task runtime

圖8 Word2Vec 任務運行時間對比Fig.8 The comparison of Word2Vec task runtime

在圖6 所示的WordCount 任務中,當數據集較小時(如0.05 GB),JavaStream 由于單機優勢而獲得較快的執行速度,而Spark 和Flink 平臺卻由于分布式通信等開銷的影響導致其速度較慢。在數據集大于1 GB 后可以明顯發現,JavaStream 的運行時間突增,且在30 GB 時出現運行異常。而Spark 通過分布式節點進行數據處理,與計算時間相比通信開銷所帶來的影響開始變得很小。基于GGFN 的優化方法發現這一差異并準確地選擇出最佳運行平臺。

圖7 顯示了PageRank 進行10 次迭代計算情況下的執行時間。在小規模圖上,Jgrapht性能優于其他平臺,但在大規模圖上,Graphx的性能卻是Jgrapht的3~4倍,這是由于平臺的定位是面對不同規模的圖數據集,而對于圖8 中的Word2Vec 任務,由于Gensim 對該算法進行了優化,且使用Cython 提高計算性能,因此在該項任務中一直保持較快的執行速度。

可以看到,在近87%的情況下,基于GGFN 模型的優化方法選擇了最佳的執行平臺,即使是在兩個運行平臺時間相差較小的情況下。只有在少數困難的情況下未能選擇出最佳的平臺,如Word2Vec 任務在5 MB 輸入時。因此,可以得出以下結論:基于GGFN 模型的優化方法可以為絕大部分任務選擇出最佳平臺并防止任務陷入極端的執行情況,如在30 GB 下的WordCount 任務并未選擇JavaStream 作為執行平臺。

4.4 多平臺下優化效果分析

本節將評估基于GGFN 模型的優化方法能否利用多平臺優勢加速任務工作流的執行。實驗使用一個真實環境下的用戶信用相關性分析任務作為實驗工作流,如圖9 所示。該工作流包含11 個算子,使用Credit-Card-Approval-Prediction 數據集作為工作流輸入。該數據集包含用戶信息和用戶信用記錄兩個部分。該工作流對此數據集進行處理后使用Kmeans 分析影響用戶信用的相關因素。

圖10 顯示了該任務工作流僅在JavaStream、Spark、Flink 的單平臺下的運行情況,以及使用了基于GGFN 模型的優化方法為工作流中算子根據情況選擇實現平臺后的運行情況。可以發現,在輸入數據集小于1 GB 時,優化方法僅選擇JavaStream 作為執行平臺,因為此時的JavaStream 運行時間總是小于其他平臺數據處理時間以及中間結果的文件生成所帶來的時間開銷。當數據集大于1 GB 時,優化方法選擇結合JavaStream 和Flink 或者Spark 進行計算。其中,由于算子1~算子3 所在分支的輸入數據集(用戶信用記錄表)僅包含3 列數據,且數據集大小僅為用戶信息表的30%,算子ReduceBy 會把數據壓縮至輸入數據的5%。因此,該分支總是被選擇由JavaStream 執行。例如,在輸入數據集為2 GB 時優化方法選擇了JavaStream 和Spark 平臺并將任務工作流分為兩部分執行。

圖10 用戶信用分析任務運行時間對比Fig.10 The comparison of user credit analysis task runtime

基于GGFN 的成本優化方法利用多平臺優勢,根據不同情況為跨平臺工作流中的算子選擇合適的實現平臺從而提升性能。在該實驗中,使用基于GGFN 的成本優化方法對任務工作流進行優化后,性能較單機最差情況提升近3 倍,運行時間縮短60%以上,性能較單機最好情況提升近25%。

4.5 GGFN 模型分析

成本模型旨在幫助優化方法根據預測的運行成本選擇最佳的物理工作流并避免出現最壞的情況,因此準確的成本估計至關重要。為了評估GGFN 模型對于成本估計的準確性,本文根據文獻[9]復現了Robopt 優化器中基于隨機森林的成本模型。同時為了驗證GGFN 模型對于時間和結構信息的提取能力,本文將其與深度神經網絡(Deep Neural Networks,DNN)進行比較。DNN 包含8 個隱藏層,每個隱藏層有256 個神經元,其模型輸入是算子特征和工作流特征向量的串接。在此基礎上,本文在WordCount、Word2Vec、PageRank 和用戶信用分析4 個任務上分別評估了GGFN 模型、隨機森林(RF)模型以及DNN模型的絕對誤差值(AE)以及相對誤差值(RE),如表1 所示。

表1 各個成本模型的AE 與RE值Table 1 AE and RE values of each cost model

實驗結果表明,GGFN 模型的準確度優于Robopt 中所采用的隨機森林模型以及DNN 成本模型。在絕對誤差方面,GGFN 比DNN 最高降低了81.1 s,比隨機森林模型最高降低了24.9 s。而在相對誤差方面,GGFN 模型比隨機森林模型提高近14.9%,比DNN 提高達42.6%。由于DNN 模型參數復雜,因此需要更多的訓練數據幫助其分析影響成本的因素。雖然此次訓練數據來自冷啟動和部分執行日志,但仍不足以訓練出可以準確估計DAG 型工作流成本的DNN 模型。隨機森林模型由于相對簡單,因此具有更好的魯棒性,實驗中訓練速度最快,使用也相對簡單,但在成本預測誤差方面與本文中的GGFN 模型相比仍有差距。這也充分說明了GGFN 模型可以利用GAT 和BiGRU 來提取DAG 型工作流中算子的結構和時序信息,以實現更加準確的成本估計。

4.6 優化時間開銷分析

本文實驗評估了基于GGFN 模型進行跨平臺工作流優化過程的時間開銷。在跨平臺工作流中增加算子來探究優化延遲的變化情況,并通過對比來說明延遲貪婪剪枝的效果。其中每個算子的對應平臺數目設定為3,這也是目前算子平均所擁有的平臺實現數,實驗結果如圖11 所示。可以發現,在算子數量小于15 時,基于GGFN 模型的優化時間開銷僅比貪婪剪枝算法多1.5 s,但可以最大程度地避免產生局部最優的情況,即使在算子數量為25 時,此時的優化時間開銷仍小于3 s,這對于基于GGFN 模型優化方法所帶來的性能提升來說是可接受的。為了保證優化效果最大化并降低優化時間開銷,因此在枚舉過程中使用延遲貪婪剪枝方法可以降低優化時間,相比貪婪剪枝方法也具有較好的優化效果。

圖11 優化延遲開銷對比Fig.11 The comparison of optimization delay overhead

5 結束語

在大數據時代,結合多個平臺的跨平臺數據處理系統開始興起,而針對跨平臺系統的工作流優化由于存在成本預測準確度低等問題而難以實現較好的效果。本文提出一種高效的跨平臺工作流優化方法。使用由圖注意力網絡和門控循環單元組成的GGFN 模型作為成本模型,用來捕捉跨平臺工作流的結構信息和算子運行時序信息。基于成本模型的估計結果,通過應用枚舉算法為邏輯算子選擇合適的實現平臺,完成邏輯工作流到物理工作流的優化轉換。實驗結果表明,基于GGFN 模型的優化方法將現有跨平臺工作流性能提升近3 倍,且GGFN 模型可進行更準確的成本估計。后續將進一步優化剪枝方法和平臺枚舉算法,減少時間開銷,并與成本模型相結合,在低延遲開銷的情況下實現更好的跨平臺工作流優化效果。

猜你喜歡
跨平臺物理成本
只因是物理
井岡教育(2022年2期)2022-10-14 03:11:44
2021年最新酒駕成本清單
河南電力(2021年5期)2021-05-29 02:10:00
處處留心皆物理
溫子仁,你還是適合拍小成本
電影(2018年12期)2018-12-23 02:18:48
跨平臺APEX接口組件的設計與實現
測控技術(2018年9期)2018-11-25 07:44:58
三腳插頭上的物理知識
基于QT的跨平臺輸電鐵塔監控終端軟件設計與實現
基于OPC跨平臺通信的電機監測與診斷系統
我不是教物理的
中學生(2015年2期)2015-03-01 03:43:33
基于B/S的跨平臺用戶界面可配置算法研究
主站蜘蛛池模板: 2021精品国产自在现线看| 亚洲国产一区在线观看| 国产亚洲一区二区三区在线| 亚洲国产精品不卡在线 | 国产亚洲欧美日韩在线观看一区二区 | 992tv国产人成在线观看| 欧美在线伊人| 大香伊人久久| 国产成人精品男人的天堂下载| 欧美性久久久久| 又黄又湿又爽的视频| 免费毛片全部不收费的| AV无码无在线观看免费| 国产欧美日韩18| 日韩中文无码av超清| 在线精品欧美日韩| 国产精品深爱在线| 亚洲人成影院在线观看| 天堂va亚洲va欧美va国产| 国产在线一区视频| 亚洲无码高清免费视频亚洲 | 小13箩利洗澡无码视频免费网站| 国产91熟女高潮一区二区| 国产成人无码AV在线播放动漫| 无码国产伊人| 亚洲二区视频| 亚洲成人免费看| 午夜精品区| 亚洲天堂免费观看| 狠狠操夜夜爽| 国产一区二区三区在线观看视频| 中文字幕66页| 亚洲经典在线中文字幕| 国产精品大尺度尺度视频| 激情六月丁香婷婷四房播| 69国产精品视频免费| 天堂亚洲网| 黄色一及毛片| 中文字幕无码制服中字| 尤物成AV人片在线观看| 美女扒开下面流白浆在线试听| 99re经典视频在线| 国产91小视频在线观看| 伊在人亞洲香蕉精品區| 欧美va亚洲va香蕉在线| 一区二区三区国产精品视频| 91小视频在线观看免费版高清| 国产成人精品日本亚洲| 久久国产精品无码hdav| 日韩小视频在线播放| 呦女亚洲一区精品| 91娇喘视频| 亚洲成人动漫在线观看| 国产资源免费观看| 99精品福利视频| 91麻豆精品国产高清在线| 国产精品视频导航| 免费高清自慰一区二区三区| 日韩免费中文字幕| 2021国产精品自产拍在线| a级毛片免费网站| 天天操天天噜| 熟妇无码人妻| 2021精品国产自在现线看| a级毛片免费在线观看| 日韩大乳视频中文字幕| 无码内射中文字幕岛国片| 国产 在线视频无码| 国产主播福利在线观看| 一级毛片免费观看不卡视频| 国产一区免费在线观看| 欧洲成人在线观看| 国产欧美日韩另类精彩视频| 好紧太爽了视频免费无码| 久久黄色一级视频| 国产精品极品美女自在线看免费一区二区 | 亚洲最大综合网| 91破解版在线亚洲| 国产乱子伦无码精品小说| 亚洲国产亚综合在线区| 一级毛片无毒不卡直接观看| 另类综合视频|