杜清華,張凱
(1.復(fù)旦大學(xué) 軟件學(xué)院,上海 200438;2.復(fù)旦大學(xué) 計(jì)算機(jī)科學(xué)技術(shù)學(xué)院,上海 200438)
為了滿足數(shù)據(jù)科學(xué)的多種需求,具有擴(kuò)展性的跨平臺(tái)數(shù)據(jù)分析系統(tǒng)不斷涌現(xiàn),如Rheem[1]、Musketeer[2]等。這類系統(tǒng)將Java、Spark[3]等不同數(shù)據(jù)處理平臺(tái)作為底層實(shí)現(xiàn),為用戶抽象出一套數(shù)據(jù)分析接口,幫助用戶更加簡(jiǎn)單地完成對(duì)復(fù)雜數(shù)據(jù)分析任務(wù)的計(jì)算。數(shù)據(jù)分析任務(wù)在跨平臺(tái)系統(tǒng)中將以工作流為載體進(jìn)行計(jì)算,工作流主要存在邏輯工作流和物理工作流兩種形式。用戶通過(guò)接口編寫(xiě)邏輯工作流,然后系統(tǒng)需要為邏輯工作流中的每個(gè)算子選擇相應(yīng)的物理實(shí)現(xiàn)而形成可執(zhí)行的物理工作流。邏輯算子的平臺(tái)選擇對(duì)于工作流整體性能至關(guān)重要,因?yàn)樗阕釉诓煌脚_(tái)上的實(shí)現(xiàn)會(huì)存在性能間的顯著差異,這也是針對(duì)跨平臺(tái)工作流進(jìn)行優(yōu)化的主要方式之一。
目前,部分研究人員[4-5]針對(duì)跨平臺(tái)工作流采用了基于成本的優(yōu)化方法,利用函數(shù)公式對(duì)影響算子運(yùn)行成本的因素進(jìn)行建模,從而獲得可以估計(jì)某個(gè)算子具體運(yùn)行時(shí)間的成本模型[6]。然而,將傳統(tǒng)成本優(yōu)化方法應(yīng)用于跨平臺(tái)工作流時(shí)會(huì)存在兩個(gè)問(wèn)題:首先,成本模型普遍具有一個(gè)固定的函數(shù)形式,例如Rheemix[7]中所使用的線性函數(shù)式成本模型,由于線性表達(dá)式本身具有難以表達(dá)復(fù)雜或非線性關(guān)系的特點(diǎn),導(dǎo)致其不能很好地反映各因素對(duì)不同平臺(tái)、不同計(jì)算類型算子運(yùn)行時(shí)間成本的影響程度;其次,它需要系統(tǒng)管理員做大量工作來(lái)調(diào)優(yōu)函數(shù)式成本模型的參數(shù)。尤其在跨平臺(tái)系統(tǒng)中這個(gè)問(wèn)題會(huì)更加嚴(yán)重,因?yàn)榭缙脚_(tái)系統(tǒng)的算子數(shù)量會(huì)數(shù)倍于傳統(tǒng)數(shù)據(jù)處理平臺(tái)[1],這將使得函數(shù)模型的參數(shù)數(shù)量很容易達(dá)到數(shù)百條,手工調(diào)整它們不僅具有挑戰(zhàn)性而且非常耗時(shí)[8]。
隨著機(jī)器學(xué)習(xí)的發(fā)展,一些工作開(kāi)始探索使用新的方式來(lái)實(shí)現(xiàn)跨平臺(tái)工作流優(yōu)化。Robopt[9]使用隨機(jī)森林算法作為成本模型,雖然該算法的魯棒性較好,但是無(wú)法捕捉工作流中所隱含的信息,如工作流的結(jié)構(gòu)信息和算子的運(yùn)行時(shí)序信息等。由于不同的算子具有不同的屬性(如參數(shù)、子節(jié)點(diǎn)),這使得物理工作流具有獨(dú)特的結(jié)構(gòu)信息。雖然部分研究[10-12]在成本估計(jì)上探索了結(jié)構(gòu)信息并取得了不錯(cuò)的效果,但他們的目標(biāo)僅適用于單平臺(tái)查詢優(yōu)化,如數(shù)據(jù)庫(kù)查詢優(yōu)化等。文獻(xiàn)[13-15]提出使用基于成本的強(qiáng)化學(xué)習(xí)優(yōu)化方法,該方法雖然可以降低優(yōu)化器的維護(hù)成本,但是十分依賴模型的設(shè)計(jì)及訓(xùn)練數(shù)據(jù),且啟發(fā)式方法所固有的不穩(wěn)定性將在某些情況下導(dǎo)致優(yōu)化效果并不明顯。
為了提升跨平臺(tái)工作流的執(zhí)行性能,本文提出一種GGFN(GAT-BiGRU-FC Network)模型作為成本模型,用于實(shí)現(xiàn)高效的跨平臺(tái)工作流優(yōu)化。基于圖注意力機(jī)制和循環(huán)網(wǎng)絡(luò)門(mén)控機(jī)制,GGFN 模型可以在具有有向無(wú)環(huán)圖(Directed Acyclic Graph,DAG)結(jié)構(gòu)的跨平臺(tái)工作流上挖掘結(jié)構(gòu)信息和記憶算子的運(yùn)行時(shí)序信息,該模型以算子特征和工作流特征作為輸入,從而對(duì)跨平臺(tái)工作流實(shí)現(xiàn)更準(zhǔn)確的成本估計(jì)。在此基礎(chǔ)上,通過(guò)對(duì)邏輯算子的實(shí)現(xiàn)平臺(tái)進(jìn)行枚舉,并選擇其中運(yùn)行時(shí)間成本低的物理工作流作為最終的優(yōu)化結(jié)果。同時(shí),為加速枚舉過(guò)程,本文設(shè)計(jì)延遲貪婪剪枝方法以降低優(yōu)化時(shí)間的開(kāi)銷。
工作流優(yōu)化是數(shù)據(jù)處理平臺(tái)用于提升性能的主要方式,優(yōu)化通過(guò)將邏輯工作流轉(zhuǎn)換為運(yùn)行成本更低的可執(zhí)行物理工作流,從而加快數(shù)據(jù)處理任務(wù)的運(yùn)行速度?;诔杀镜膬?yōu)化方法[16]是傳統(tǒng)工作流優(yōu)化中最常用的方法之一,而成本模型是實(shí)現(xiàn)基于成本優(yōu)化的基礎(chǔ)。例如,KeystoneML[17]在進(jìn)行工作流優(yōu)化時(shí),依據(jù)資源使用情況、輸入輸出基數(shù)以及算子信息等給出相應(yīng)的函數(shù)公式作為成本模型。文獻(xiàn)[18]使用循環(huán)神經(jīng)網(wǎng)絡(luò)作為成本模型來(lái)預(yù)測(cè)數(shù)據(jù)庫(kù)查詢計(jì)劃的運(yùn)行成本。文獻(xiàn)[19]提出為工作流中的表達(dá)式創(chuàng)建多個(gè)機(jī)器學(xué)習(xí)模型并以此實(shí)現(xiàn)準(zhǔn)確度更好、覆蓋率更高的成本估計(jì)。
然而,跨平臺(tái)系統(tǒng)在跨平臺(tái)工作流優(yōu)化方面并沒(méi)有像數(shù)據(jù)庫(kù)或其他數(shù)據(jù)處理平臺(tái)一樣擁有成熟且可靠的優(yōu)化方法。例如,文獻(xiàn)[20]雖然介紹了跨平臺(tái)系統(tǒng)相關(guān)工作,但并未針對(duì)其工作流提供優(yōu)化方法,BigDAWG[21]為跨平臺(tái)工作流所提供的優(yōu)化方式需要用戶通過(guò)Scope 和Cast 命令指定運(yùn)行工作流的具體平臺(tái)。這種優(yōu)化方式不僅存在優(yōu)化效果的不確定性,而且增加了用戶的工作量和難度。此外,LaraDB[22]和Myria[8]通過(guò)利用已有經(jīng)驗(yàn)所制定的規(guī)則實(shí)現(xiàn)優(yōu)化,但是過(guò)度耦合的優(yōu)化規(guī)則會(huì)給系統(tǒng)的擴(kuò)展性帶來(lái)困難。因此,基于成本的優(yōu)化方法仍然是研究人員進(jìn)行跨平臺(tái)工作流優(yōu)化所使用的主要方式。例如,Rheemix[7]為其系統(tǒng)中每個(gè)算子定義了成本的計(jì)算過(guò)程,但是由于跨平臺(tái)系統(tǒng)中算子數(shù)量大、計(jì)算類型多,因此將這種函數(shù)式的成本模型應(yīng)用于跨平臺(tái)優(yōu)化很容易出現(xiàn)參數(shù)規(guī)模達(dá)到數(shù)百而產(chǎn)生參數(shù)調(diào)優(yōu)困難的問(wèn)題。Musketeer[2]通過(guò)對(duì)每個(gè)算子成本進(jìn)行累加的方式計(jì)算工作流整體成本,然而這種方式會(huì)忽略不同平臺(tái)算子間的數(shù)據(jù)傳輸所帶來(lái)的時(shí)間成本。雖然Robopt[9]使用了機(jī)器學(xué)習(xí)算法來(lái)避免繁瑣的參數(shù)調(diào)優(yōu)工作,但是其成本模型由于擴(kuò)展性不足且無(wú)法捕捉工作流的潛在信息,而不能實(shí)現(xiàn)更好的優(yōu)化效果。
圖注意力網(wǎng)絡(luò)(Graph Attention Network,GAT)是由PETAR等[23]所提出的用于處理圖結(jié)構(gòu)數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò)模型。GAT 可以通過(guò)堆疊應(yīng)用注意力機(jī)制的網(wǎng)絡(luò)層來(lái)獲取圖上每個(gè)節(jié)點(diǎn)的鄰域特征,并為鄰域中的不同節(jié)點(diǎn)分配不同的權(quán)重作為注意力系數(shù)。這使得可以在不需要高成本的矩陣運(yùn)算和預(yù)先知道圖結(jié)構(gòu)信息的情況下實(shí)現(xiàn)高效的圖信息處理。通過(guò)這種方式,GAT 可以解決基于頻域的圖處理方法所無(wú)法解決的動(dòng)態(tài)圖問(wèn)題,如圖卷積網(wǎng)絡(luò)(Graph Convolutional Network,GCN)[24],同時(shí)也能應(yīng)用于圖的歸納學(xué)習(xí)和直推學(xué)習(xí)。需要注意的是,由于GAT網(wǎng)絡(luò)是對(duì)圖頂點(diǎn)進(jìn)行逐個(gè)運(yùn)算,每次計(jì)算都需要對(duì)圖上所有頂點(diǎn)進(jìn)行循環(huán)遍歷,這意味著GAT 可以擺脫傳統(tǒng)圖結(jié)構(gòu)處理中的Laplacian 矩陣的束縛并實(shí)現(xiàn)對(duì)有向圖的處理。
門(mén)控循環(huán)單元(Gate Recurrent Unit,GRU)是由CHO等[25]提出用于解決長(zhǎng)期記憶和反向傳播中的梯度等問(wèn)題的網(wǎng)絡(luò)模型,與長(zhǎng)短期記憶(Long Short-Term Memory,LSTM)同為循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)的變體。LSTM 的門(mén)控機(jī)制被廣泛應(yīng)用于分析并捕獲時(shí)間序列數(shù)據(jù)中的長(zhǎng)期依賴關(guān)系。GRU 在LSTM 的基礎(chǔ)上通過(guò)優(yōu)化門(mén)結(jié)構(gòu)而保證了對(duì)于序列數(shù)據(jù)的長(zhǎng)期記憶效果。在大量的實(shí)驗(yàn)數(shù)據(jù)中證明,GRU 在模型準(zhǔn)確度方面與LSTM 有著相似的效果,但由于GRU 的門(mén)控?cái)?shù)少于LSTM,在模型訓(xùn)練中將會(huì)有更少的參數(shù)需要計(jì)算,因此GRU的模型收斂速度會(huì)更快。
邏輯工作流是由用戶根據(jù)任務(wù)需求所創(chuàng)建而形成的DAG 型結(jié)構(gòu)的有向數(shù)據(jù)流圖。其頂點(diǎn)是邏輯算子,表示對(duì)數(shù)據(jù)進(jìn)行分析處理的任務(wù)邏輯且與平臺(tái)無(wú)關(guān),邊代表算子之間的數(shù)據(jù)流。邏輯工作流用符號(hào)可以表示為lw={O,E}。其中,O={o1,o2,…,on}表示邏輯算子集合,oi表示第i個(gè)邏輯算子,n表示邏輯算子的數(shù)量,E={e1,e2,…,em}表示數(shù)據(jù)流邊集合,ek=[oi,oj]表示算子間的數(shù)據(jù)流邊。
定義1(跨平臺(tái)工作流優(yōu)化)針對(duì)跨平臺(tái)工作流,給定一個(gè)優(yōu)化轉(zhuǎn)換操作Opt=Min{pltSec(?)},實(shí)現(xiàn)將邏輯工作流lw 轉(zhuǎn)化為最優(yōu)物理工作流pwmin。在由平臺(tái)選擇操作pltSec(lw)所生成的物理工作流集合PW 中存在pwj?PW,使得對(duì)于任意的pwi?PW,pwi≠pwj,滿 足cost(pwj)≤cost(pwi)。此 時(shí),pwmin=pwj=Opt(lw)為跨平臺(tái)工作流優(yōu)化的目標(biāo)結(jié)果。
為了提升跨平臺(tái)工作流的執(zhí)行性能并克服已有優(yōu)化工作中的問(wèn)題,本文提出一種基于GGFN 模型的跨平臺(tái)工作流優(yōu)化方法,該方法的整體優(yōu)化框架如圖1 所示。
圖1 基于GGFN 模型的跨平臺(tái)工作流優(yōu)化框架Fig.1 Cross-platform workflow optimization framework based on GGFN model
首先對(duì)于用戶輸入的邏輯工作流進(jìn)行向量化操作,從而避免后續(xù)每次進(jìn)行成本估計(jì)時(shí)向量轉(zhuǎn)換所帶來(lái)的優(yōu)化開(kāi)銷。接著對(duì)每個(gè)邏輯算子進(jìn)行算子實(shí)現(xiàn)平臺(tái)的枚舉,同時(shí)利用延遲貪婪剪枝方法以加速枚舉過(guò)程。枚舉算法將使用基于圖注意力網(wǎng)絡(luò)和門(mén)控循環(huán)單元所形成的GGFN 模型對(duì)跨平臺(tái)工作流所做出的成本估計(jì)結(jié)果為依據(jù)進(jìn)行平臺(tái)選擇。最后成本最低的物理工作流向量將會(huì)被選擇出來(lái),并將其反向量化為可執(zhí)行的物理工作流后進(jìn)行部署和執(zhí)行。與此同時(shí),物理工作流的執(zhí)行過(guò)程會(huì)將被記錄并進(jìn)行日志分析,以此來(lái)作為后續(xù)GGFN 模型的線下訓(xùn)練數(shù)據(jù)。
對(duì)物理工作流進(jìn)行準(zhǔn)確的成本估計(jì)是本文實(shí)現(xiàn)高效跨平臺(tái)工作流優(yōu)化的重要基礎(chǔ)。在總結(jié)了已有工作的不足之處后,本文提出了基于圖注意力神經(jīng)網(wǎng)絡(luò)(GAT)與門(mén)控循環(huán)單元(GRU)的GGFN 成本模型,其結(jié)構(gòu)如圖2 所示。該模型包含兩個(gè)輸入部分,一是算子特征,二是工作流特征。算子特征將經(jīng)過(guò)圖注意力網(wǎng)絡(luò)的處理來(lái)捕捉工作流的整體結(jié)構(gòu)信息以及各個(gè)算子之間的交互關(guān)系。雙向門(mén)控循環(huán)單元將對(duì)算子之間的運(yùn)行時(shí)序關(guān)系進(jìn)行挖掘并獲得相應(yīng)的運(yùn)行狀態(tài)信息,其編碼結(jié)果將與工作流特征進(jìn)行融合。融合后的特征將被輸入到3 層全連接層進(jìn)行工作流運(yùn)行時(shí)間成本的預(yù)測(cè),并在輸出層得到預(yù)測(cè)結(jié)果。
圖2 基于GAT 和BiGRU 的GGFN 模型架構(gòu)Fig.2 The GGFN model architecture based on GAT and BiGRU
3.2.1 輸入特征
GGFN 模型的輸入特征被設(shè)計(jì)為以下2 個(gè)部分:
1)工作流特征。工作流的整體信息表示以及輸入數(shù)據(jù)集信息,包括算子數(shù)量、平臺(tái)數(shù)量、結(jié)構(gòu)信息、輸入數(shù)據(jù)集大小、輸入數(shù)據(jù)集分布、輸入平均元組大小等。
2)算子特征。工作流中每個(gè)算子的信息表示,包括算子并行度、父節(jié)點(diǎn)數(shù)量、子節(jié)點(diǎn)數(shù)量、用戶自定義函數(shù)(User Defined Function,UDF)復(fù)雜度、計(jì)算分析類型、輸入輸出基數(shù)、算子運(yùn)行平臺(tái)等。
其中,算子特征結(jié)合鄰接矩陣來(lái)表示跨平臺(tái)工作流的DAG 結(jié)構(gòu),從而可以更好地幫助GGFN 模型挖掘工作流結(jié)構(gòu)信息和算子的運(yùn)行時(shí)序信息。該設(shè)計(jì)滿足特征的擴(kuò)展性要求,當(dāng)在跨平臺(tái)系統(tǒng)中添加新的平臺(tái)或算子時(shí),只需進(jìn)行相應(yīng)特征位的映射范圍擴(kuò)展。
3.2.2 圖注意力網(wǎng)絡(luò)
由于GAT 中的注意力機(jī)制可以為每個(gè)鄰居節(jié)點(diǎn)分配不同的注意力系數(shù),因此可以識(shí)別出相對(duì)于當(dāng)前節(jié)點(diǎn)更重要的鄰居節(jié)點(diǎn)。在跨平臺(tái)工作流中,不同算子對(duì)相鄰算子的影響程度是不同的。例如,F(xiàn)liter 算子會(huì)通過(guò)減少數(shù)據(jù)量而對(duì)下一個(gè)鄰居算子的數(shù)據(jù)處理時(shí)間產(chǎn)生較大影響,而Sort 算子對(duì)后續(xù)鄰居算子的影響將取決于該鄰居算子對(duì)數(shù)據(jù)順序的依賴性。此外,由于跨平臺(tái)工作流為DAG 圖結(jié)構(gòu),圖網(wǎng)絡(luò)模型將可以更好地實(shí)現(xiàn)對(duì)工作流結(jié)構(gòu)信息的捕捉。因此,本文在GGFN 模型中引入圖注意力網(wǎng)絡(luò)(GAT)來(lái)實(shí)現(xiàn)對(duì)工作流整體結(jié)構(gòu)信息和算子間關(guān)系信息的特征提取。
GAT 的計(jì)算主要包括兩步,首先是計(jì)算注意力系數(shù),計(jì)算過(guò)程如式(1)、式(2)所示:
其中:W為共享參數(shù)對(duì)頂點(diǎn)特征進(jìn)行增維;[?||?]表示對(duì)節(jié)點(diǎn)i和j變換后的特征進(jìn)行拼接操作;a(?)表示將拼接后的高位特征映射到一個(gè)實(shí)數(shù)上。式(1)用于計(jì)算節(jié)點(diǎn)i和其鄰居(j?Ni)間的相似系數(shù);式(2)通過(guò)LeakyReLU(?)進(jìn)行歸一化操作得到節(jié)點(diǎn)i和j的注意力系數(shù)αij。
然后需要根據(jù)計(jì)算好的注意力系數(shù)進(jìn)行特征的加權(quán)求和。為了加強(qiáng)GAT 模型在學(xué)習(xí)過(guò)程中的穩(wěn)定性,本文引入了多頭注意力機(jī)制來(lái)獲得多個(gè)注意力系數(shù)關(guān)系,如圖3 所示。
圖3 GAT 中的多頭注意力機(jī)制Fig.3 Multi-head attention mechanism in GAT
圖3 所示為在K個(gè)注意力機(jī)制下(K=3)算子節(jié)點(diǎn)的更新?tīng)顟B(tài)。通過(guò)利用多頭注意力機(jī)制計(jì)算節(jié)點(diǎn)新特征的計(jì)算公式如式(3)所示:
3.2.3 門(mén)控循環(huán)單元
跨平臺(tái)工作流以算子順序執(zhí)行,運(yùn)行時(shí)間包括從源算子到所有算子執(zhí)行完成的最終狀態(tài),因此需要考慮前序執(zhí)行算子的計(jì)算時(shí)間及計(jì)算狀態(tài)語(yǔ)義?;谏鲜銮闆r,可以利用循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)對(duì)序列數(shù)據(jù)的記憶效果來(lái)獲取跨平臺(tái)工作流中算子執(zhí)行順序?qū)ψ罱K狀態(tài)的影響。而門(mén)控循環(huán)單元(GRU)作為循環(huán)神經(jīng)網(wǎng)絡(luò)的一種特殊形式,利用其門(mén)控機(jī)制可以很好地實(shí)現(xiàn)長(zhǎng)期記憶并避免RNN 中梯度消失和梯度爆炸的問(wèn)題。本文GGFN 模型中的GRU 用于記憶算子結(jié)構(gòu)和運(yùn)行的時(shí)序信息,并對(duì)其特征進(jìn)行編碼。GRU 的單元結(jié)構(gòu)如圖4 所示。
圖4 GRU 單元結(jié)構(gòu)Fig.4 The unit structure of GRU
在圖4 中,rt為重置門(mén),用于控制前一時(shí)刻隱層單元對(duì)當(dāng)前輸入的影響,有助于捕獲運(yùn)行序列中的短期依賴關(guān)系,zt為更新門(mén),用于控制過(guò)去信息的保留和傳遞情況,有助于捕獲物理算子運(yùn)行時(shí)間序列中的長(zhǎng)期依賴關(guān)系。在t時(shí)刻,GRU 的計(jì)算過(guò)程如式(4)~式(7)所示:
其中:xt為t時(shí)刻的輸入;W表示權(quán)重參數(shù);b表示偏差向量;ht-1、ht分別表示t?1和t時(shí)刻的候選隱 藏層狀態(tài)。
在跨平臺(tái)工作流中,不同的算子實(shí)現(xiàn)需要在不同平臺(tái)中運(yùn)行,因此后續(xù)算子的實(shí)現(xiàn)平臺(tái)對(duì)當(dāng)前平臺(tái)算子的數(shù)據(jù)輸出格式及數(shù)據(jù)傳輸是存在時(shí)間成本影響的。為了捕捉這種影響關(guān)系,本文使用雙向GRU(BiGRU)來(lái)實(shí)現(xiàn)上下文語(yǔ)義的提取。BiGRU可以利用雙向通道實(shí)現(xiàn)正向和反向的信息積累,從而在物理工作流中獲得更加豐富的特征信息。
3.2.4 模型輸出
將經(jīng)過(guò)特征工程處理后的工作流特征Fw與BiGRU 的輸出outg相融合,得到工作流的最終表示為w,即:
跨平臺(tái)工作流的最終表示w將被傳入至3 層全連接神經(jīng)網(wǎng)絡(luò)中進(jìn)行特征學(xué)習(xí),并產(chǎn)生該工作流運(yùn)行時(shí)間的預(yù)測(cè)結(jié)果tw。跨平臺(tái)物理工作流在GGFN模型中的整體估計(jì)過(guò)程即為:
其中:Ow為物理工作流的算子特征部分;Fw為物理工作流特征部分。
3.2.5 模型損失函數(shù)
在模型訓(xùn)練過(guò)程中,本文采用式(10)作為GGFN模型的損失函數(shù),其結(jié)合了均方損失(Mean Square Error,MSE)和絕對(duì)值損失(Mean Absolute Error,MAE)的優(yōu)勢(shì)。在計(jì)算損失過(guò)程中,當(dāng)預(yù)測(cè)偏差小于δ時(shí)采用平方誤差,當(dāng)預(yù)測(cè)偏差大于δ時(shí)采用的線性誤差,降低了對(duì)離群點(diǎn)的懲罰程度,也更具魯棒性。
其中:y表示工作流運(yùn)行時(shí)間的真實(shí)值;f(x)表示模型運(yùn)行時(shí)間的預(yù)測(cè)值,超參數(shù)δ將根據(jù)在訓(xùn)練數(shù)據(jù)集上的訓(xùn)練效果進(jìn)行調(diào)整。
利用成本模型進(jìn)行算子平臺(tái)的枚舉并選擇成本較低的物理工作流是整個(gè)優(yōu)化方法中必經(jīng)的一步,但是在進(jìn)行算子平臺(tái)枚舉過(guò)程中會(huì)面臨笛卡爾積組合造成的指數(shù)搜索空間的問(wèn)題。因此,本文在GGFN 模型的基礎(chǔ)上提出了應(yīng)用剪枝的枚舉算法實(shí)現(xiàn)將邏輯工作流轉(zhuǎn)換為可執(zhí)行的物理工作流。
3.3.1 工作流剪枝
假設(shè)一個(gè)邏輯工作流包含m個(gè)算子,每個(gè)算子有k個(gè)對(duì)應(yīng)的實(shí)現(xiàn)平臺(tái)可以選擇,那么如果枚舉所有的可能,則將會(huì)形成km個(gè)物理工作流。研究人員針對(duì)該問(wèn)題提出了其解決辦法,如文獻(xiàn)[26]使用一種簡(jiǎn)單的搜索空間修剪技術(shù),即傳統(tǒng)貪婪剪枝方法,在枚舉過(guò)程中僅保留當(dāng)前步驟下成本最低的物理工作流。這種貪婪剪枝方法雖然簡(jiǎn)單但是會(huì)產(chǎn)生局部最優(yōu)的結(jié)果。而Musketeer[2]使用了動(dòng)態(tài)規(guī)劃啟發(fā)式算法返回給定線性順序的最優(yōu)k路劃分,但是該方法只能探索工作流中算子的單一線性排序,這使得在進(jìn)行枚舉前需要先將DAG 型工作流進(jìn)行線性排序操作,而這會(huì)導(dǎo)致在k路劃分時(shí)錯(cuò)過(guò)可能的算子平臺(tái)間的階段劃分和合并的機(jī)會(huì)。為了降低枚舉搜索空間并減少優(yōu)化時(shí)間開(kāi)銷,本文提出了較貪婪剪枝方法更加有效且易實(shí)現(xiàn)的延遲貪婪剪枝方法,該方法可以在保持工作流結(jié)構(gòu)特點(diǎn)的基礎(chǔ)上實(shí)現(xiàn)高效的剪枝操作。
由于傳統(tǒng)貪婪剪枝方法在枚舉過(guò)程中僅保留一個(gè)成本最低的物理工作流,這樣很容易產(chǎn)生局部最優(yōu)的情況因此延遲貪婪剪枝方法保留了包含兩個(gè)不確定算子的所有物理工作流,從而在可接受優(yōu)化開(kāi)銷范圍內(nèi)增加了更多選擇。該剪枝方法的主要依據(jù)是:如果兩個(gè)子物理工作流中尾部算子的實(shí)現(xiàn)平臺(tái)相同,那么它們與其他算子連接所需要的數(shù)據(jù)轉(zhuǎn)換等成本都是相同的。成本低的子工作流在添加算子形成新的子工作流后也將有更低的成本。通過(guò)使用該剪枝方法,枚舉復(fù)雜度將由指數(shù)級(jí)O(km)降為平方級(jí)O(mk2)。
3.3.2 枚舉算法及復(fù)雜度分析
本文在使用GGFN 模型作為成本模型的基礎(chǔ)上,提出了應(yīng)用延遲貪婪剪枝的算子平臺(tái)枚舉算法,如算法1 所示。
算法1算子平臺(tái)枚舉算法
算子平臺(tái)枚舉算法將邏輯工作流lw 作為輸入,并得到最優(yōu)物理工作流pwmin,其中假設(shè)lw 中的算子數(shù)量為m。首先,需要對(duì)lw 進(jìn)行向量化處理并拓?fù)渑判虻玫剿兴阕拥募希ǖ? 行)。然后,遍歷所有算子并枚舉其實(shí)現(xiàn)平臺(tái),將算子及其實(shí)現(xiàn)平臺(tái)放入隊(duì)列中(第3 行~第6 行),該過(guò)程的時(shí)間復(fù)雜度為O(n)。獲取源算子與其實(shí)現(xiàn)平臺(tái)集合作為生成物理工作流向量集合PV 的初始值(第8 行)。接下來(lái)將通過(guò)循環(huán)來(lái)添加算子至物理工作流向量。首先是獲取當(dāng)前物理工作流的所有下一個(gè)待連接算子及其實(shí)現(xiàn)平臺(tái)集合(第11 行),遍歷待連接算子并取其與當(dāng)前子物理工作流的笛卡爾積進(jìn)行枚舉連接(第12 行~第14 行)。從算子向量中刪除已連接算子,然后將不同連接組合所形成的子物理工作流進(jìn)行剪枝,剪枝將基于GGFN 模型進(jìn)行,同時(shí)更新當(dāng)前子物理工作流集合(第15 行~第22 行),該過(guò)程的時(shí)間復(fù)雜度為O(n2)。當(dāng)算子向量隊(duì)列為空時(shí),枚舉連接過(guò)程完成,整體過(guò)程的時(shí)間復(fù)雜度為O(mn2)。接著獲取PV中成本最低的物理工作流向量并進(jìn)行反向量化為最優(yōu)物理工作流pwmi(n第24行),最后返回結(jié)果(第25行)。因此,算子平臺(tái)枚舉算法的總時(shí)間復(fù)雜度為O(mn2)=O(n+mn2)。
本文在GGFN 成本模型對(duì)跨平臺(tái)物理工作流成本準(zhǔn)確預(yù)測(cè)的基礎(chǔ)上,通過(guò)應(yīng)用算子平臺(tái)枚舉算法,為每個(gè)邏輯算子選擇合適的實(shí)現(xiàn)平臺(tái),并完成從邏輯工作流到物理工作流的優(yōu)化轉(zhuǎn)換。
本節(jié)通過(guò)多組實(shí)驗(yàn)來(lái)評(píng)估本文的優(yōu)化方法,并證明該方法可以基于GGFN 模型為跨平臺(tái)工作流中的算子選擇合適的運(yùn)行平臺(tái),并利用跨平臺(tái)系統(tǒng)的多平臺(tái)優(yōu)勢(shì)提高任務(wù)的執(zhí)行速度,GGFN 模型對(duì)于成本估計(jì)具有更高的準(zhǔn)確度。
4.1.1 實(shí)驗(yàn)環(huán)境
實(shí)驗(yàn)在一個(gè)由3 個(gè)節(jié)點(diǎn)組成的集群上進(jìn)行,每個(gè)節(jié)點(diǎn)都包含2 個(gè)16 核的Intel Xeon Gold 5218 處理器,1 個(gè)NVIDIA Tesla T4 GPU,4 個(gè)32 GB DDR4 的RAM 以及2 TB 的固態(tài)硬盤(pán)SSD,操作系統(tǒng)為Ubuntu 20.0.1。部署在集群上的計(jì)算平臺(tái)包括:Java 1.8,Spark 2.4.5,F(xiàn)link 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 實(shí)驗(yàn)數(shù)據(jù)集
本文在實(shí)驗(yàn)中根據(jù)工作流情況使用多個(gè)不同的數(shù)據(jù)集。其中,WordCount 任務(wù)與Word2Vec 任務(wù)使用Wikipedia 公開(kāi)數(shù)據(jù)集,該數(shù)據(jù)集是源自Wikipedia 網(wǎng)站中用于文本檢索的常用典型數(shù)據(jù)集。PageRank 任務(wù)使用斯坦福大學(xué)公開(kāi)數(shù)據(jù)集LiveJournal-Network,該數(shù)據(jù)集包含免費(fèi)在線社區(qū)LiveJournal 中近500 萬(wàn)會(huì)員及其朋友之間的關(guān)聯(lián)關(guān)系,在實(shí)驗(yàn)中被用于進(jìn)行PageRank計(jì)算來(lái)統(tǒng)計(jì)該社交平臺(tái)中重要用戶的權(quán)重信息。此外,用于模擬真實(shí)計(jì)算場(chǎng)景的用戶信用分析任務(wù)將使用Kaggle 平臺(tái)上的Credit-Card-Approval-Prediction數(shù)據(jù)集。該數(shù)據(jù)集包含歐洲某國(guó)用戶基本信息與其相關(guān)信貸記錄的情況,數(shù)據(jù)集中包括用戶信用記錄表和用戶基本信息表兩個(gè)部分。其中用戶基本信息表主要包括用戶編號(hào)、性別、教育程度、婚姻狀況、出生時(shí)間、職業(yè)、家庭情況等信息。用戶信用記錄表主要包括用戶編號(hào)、記錄月份、借貸信用狀態(tài)。此外,由于上述部分?jǐn)?shù)據(jù)集的大小固定,因此需要對(duì)其進(jìn)行數(shù)據(jù)切片或數(shù)據(jù)復(fù)制等操作,使其可以符合實(shí)驗(yàn)中跨平臺(tái)工作流的輸入大小。
4.1.3 實(shí)驗(yàn)參數(shù)設(shè)置及評(píng)價(jià)標(biāo)準(zhǔn)
在GGFN 模型訓(xùn)練的參數(shù)設(shè)置中,優(yōu)化器采用Adam,跨平臺(tái)工作流的算子特征維度為63,工作流特征維度為39。GAT 網(wǎng)絡(luò)層數(shù)為2,多頭注意力K為2,隱藏層節(jié)點(diǎn)數(shù)為128。BiGRU 網(wǎng)絡(luò)的層數(shù)為2,隱藏層節(jié)點(diǎn)數(shù)為128。全連接層的隱藏節(jié)點(diǎn)數(shù)設(shè)置為128。模型訓(xùn)練的學(xué)習(xí)率和Dropout 分別設(shè)置為0.001 和0.4。
為了評(píng)估GGFN 模型的準(zhǔn)確度,本文使用絕對(duì)誤 差(Absolute Error,AE)及相對(duì)誤差(Relative Error,RE)作為評(píng)價(jià)標(biāo)準(zhǔn),定義如下:
其中:|PW|表示物理工作流的數(shù)量;r(?)表示物理工作流pw 的真實(shí)運(yùn)行時(shí)間;e(?)表示成本模型對(duì)pw 的估計(jì)運(yùn)行時(shí)間。
模型訓(xùn)練需要大量物理工作流及運(yùn)行時(shí)間作為訓(xùn)練數(shù)據(jù),但由于跨平臺(tái)系統(tǒng)為新興平臺(tái)系統(tǒng),因此并沒(méi)有充足的執(zhí)行日志作為訓(xùn)練數(shù)據(jù)。本文的訓(xùn)練數(shù)據(jù)首先需要通過(guò)數(shù)據(jù)生成的方式產(chǎn)生,然后在系統(tǒng)使用過(guò)程中收集執(zhí)行日志并在線下完成模型訓(xùn)練。本文在文獻(xiàn)[27]的基礎(chǔ)上改進(jìn)了其數(shù)據(jù)模擬方式并生成了用于模型冷啟動(dòng)的訓(xùn)練數(shù)據(jù)。首先,運(yùn)行包括少量輸入數(shù)據(jù)的全部工作流以及中等和大量輸入數(shù)據(jù)的少量工作流,并記錄運(yùn)行時(shí)間。然后,將已執(zhí)行的工作流進(jìn)行標(biāo)注,同時(shí)對(duì)結(jié)果數(shù)據(jù)進(jìn)行多項(xiàng)式插值和數(shù)據(jù)擬合,并取插值和擬合的均值作為運(yùn)行時(shí)間標(biāo)簽,如圖5 所示。
圖5 訓(xùn)練數(shù)據(jù)生成示例Fig.5 Example of training data generation
圖5 為某次訓(xùn)練數(shù)據(jù)生成的示意圖。根據(jù)工作流輸入數(shù)據(jù)的行數(shù)以及實(shí)際運(yùn)行時(shí)間,分別對(duì)其進(jìn)行5 階多項(xiàng)式插值以及3 階多項(xiàng)式擬合。而對(duì)于模擬生成的數(shù)據(jù),取插值和擬合結(jié)果的均值作為該工作流在指定輸入數(shù)據(jù)集行數(shù)的運(yùn)行時(shí)間標(biāo)簽。
首先評(píng)估基于GGFN 模型的跨平臺(tái)工作流優(yōu)化方法在平臺(tái)選擇時(shí)的優(yōu)化效果。為了使選擇效果更加明顯,在實(shí)驗(yàn)中設(shè)置為僅選擇一個(gè)平臺(tái)來(lái)運(yùn)行相應(yīng)的任務(wù)工作流。本次實(shí)驗(yàn)選擇了WordCount、PageRank 和Word2Vec 三個(gè)任務(wù)作為批處理、圖計(jì)算以及機(jī)器學(xué)習(xí)任務(wù)的工作流代表來(lái)進(jìn)行實(shí)驗(yàn),并分別在不同平臺(tái)上運(yùn)行,以此觀察優(yōu)化方法能否為相應(yīng)的工作流選擇最佳的執(zhí)行平臺(tái)。圖6~圖8 顯示了在改變數(shù)據(jù)集大小的情況下3 個(gè)不同任務(wù)在各自平臺(tái)下的運(yùn)行時(shí)間。其中,倒三角表示本文優(yōu)化方法在相應(yīng)數(shù)據(jù)輸入情況下為工作流選擇的執(zhí)行平臺(tái)??梢园l(fā)現(xiàn),圖中結(jié)果顯示了不同工作流在不同平臺(tái)上的運(yùn)行時(shí)間是存在顯著差異的,部分平臺(tái)運(yùn)行時(shí)間差距達(dá)到5 倍以上,這也表明通過(guò)優(yōu)化為工作流中的算子選擇合適的平臺(tái)對(duì)加快任務(wù)運(yùn)行的重要性。
圖6 WordCount 任務(wù)運(yùn)行時(shí)間對(duì)比Fig.6 The comparison of WordCount task runtime
圖7 PageRank 任務(wù)運(yùn)行時(shí)間對(duì)比Fig.7 The comparison of PageRank task runtime
圖8 Word2Vec 任務(wù)運(yùn)行時(shí)間對(duì)比Fig.8 The comparison of Word2Vec task runtime
在圖6 所示的WordCount 任務(wù)中,當(dāng)數(shù)據(jù)集較小時(shí)(如0.05 GB),JavaStream 由于單機(jī)優(yōu)勢(shì)而獲得較快的執(zhí)行速度,而Spark 和Flink 平臺(tái)卻由于分布式通信等開(kāi)銷的影響導(dǎo)致其速度較慢。在數(shù)據(jù)集大于1 GB 后可以明顯發(fā)現(xiàn),JavaStream 的運(yùn)行時(shí)間突增,且在30 GB 時(shí)出現(xiàn)運(yùn)行異常。而Spark 通過(guò)分布式節(jié)點(diǎn)進(jìn)行數(shù)據(jù)處理,與計(jì)算時(shí)間相比通信開(kāi)銷所帶來(lái)的影響開(kāi)始變得很小?;贕GFN 的優(yōu)化方法發(fā)現(xiàn)這一差異并準(zhǔn)確地選擇出最佳運(yùn)行平臺(tái)。
圖7 顯示了PageRank 進(jìn)行10 次迭代計(jì)算情況下的執(zhí)行時(shí)間。在小規(guī)模圖上,Jgrapht性能優(yōu)于其他平臺(tái),但在大規(guī)模圖上,Graphx的性能卻是Jgrapht的3~4倍,這是由于平臺(tái)的定位是面對(duì)不同規(guī)模的圖數(shù)據(jù)集,而對(duì)于圖8 中的Word2Vec 任務(wù),由于Gensim 對(duì)該算法進(jìn)行了優(yōu)化,且使用Cython 提高計(jì)算性能,因此在該項(xiàng)任務(wù)中一直保持較快的執(zhí)行速度。
可以看到,在近87%的情況下,基于GGFN 模型的優(yōu)化方法選擇了最佳的執(zhí)行平臺(tái),即使是在兩個(gè)運(yùn)行平臺(tái)時(shí)間相差較小的情況下。只有在少數(shù)困難的情況下未能選擇出最佳的平臺(tái),如Word2Vec 任務(wù)在5 MB 輸入時(shí)。因此,可以得出以下結(jié)論:基于GGFN 模型的優(yōu)化方法可以為絕大部分任務(wù)選擇出最佳平臺(tái)并防止任務(wù)陷入極端的執(zhí)行情況,如在30 GB 下的WordCount 任務(wù)并未選擇JavaStream 作為執(zhí)行平臺(tái)。
本節(jié)將評(píng)估基于GGFN 模型的優(yōu)化方法能否利用多平臺(tái)優(yōu)勢(shì)加速任務(wù)工作流的執(zhí)行。實(shí)驗(yàn)使用一個(gè)真實(shí)環(huán)境下的用戶信用相關(guān)性分析任務(wù)作為實(shí)驗(yàn)工作流,如圖9 所示。該工作流包含11 個(gè)算子,使用Credit-Card-Approval-Prediction 數(shù)據(jù)集作為工作流輸入。該數(shù)據(jù)集包含用戶信息和用戶信用記錄兩個(gè)部分。該工作流對(duì)此數(shù)據(jù)集進(jìn)行處理后使用Kmeans 分析影響用戶信用的相關(guān)因素。
圖10 顯示了該任務(wù)工作流僅在JavaStream、Spark、Flink 的單平臺(tái)下的運(yùn)行情況,以及使用了基于GGFN 模型的優(yōu)化方法為工作流中算子根據(jù)情況選擇實(shí)現(xiàn)平臺(tái)后的運(yùn)行情況??梢园l(fā)現(xiàn),在輸入數(shù)據(jù)集小于1 GB 時(shí),優(yōu)化方法僅選擇JavaStream 作為執(zhí)行平臺(tái),因?yàn)榇藭r(shí)的JavaStream 運(yùn)行時(shí)間總是小于其他平臺(tái)數(shù)據(jù)處理時(shí)間以及中間結(jié)果的文件生成所帶來(lái)的時(shí)間開(kāi)銷。當(dāng)數(shù)據(jù)集大于1 GB 時(shí),優(yōu)化方法選擇結(jié)合JavaStream 和Flink 或者Spark 進(jìn)行計(jì)算。其中,由于算子1~算子3 所在分支的輸入數(shù)據(jù)集(用戶信用記錄表)僅包含3 列數(shù)據(jù),且數(shù)據(jù)集大小僅為用戶信息表的30%,算子ReduceBy 會(huì)把數(shù)據(jù)壓縮至輸入數(shù)據(jù)的5%。因此,該分支總是被選擇由JavaStream 執(zhí)行。例如,在輸入數(shù)據(jù)集為2 GB 時(shí)優(yōu)化方法選擇了JavaStream 和Spark 平臺(tái)并將任務(wù)工作流分為兩部分執(zhí)行。
圖10 用戶信用分析任務(wù)運(yùn)行時(shí)間對(duì)比Fig.10 The comparison of user credit analysis task runtime
基于GGFN 的成本優(yōu)化方法利用多平臺(tái)優(yōu)勢(shì),根據(jù)不同情況為跨平臺(tái)工作流中的算子選擇合適的實(shí)現(xiàn)平臺(tái)從而提升性能。在該實(shí)驗(yàn)中,使用基于GGFN 的成本優(yōu)化方法對(duì)任務(wù)工作流進(jìn)行優(yōu)化后,性能較單機(jī)最差情況提升近3 倍,運(yùn)行時(shí)間縮短60%以上,性能較單機(jī)最好情況提升近25%。
成本模型旨在幫助優(yōu)化方法根據(jù)預(yù)測(cè)的運(yùn)行成本選擇最佳的物理工作流并避免出現(xiàn)最壞的情況,因此準(zhǔn)確的成本估計(jì)至關(guān)重要。為了評(píng)估GGFN 模型對(duì)于成本估計(jì)的準(zhǔn)確性,本文根據(jù)文獻(xiàn)[9]復(fù)現(xiàn)了Robopt 優(yōu)化器中基于隨機(jī)森林的成本模型。同時(shí)為了驗(yàn)證GGFN 模型對(duì)于時(shí)間和結(jié)構(gòu)信息的提取能力,本文將其與深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Networks,DNN)進(jìn)行比較。DNN 包含8 個(gè)隱藏層,每個(gè)隱藏層有256 個(gè)神經(jīng)元,其模型輸入是算子特征和工作流特征向量的串接。在此基礎(chǔ)上,本文在WordCount、Word2Vec、PageRank 和用戶信用分析4 個(gè)任務(wù)上分別評(píng)估了GGFN 模型、隨機(jī)森林(RF)模型以及DNN模型的絕對(duì)誤差值(AE)以及相對(duì)誤差值(RE),如表1 所示。
表1 各個(gè)成本模型的AE 與RE值Table 1 AE and RE values of each cost model
實(shí)驗(yàn)結(jié)果表明,GGFN 模型的準(zhǔn)確度優(yōu)于Robopt 中所采用的隨機(jī)森林模型以及DNN 成本模型。在絕對(duì)誤差方面,GGFN 比DNN 最高降低了81.1 s,比隨機(jī)森林模型最高降低了24.9 s。而在相對(duì)誤差方面,GGFN 模型比隨機(jī)森林模型提高近14.9%,比DNN 提高達(dá)42.6%。由于DNN 模型參數(shù)復(fù)雜,因此需要更多的訓(xùn)練數(shù)據(jù)幫助其分析影響成本的因素。雖然此次訓(xùn)練數(shù)據(jù)來(lái)自冷啟動(dòng)和部分執(zhí)行日志,但仍不足以訓(xùn)練出可以準(zhǔn)確估計(jì)DAG 型工作流成本的DNN 模型。隨機(jī)森林模型由于相對(duì)簡(jiǎn)單,因此具有更好的魯棒性,實(shí)驗(yàn)中訓(xùn)練速度最快,使用也相對(duì)簡(jiǎn)單,但在成本預(yù)測(cè)誤差方面與本文中的GGFN 模型相比仍有差距。這也充分說(shuō)明了GGFN 模型可以利用GAT 和BiGRU 來(lái)提取DAG 型工作流中算子的結(jié)構(gòu)和時(shí)序信息,以實(shí)現(xiàn)更加準(zhǔn)確的成本估計(jì)。
本文實(shí)驗(yàn)評(píng)估了基于GGFN 模型進(jìn)行跨平臺(tái)工作流優(yōu)化過(guò)程的時(shí)間開(kāi)銷。在跨平臺(tái)工作流中增加算子來(lái)探究?jī)?yōu)化延遲的變化情況,并通過(guò)對(duì)比來(lái)說(shuō)明延遲貪婪剪枝的效果。其中每個(gè)算子的對(duì)應(yīng)平臺(tái)數(shù)目設(shè)定為3,這也是目前算子平均所擁有的平臺(tái)實(shí)現(xiàn)數(shù),實(shí)驗(yàn)結(jié)果如圖11 所示??梢园l(fā)現(xiàn),在算子數(shù)量小于15 時(shí),基于GGFN 模型的優(yōu)化時(shí)間開(kāi)銷僅比貪婪剪枝算法多1.5 s,但可以最大程度地避免產(chǎn)生局部最優(yōu)的情況,即使在算子數(shù)量為25 時(shí),此時(shí)的優(yōu)化時(shí)間開(kāi)銷仍小于3 s,這對(duì)于基于GGFN 模型優(yōu)化方法所帶來(lái)的性能提升來(lái)說(shuō)是可接受的。為了保證優(yōu)化效果最大化并降低優(yōu)化時(shí)間開(kāi)銷,因此在枚舉過(guò)程中使用延遲貪婪剪枝方法可以降低優(yōu)化時(shí)間,相比貪婪剪枝方法也具有較好的優(yōu)化效果。
圖11 優(yōu)化延遲開(kāi)銷對(duì)比Fig.11 The comparison of optimization delay overhead
在大數(shù)據(jù)時(shí)代,結(jié)合多個(gè)平臺(tái)的跨平臺(tái)數(shù)據(jù)處理系統(tǒng)開(kāi)始興起,而針對(duì)跨平臺(tái)系統(tǒng)的工作流優(yōu)化由于存在成本預(yù)測(cè)準(zhǔn)確度低等問(wèn)題而難以實(shí)現(xiàn)較好的效果。本文提出一種高效的跨平臺(tái)工作流優(yōu)化方法。使用由圖注意力網(wǎng)絡(luò)和門(mén)控循環(huán)單元組成的GGFN 模型作為成本模型,用來(lái)捕捉跨平臺(tái)工作流的結(jié)構(gòu)信息和算子運(yùn)行時(shí)序信息?;诔杀灸P偷墓烙?jì)結(jié)果,通過(guò)應(yīng)用枚舉算法為邏輯算子選擇合適的實(shí)現(xiàn)平臺(tái),完成邏輯工作流到物理工作流的優(yōu)化轉(zhuǎn)換。實(shí)驗(yàn)結(jié)果表明,基于GGFN 模型的優(yōu)化方法將現(xiàn)有跨平臺(tái)工作流性能提升近3 倍,且GGFN 模型可進(jìn)行更準(zhǔn)確的成本估計(jì)。后續(xù)將進(jìn)一步優(yōu)化剪枝方法和平臺(tái)枚舉算法,減少時(shí)間開(kāi)銷,并與成本模型相結(jié)合,在低延遲開(kāi)銷的情況下實(shí)現(xiàn)更好的跨平臺(tái)工作流優(yōu)化效果。