摘要: 針對實時性要求高和作業(yè)量大的流處理作業(yè)執(zhí)行過程中,多個作業(yè)之間存在的相同處理片段可能會導致流處理引擎重復計算、資源浪費和處理性能低下的問題,提出了融合深度強化學習與算子優(yōu)化的流式任務調(diào)度方法。首先利用算子優(yōu)化算法將多個復雜的作業(yè)去重、重構(gòu),其次將重構(gòu)得到的作業(yè)輸入循環(huán)神經(jīng)網(wǎng)絡中得到任務的調(diào)度策略,最后利用強化學習模型進行調(diào)度策略的優(yōu)化。所提方法利用算子優(yōu)化減少了每個作業(yè)中創(chuàng)建的算子實例,結(jié)合深度強化學習自動發(fā)現(xiàn)最優(yōu)的調(diào)度策略,有效地避免了因大量實例運行而造成的系統(tǒng)資源不足、數(shù)據(jù)擁塞等問題。對比實驗結(jié)果表明,所提方法在吞吐量和延遲方面的表現(xiàn)更優(yōu)異。
關(guān)鍵詞: 流處理作業(yè); 任務調(diào)度; 算子優(yōu)化; 深度強化學習
中圖分類號: TP18
文獻標志碼: A
文章編號: 1671-6841(2025)01-0015-08
DOI: 10.13705/j.issn.1671-6841.2023159
Stream Processing Task Scheduling Integrating Deep Reinforcement
Learning and Operator Optimization
GUO Chenhong1,2, WANG Jing1,2, GONG Huilong1,2, GUO Haohao1,2, ZHANG Ruixuan1,2
(1.School of Information, North China University of Technology, Beijing 100144, China;
2.Beijing Key Laboratory of Large-scale Streaming Data Integration and Analysis Technology
(North China University of Technology), Beijing 100144, China)
Abstract: Aiming at the problems of high real-time requirements and large workload during the execution of stream processing jobs, the same processing fragments among multiple jobs might lead to repeated calculations of stream processing engines, waste of resources, and low processing performance, a scheduling method for stream processing tasks that integrated deep reinforcement learning and operator optimization was proposed. Firstly, the operator optimization algorithm was used to deduplicate and reconstruct multiple complex tasks. Secondly, the reconstructed tasks were fUkXwAsx4LNglHN0AoE+wQ==input into a recurrent neural network to obtain the scheduling strategy for the tasks. Finally, the scheduling strategy was further optimized using a reinforcement learning model. The proposed method reduced the number of operator instances created in each task through operator optimization. By combining deep reinforcement learning, the method automatically discovered the optimal scheduling strategy, effectively avoiding issues such as insufficient system resources and data congestion caused by a large number of instances running. The comparative experimental results showed that the proposed method performed better in terms of throughput and latency.
Key words: stream processing job; task scheduling; operator optimization; deep reinforcement learning
0引言
流處理引擎可以從連續(xù)產(chǎn)生的數(shù)據(jù)流中實時地提取有用的信息,具有較快的響應速度和更好的實時性。然而,面對大量的實時產(chǎn)生的數(shù)據(jù),流處理引擎需要在硬件設備等其他限制條件下快速地處理數(shù)據(jù)[1]。因此,提高流處理的性能和效率迫在眉睫。提高其性能可以考慮優(yōu)化流處理作業(yè)中任務調(diào)度策略的方式[2-4],然而確定任務調(diào)度策略是一個NP難的問題。
目前,已有一些啟發(fā)式和深度強化學習的算法對如何確定任務調(diào)度策略進行了優(yōu)化,考慮了流處理作業(yè)中算子的特征、計算資源同構(gòu)或者異構(gòu)等多種影響因素,盡可能地優(yōu)化任務的調(diào)度執(zhí)行。其中,算子是作業(yè)中的基本操作單元,而任務是由多個算子按照一定的順序和依賴關(guān)系組合而成的可執(zhí)行單元。但是,確定任務調(diào)度策略還存在一些可以改善的地方。例如在大規(guī)模流數(shù)據(jù)到來之后,待處理的作業(yè)量很龐大,需要為一些小的作業(yè)單獨創(chuàng)建多個作業(yè)實例,一定程度上消耗了過多的資源。同時,這些計算作業(yè)之間有很多重復的算子組合片段,導致了處理引擎的重復計算,浪費了計算資源。
相較于一些傳統(tǒng)的啟發(fā)式算法,深度強化學習算法[5]可以動態(tài)地調(diào)整任務調(diào)度策略,不需要預先指定規(guī)則即可發(fā)現(xiàn)最優(yōu)調(diào)度策略,并且能靈活設置優(yōu)化目標。本文提出一種融合深度強化學習與算子優(yōu)化的流式任務調(diào)度方法(stream processing task scheduling integrating deep reinforcement learning and operator optimization),簡稱為DRLAOO。該方法首先采用有向無環(huán)圖表示流處理作業(yè)的任務執(zhí)行圖,采用連通圖表示計算資源的特征。其次,利用圖卷積神經(jīng)網(wǎng)絡提取作業(yè)和計算資源的特征,把這些特征輸入循環(huán)神經(jīng)網(wǎng)絡(recurrent neural network,RNN)中,利用注意力機制得到每個作業(yè)中任務的調(diào)度結(jié)果。最后,利用強化學習模型優(yōu)化任務的調(diào)度策略。在對比實驗中,DRLAOO方法獲得了較低的延遲和較大的吞吐量,節(jié)約了計算資源的使用。
1相關(guān)工作
1.1任務調(diào)度級別優(yōu)化
在任務調(diào)度算法方面,有傳統(tǒng)的調(diào)度算法以及深度強化學習算法。Agrawal等[6]提出一個基于度量的并行實時任務模型,并針對相應的實時調(diào)度問題,提出一種基于任務最大響應時間的調(diào)度策略。Blamey等[7]研究了混合云/邊緣部署設置中對CPU成本和消息大小敏感的調(diào)度流處理,目的是在有限的邊緣資源下最大限度地提高吞吐量。Li等[8]研究了3種調(diào)度策略,其中有關(guān)基于分解的并行任務調(diào)度是把多核機器上順序任務開發(fā)的調(diào)度算法作為黑盒,每個并行任務被分解為一組順序任務,然后使用一些已知的調(diào)度器對多核機器上的順序任務進行調(diào)度。Ni等[9]研究了在分布式系統(tǒng)中對連續(xù)數(shù)據(jù)流進行實時處理的流處理中的資源分配問題,提出一個圖感知編碼器-解碼器框架來學習一種廣義的資源分配策略。Huang等[10]在此研究基礎上進行了優(yōu)化,在計算資源和網(wǎng)絡資源是異構(gòu)的情況下設計了一個通用的基于深度強化學習的資源感知框架,利用圖嵌入和注意力機制對資源進行建模,預測任務分配的位置。但是,上述這些工作關(guān)注于單個任務級別的優(yōu)化調(diào)度,很少考慮作業(yè)的復雜性和作業(yè)之間的算子重復片段導致的流處理引擎的重復計算問題。
1.2算子級別優(yōu)化
王亞等[11]提出了基于匹配結(jié)果共享的方法來優(yōu)化流數(shù)據(jù)的處理,利用已經(jīng)計算出結(jié)果序列的共享子序列來構(gòu)造新的結(jié)果序列。該方法不必對結(jié)果序列的每個候選算子實例都進行計算,在一定程度上提高了計算的效率。Bok等[12]考慮了對來自傳感器的流數(shù)據(jù)的相似操作和冗余操作,將作業(yè)中的相似算子轉(zhuǎn)換為虛擬算子,將相同任務中的冗余算子轉(zhuǎn)換為單個算子。使用轉(zhuǎn)換后的算子重構(gòu)作業(yè),通過這種方法降低了相似算子和冗余算子的計算成本,從而降低了整體處理成本。He等[13]提出了劃分和聚類算法來優(yōu)化流數(shù)據(jù)的處理,針對作業(yè)中存在的相同作業(yè)處理片段,用劃分算法消除一些重復,減少了重復計算。Higashino等[14]提出一種屬性圖重寫AGeCEP方法,針對復雜事件處理任務中的算子問題,提出了算子共享的概念,即單個算子實例被兩次或多次出現(xiàn)的算子共享的能力。上述這些工作考慮了算子級別優(yōu)化,針對的是單個作業(yè)的優(yōu)化,未考慮流處理引擎執(zhí)行過程中的任務調(diào)度問題。
2任務調(diào)度方法DRLAOO
2.1定義
定義1流處理作業(yè)任務執(zhí)行圖G。G用于表示作業(yè)中各個算子之間的依賴關(guān)系,定義G=(V,E),其中:V表示將要被分配到計算資源上的算子;E表示算子V之間傳遞的數(shù)據(jù)流。
定義2算子V。V是流處理作業(yè)的基本功能單元,從輸入消耗數(shù)據(jù),對它們進行計算后輸出數(shù)據(jù)做下一步的處理,其中:V=(id,operator_type,cpu,memory,is_source,is_sink)。
定義3異構(gòu)設備資源圖G。一個G表示一組計算資源的設備,使用全連通圖G=(V,E)表示,其中:V表示放置任務的最小單位。
2.2任務調(diào)度方法原理
融合深度強化學習與算子優(yōu)化的流式任務調(diào)度是一個用于優(yōu)化流處理作業(yè)執(zhí)行的調(diào)度方法。任務調(diào)度方法原理圖如圖1所示。
該方法的基本思路是將多個作業(yè)抽象為SET<G>,利用算子優(yōu)化算法將多個作業(yè)去重、重構(gòu)。處理之后的圖命名為G,G不改變流處理作業(yè)的數(shù)據(jù)源和處理邏輯等信息,保證去重、重構(gòu)之后的數(shù)據(jù)源和處理邏輯是一樣的。
將G和G輸入深度強化學習的任務調(diào)度模型中,深度學習模型根據(jù)輸入的作業(yè)和計算資源的特征信息得到任務調(diào)度策略,強化學習模型根據(jù)得到的獎勵值不斷地更新深度學習模型的參數(shù),最終得到較優(yōu)的任務調(diào)度策略P。
該任務調(diào)度方法由以下2個部分組成。
1)算子優(yōu)化算法。該模塊用于調(diào)度前對多個作業(yè)進行處理。當SET<G>到來之后,利用算子優(yōu)化算法將其進行去重、重構(gòu),最終得到G參與后續(xù)的任務調(diào)度階段。
需要強調(diào)的是,經(jīng)過算子優(yōu)化算法得到的G包含了去重優(yōu)化之前的所有處理邏輯。
2)任務調(diào)度階段。該任務調(diào)度階段由GraphSage網(wǎng)絡、RNN網(wǎng)絡以及強化學習模型組成。組合調(diào)度算法的輸入是上一步得到的G以及G,這些算法模型的組合運作方式如下。
① 利用GraphSage網(wǎng)絡提取作業(yè)和計算資源中的圖嵌入和節(jié)點嵌入的信息,例如,圖嵌入捕捉了V之間的整體結(jié)構(gòu)和關(guān)系,節(jié)點嵌入捕捉了每個V的特征屬性。
② 將提取到的信息輸入RNN中,其中向前傳播的隱藏狀態(tài)可以用來存儲當前已經(jīng)執(zhí)行的V的調(diào)度策略。將V的調(diào)度策略輸入RNN中進行訓練,得到相應的調(diào)度策略以及每個調(diào)度策略所對應的吞吐量、延遲、CPU和內(nèi)存。
③ QoS屬性估計:將吞吐量、延遲、CPU和內(nèi)存作為調(diào)度策略的評價指標,估計每個任務調(diào)度策略對應的仿真情況下的吞吐量、延遲、CPU和內(nèi)存。
④ 以評價指標作為強化學習算法的獎勵來優(yōu)化任務調(diào)度策略,此算法的輸入是上述的RNN以及每個任務調(diào)度策略對應的QoS屬性估計值。采用策略梯度算法進行訓練,更新RNN的參數(shù),得到較優(yōu)的任務調(diào)度策略P。
2.3算子優(yōu)化算法
基于文獻[14]中的Processing+Source算子實例共享策略,提出了算子優(yōu)化算法。該算法中的算子實例共享策略表示為輸入源相同以及執(zhí)行相同的數(shù)據(jù)處理情況下的共享算子實例。
舉例說明,假設有2個作業(yè)都包括4個算子:數(shù)據(jù)源、數(shù)據(jù)過濾、映射和輸出算子。它們的處理過程非常相似,只是在輸出算子上不同。作業(yè)1的輸出算子是File,作業(yè)2的輸出算子是Kafka。利用算子優(yōu)化算法對這2個作業(yè)進行算子合并、重構(gòu)的過程包括:遍歷每個作業(yè)中的所有算子;作業(yè)的合并和重構(gòu)。
優(yōu)化前的作業(yè)示例如圖2所示。2個作業(yè)除了輸出算子,其他算子都是相同的,在這樣的情況下需要創(chuàng)建2個作業(yè)實例。經(jīng)過算子優(yōu)化處理之后的作業(yè)示例如圖3所示。
將作業(yè)優(yōu)化之后,只需要創(chuàng)建1個作業(yè)實例即可。如果存在大量的相互之間有重復片段的作業(yè),利用算子優(yōu)化算法可以發(fā)現(xiàn)多個作業(yè)之間相同的算子組合片段,將它們合并、重構(gòu)之后再參與后續(xù)的處理。算子優(yōu)化算法遍歷了每一個任務執(zhí)行圖,迭代地將任務執(zhí)行圖兩兩合并。合并方式如下。
第1步判斷算子類型是否為源算子。如果是源算子且兩者類型相同,則合并為一個源算子;
如果不相同,則保留兩個源算子。
第2步遍歷處理算子。如果兩個任務執(zhí)行圖中算子片段相等,則合并類型相同的算子;如果不完全相同,則只合并相同的算子,增加分支構(gòu)造圖即可。
第3步判斷輸出算子類型是否相同。相同則合并,不相同不進行合并,而是保留多個輸出算子。
該算法的具體步驟如下。
算法1算子優(yōu)化算法(OOA)
輸入: 多個流作業(yè)任務執(zhí)行圖SET<G>。
輸出: 算子優(yōu)化之后的任務執(zhí)行圖G。
1. while len(SET<G>)>1
2.for i in range(0, len(SET<G>),2)
3.if i+1 < len(SET<G>) then
4.mergedGraph=mergeGraphs(G,G)
5.G=mergedGraph
6.SET<G>.pop(i+1)
7. end if
8.end for
9. end while
算法2合并流處理作業(yè)任務執(zhí)行圖算法mergeGraphs
輸入: 兩個任務執(zhí)行圖G,G。
輸出: 經(jīng)過算法mergeGraphs合并后的任務執(zhí)行圖mergedGraph。
1. mergedGraph=Graph()
2. mergedGraph.sources=mergeSources(G.sources, G.sources)
3. mergedGraph.operators=mergeOperators(G.operators,G.opertors)
4. mergedGraph.sinks=mergeSinks(G.sinks, G.sinks)
5. return mergedGraph
圖4是一個算子優(yōu)化示例,該例子簡單描述了數(shù)據(jù)源和源節(jié)點類型相同的4個作業(yè)的合并、重構(gòu)優(yōu)化的過程。
2.4深度強化學習任務調(diào)度算法
作業(yè)被重構(gòu)優(yōu)化之后得到的G,將參與后續(xù)的任務調(diào)度。圖5展示了深度強化學習模型架構(gòu)。
該模型由GraphSage網(wǎng)絡提取G中V以及G的特征信息,交由RNN生成每個V所對應的任務調(diào)度策略P。同時,強化學習模型使用訓練期間觀察到的獎勵對神經(jīng)網(wǎng)絡參數(shù)執(zhí)行梯度下降來更新RNN的參數(shù)。
2.4.1GraphSage網(wǎng)絡
GraphSage是圖卷積神經(jīng)網(wǎng)絡中的一種,可以在大規(guī)模圖上學習圖嵌入和節(jié)點嵌入的信息[15]。
GraphSage網(wǎng)絡首
先對鄰居節(jié)點隨機采樣,然后生成目標節(jié)點嵌入,最后將節(jié)點嵌入作為全連接層的輸入,預測目標節(jié)點的標簽。具體公式表示為
hk=mean(hk-1,u∈N(v)),
hk=σ(wk·Concat
(hk-1,hk)),(1)
式中:k表示當前層數(shù);hk-1是第k-1層中節(jié)點u的向量表示。將節(jié)點v在k-1層的多個鄰居節(jié)點通過mean函數(shù)(即平均池化)得到節(jié)點v的鄰居表示hk。然后將hk和該節(jié)點在第k-1層的表示hk-1進行拼接,進而通過一個全連接神經(jīng)網(wǎng)絡(即wk)得到節(jié)點v在第k層的向量表示hk。
將G、G經(jīng)過預處理之后輸入GraphSage網(wǎng)絡中,得到V、V的嵌入向量分別定義為emb、emb。
2.4.2RNN
使用RNN來跟蹤計算過程中的狀態(tài)[16],將每個算子V分配到V上,當前節(jié)點的分配策略P由G、G和所有上游節(jié)點分配的資源節(jié)點的情況Vup計算得到。即
PG,G=
∏
ΠiP(Vi
Vup,G,G)。
(2)
結(jié)合RNN的注意力機制,通過學習狀態(tài)表示S來記憶依賴項,編碼與Vup和G相關(guān)的信息,在每一步中,輸入向量emb將在Vup中添加新的資源節(jié)點的嵌入特征emb,
S=LSTM_Cell(emb,S,Vup)。(3)
每個算子的調(diào)度策略將根據(jù)當前狀態(tài)和任務的相關(guān)信息計算得到,重復執(zhí)行該過程,模型最終得到所有算子對應的調(diào)度策略P。
2.4.3強化學習Policy-Gradient網(wǎng)絡
使用策略梯度函數(shù)進行訓練[17-18],根據(jù)訓練期間的獎勵對神經(jīng)網(wǎng)絡參數(shù)執(zhí)行梯度下降,不斷地更新RNN模型的參數(shù)。將所有參數(shù)表示為θ,所有可能的放置方案的分布表示為π,模型的最大化目標為
J(θ)=∑pπ(P)r(P),(4)
式中:r表示獎勵,范圍為0~1。
接著使用REINFORCE算法計算策略梯度,學習網(wǎng)絡參數(shù)θ,
ΔJ(θ)=1N∑Nn=1
Δlogπ(P)[r(P)-b],(5)
式中:b為N個樣本的平均獎勵,用于降低策略梯度的方差;Δθlogπ(P)提供了一個方向來增加選擇P的概率。
將學習率表示為α,參數(shù)θ通過θ←θ+αΔJ(θ)進行更新,可以增加選擇到獎勵高于平均水平的調(diào)度策略P的概率。
3實驗與分析
3.1實驗準備
3.1.1數(shù)據(jù)集
為了驗證本文提出的融合深度強化學習與算子優(yōu)化的流式任務調(diào)度方法DRLAOO的有效性,在文獻[10]的基礎上改造了表示作業(yè)的數(shù)據(jù)集,加入了算子類型的特征屬性,更適用于所提出的問題場景。
結(jié)合表示計算資源特征的數(shù)據(jù)集構(gòu)建了相應的訓練集、測試集和驗證集。其中,1個表示作業(yè)的任務執(zhí)行圖和1個表示一組計算資源的圖構(gòu)建為1個數(shù)據(jù)集樣本,構(gòu)建完的數(shù)據(jù)集樣本共有1 500個。
實驗用到的流處理作業(yè)數(shù)據(jù)集和計算資源數(shù)據(jù)集描述見表1和表2。
3.1.2實驗設備
實驗部分采用了以下2臺設備。
設備1: 用來訓練構(gòu)建好的算法模型,型號為CentOS6,32 GB。
設備2: 用來構(gòu)建算法模型以及加載設備1上訓練好的模型,并驗證模型的輸出結(jié)果,型號為Windows11,16 GB。
2臺設備上安裝的第三方庫版本為Python3.8.16,Pytorch1.8.0。
3.2對比實驗
選取Flink、Storm流處理引擎默認的調(diào)度方式以及吞吐量感知的任務放置框架(TATA)[10]進行對比實驗。
Flink默認的調(diào)度策略:按照數(shù)據(jù)源的分布情況優(yōu)先考慮將任務調(diào)度到距離其最近的執(zhí)行器上執(zhí)行,以利用本地計算資源和緩存減少數(shù)據(jù)傳輸和網(wǎng)絡開銷。但是,在計算資源節(jié)點性能相差較大的異構(gòu)集群中,該策略會導致一些計算資源較弱的節(jié)點長時間運行任務,帶來局部負載不均衡的問題。
Storm默認的調(diào)度策略:基于輪詢的機制,將任務均衡地分配到可用的計算資源上,每個計算資源在同一時間只處理1個任務。這種調(diào)度策略適用于較小規(guī)模的集群和任務。
吞吐量感知的任務放置框架(TATA):綜合考慮作業(yè)中任務的特征和異構(gòu)計算資源的特征,使得任務合理地分配到相應的計算資源節(jié)點上,但是不太適合具有大規(guī)模任務的流處理作業(yè)。
3.3結(jié)果分析
圖6和圖7分別比較了DRLAOO方法與其他3種調(diào)度策略在不同作業(yè)個數(shù)下的延遲和吞吐量。
從圖6可以看出,隨著作業(yè)個數(shù)的增多,4種調(diào)度策略下作業(yè)的延遲不斷增加;DRLAOO方法在總體上相較于其他調(diào)度策略的延遲較低。Flink默認的調(diào)度策略是將相關(guān)的上下游任務放置在相同的計算資源中;Storm默認的調(diào)度策略是將任務平均分配給集群內(nèi)的所有主機,未考慮任務之間的依賴關(guān)系;TATA將簡單相關(guān)的任務放在計算資源少的位置上。而DRLAOO方法是對基于TATA的工作進行了改進,提出的算子優(yōu)化算法達到一種算子共享的效果,減少了創(chuàng)建的算子實例個數(shù),因此具有較低的延遲。
從圖7可以看出,隨著作業(yè)個數(shù)的增多,4種調(diào)度策略下的吞吐量在不斷增加后趨于平穩(wěn)。這是因為計算資源的限制和網(wǎng)絡帶寬的限制等因素會導致吞吐量的增長趨于緩慢甚至停止增長,最終趨于平穩(wěn)。DRLAOO方法在一定程度上減少了作業(yè)之間相同的處理片段造成的流處理引擎重復計算的問題,節(jié)約了資源的使用,進而給其他任務預留了資源,增大了吞吐量。
圖8和圖9分別比較了10個作業(yè)參與執(zhí)行,不同重復率下DRLAOO方法與TATA的延遲和吞吐量。
由圖8和圖9可知,當多個作業(yè)之間的重復率為0時,2種調(diào)度策略下的延遲和吞吐量相差不大。這是因為當重復率為0時,用算子優(yōu)化算法對多個作業(yè)進行優(yōu)化,由于不存在可以合并的算子,所以未能減少需要創(chuàng)建的作業(yè)實例的個數(shù),因此不能在延遲和吞吐量的指標上有更好的表現(xiàn)。
在不同作業(yè)個數(shù)下的CPU使用情況和內(nèi)存使用情況。由于是在仿真環(huán)境,所以數(shù)值僅供參考,但是可以看出大致的趨勢是DRLAOO方法將會消耗更少的資源。
4結(jié)語
本文提出了一個融合深度強化學習與算子優(yōu)化的流式任務調(diào)度方法DRLAOO,該方法針對大量的有重復片段作業(yè)的情況,可以盡可能地利用算子優(yōu)化減少每個作業(yè)中需要創(chuàng)建的算子實例,結(jié)合深度強化學習自動發(fā)現(xiàn)最優(yōu)的調(diào)度策略,進而獲得了較低的延遲和較大的吞吐量,提高了處理效率,節(jié)約了計算資源的使用。但是,本研究還存在一些可以改進的地方:一是利用算子優(yōu)化時可考慮更多的特征,例如算子之間的通信延遲。同時,考慮對算子優(yōu)化算法進一步優(yōu)化以處理擁有多個數(shù)據(jù)源的作業(yè)的合并。二是將考慮結(jié)合圖論,采用更貼合實際的方法來表示異構(gòu)資源,使得調(diào)度策略更準確。
參考文獻:
[1]DONGEN G, DEN P D. Influencing factors in the scalability of distributed stream processing jobs[J]. IEEE access, 2021, 9: 109413-109431.
[2]LI C L, LIU J, LI W G, et al. Adaptive priority-based data placement and multi-task scheduling in geo-distributed cloud systems[J]. Knowledge-based systems, 2021, 224: 107050.
[3]CHEN L S, WU D P, LI Z D. Multi-task mapping and resource allocation mechanism in software defined sensor networks[C]∥International Conference on Wireless Communications and Signal Processing. Piscataway:IEEE Press, 2020: 32-37.
[4]GELDENHUYS M K, SCHEINERT D, KAO O, et al. Phoebe: QoS-aware distributed stream processing through anticipating dynamic workloads[C]∥IEEE International Conference on Web Services. Piscataway:IEEE Press, 2022: 198-207.
[5]劉全, 翟建偉, 章宗長, 等. 深度強化學習綜述[J]. 計算機學報, 2018, 41(1): 1-27.
LIU Q, ZHAI J W, ZHANG Z Z, et al. A survey on deep reinforcement learning[J]. Chinese journal of computers, 2018, 41(1): 1-27.
[6]AGRAWAL K, BARUAH S, EKBERG P, et al. Optimal scheduling of measurement-based parallel real-time tasks[J]. Real-time systems, 2020, 56(3): 247-253.
[7]BLAMEY B, SINTORN I M, HELLANDER A, et al. Resource-and message size-aware scheduling of stream processing at the edge with application to realtime microscopy[EB/OL].(2019-12-19)[2022-12-23]. https:∥doi.org/10.48550/arXiv.1912.09088.
[8]LI J, AGRAWAL K, LU C Y. Parallel real-time scheduling[M]∥Handbook of Real-time Computing. Berlin: Springer Press, 2022: 447-467.
[9]NI X A, LI J, YU M, et al. Generalizable resource allocation in stream processing via deep reinforcement learning[C]∥Proceedings of the AAAI Conference on Artificial Intelligence. Palo Alto: AAAI Press, 2020: 857-864.
[10]HUANG X, JIANG Y, FAN H, et al. TATA: throughput-aware task placement in heterogeneous stream processing with deep reinforcement learning[C]∥IEEE International Conference on Parallel & Distributed Processing with Applications, Big Data & Cloud Computing, Sustainable Computing & Communications, Social Computing & Networking. Piscataway: IEEE Press, 2021: 44-54.
[11]王亞, 孟耀偉. 基于匹配結(jié)果共享的復雜事件檢測方法[J]. 計算機應用研究, 2014, 31(8): 2338-2341.
WANG Y, MENG Y W. Method of complex events detection based on shared matching results[J]. Application research of computers, 2014, 31(8): 2338-2341.
[12]BOK K, KIM D, YOO J. Complex event processing for sensor stream data[J]. Sensors, 2018, 18(9): 3084.
[13]HE S Q, CHENG B, HUANG Y Z, et al. Proactive personalized services in large-scale IoT-based healthcare application[C]∥IEEE International Conference on Web Services. Piscataway:IEEE Press, 2017: 808-813.
[14]HIGASHINO W A, EICHLER C, CAPRETZ M A M, et al. Attributed graph rewriting for complex event processing self-management[J]. ACM transactions on autonomous and adaptive systems, 2016, 11(3): 1-39.
[15]白鉑, 劉玉婷, 馬馳騁, 等. 圖神經(jīng)網(wǎng)絡[J]. 中國科學: 數(shù)學, 2020, 50(3): 367-384.
BAI B, LIU Y T, MA C C, et al. Graph neural network[J]. Scientia sinica: mathematica, 2020, 50(3): 367-384.
[16]SHERSTINSKY A. Fundamentals of recurrent neural network (RNN) and long short-term memory (LSTM) network[J]. Physica D: nonlinear phenomena, 2020, 404: 132306.
[17]劉建偉, 高峰, 羅雄麟. 基于值函數(shù)和策略梯度的深度強化學習綜述[J]. 計算機學報, 2019, 42(6): 1406-1438.
LIU J W, GAO F, LUO X L. Survey of deep reinforcement learning based on value function and policy gradient[J]. Chinese journal of computers, 2019, 42(6): 1406-1438.
[18]趙沛堯,黃蔚.基于動態(tài)優(yōu)先級的獎勵優(yōu)化模型[J].鄭州大學學報(理學版),2022,54(1):62-68.
ZHAO P Y, HUANG W. Constrained reward optimization with dynamic preferences[J]. Journal of Zhengzhou university (natural science edition), 2022, 54(1): 62-68.