CN114153640B - 一种基于深度强化学习的系统容错策略方法 - Google Patents

一种基于深度强化学习的系统容错策略方法 Download PDF

Info

Publication number
CN114153640B
CN114153640B CN202111421597.3A CN202111421597A CN114153640B CN 114153640 B CN114153640 B CN 114153640B CN 202111421597 A CN202111421597 A CN 202111421597A CN 114153640 B CN114153640 B CN 114153640B
Authority
CN
China
Prior art keywords
graph
node
fault tolerance
task
stream processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111421597.3A
Other languages
English (en)
Other versions
CN114153640A (zh
Inventor
庄园
邱天瑞
孙建国
何佳蔓
刘昊洋
武俊鹏
黄子瑶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harbin Engineering University
Original Assignee
Harbin Engineering University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Harbin Engineering University filed Critical Harbin Engineering University
Priority to CN202111421597.3A priority Critical patent/CN114153640B/zh
Publication of CN114153640A publication Critical patent/CN114153640A/zh
Application granted granted Critical
Publication of CN114153640B publication Critical patent/CN114153640B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0715Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a system implementing multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • G06F11/0724Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Quality & Reliability (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Complex Calculations (AREA)

Abstract

本发明属于分布式流处理系统容错技术领域,具体涉及一种基于深度强化学习的系统容错策略方法。本发明将深度强化学习技术应用于分布式流处理系统的容错问题中,能够将容错问题中数据备份的分配问题表述为资源分配问题,构建以任务和任务之间的联系为顶点和边的神经网络模型,并经过多层次的训练,有效的使当前系统容错问题处理效果更优秀,同时能够为分布式流处理系统容错问题提供一种基于深度强化学习的可行的方法。本发明所提供的技术方案可恰当分配备份资源,对系统容错开销进行评价,从而降低当前主要以上游备份为主要方案进行处理的复杂度,提高系统容错的效率,降低现有方法的容错开销。

Description

一种基于深度强化学习的系统容错策略方法
技术领域
本发明属于分布式流处理系统容错技术领域,具体涉及一种基于深度强化学习的系统容错策略方法。
背景技术
近年来,随着大规模流数据处理和分析技术的快速发展,分布式流处理系统已被证明是解决大规模数据流问题的有效方法。由于其强大的并行处理能力和系统可扩展性,成为一种广受关注的新型分布式系统。随着分布式系统规模不断扩大,系统故障率攀升,可靠性问题加剧,故障容错已成为分布式流处理系统中至关重要的问题。
目前,针对分布式流处理系统的容错问题,上游备份是流处理系统应用较广泛的容错方案之一。它为任务引入了复杂的备份依赖关系,增加了控制容错开销的难度。因此,我们的工作重点是通过分配每个任务适当的资源来降低容错开销。
深度强化学习是近年来人工智能领域最受关注的领域之一。深度学习具有较强的感知能力,而强化学习具有决策能力。将两者结合起来,优势互补,为复杂系统的感知决策问题提供了解决思路。如果通过基于卷积神经网络的深度强化学习来解决分布式流处理系统中的资源分配问题,将会对寻找完善的系统容错策略具有重要意义。
发明内容
本发明的目的在于提供一种基于深度强化学习的系统容错策略方法。
一种基于深度强化学习的系统容错策略方法,包括以下步骤:
步骤1:获取分布式流处理系统中的任务,以任务为节点,以任务中之间的联系关系为边生成流处理拓扑图;
步骤2:用图编码器对输入流图进行编码;将流处理拓扑图嵌入,根据上下游隐藏状态连接得到神经网络层,然后进入最大池化层,得到输出向量作为图感知解码器的输入;
步骤3:图感知设备分配解码;通过LSTM实现对新旧数据备份分配任务以及图编码之间交织的依赖关系的处理,采用attention-based model来建模预测每个节点的分配;
步骤4:应用强化学习算法计算策略梯度,使用Adam optimizer学习网络参数,实现强化学习训练;
步骤5:采用模拟器CEPSim进行复杂事件处理和流处理来快速训练评估每个分配样本。
进一步地,所述步骤1中生成流处理拓扑图的方法具体为:
将流处理系统容错问题中的资源分配问题表述为搜索问题,其中训练和测试数据由不同的流处理拓扑图{Gx}组成,将流处理拓扑图建模为DAGGx=(V,E),其中顶点V={vi|i∈1,…,n}表示流处理系统中的任务,边E={e(vi,vj)|vi,vj∈V}表示任务之间的连接,对于每个任务v∈V的资源需求(wv),根据该任务的输入数据速率来反映该任务所需的计算能力;
给定输入图Gx,资源分配的目标是预测数据备份布局图Gy中每个任务节点v∈G的数据备份给系统中某个任务vi;目标图Gy的每个节点都附加一个新的数据备份任务节点dvi,以描述其分配行为情况;在Gx的每一步中为每个任务节点分配一个数据备份任务节点,最后输出图形Gy
进一步地,所述步骤2中用图编码器对输入流图进行编码的方法具体为:
步骤2.1:将输入图Gx嵌入到一个嵌入空间中,每个节点都有一个嵌入编码,使用图卷积网络GCN来实现这种编码;
GCN迭代使用邻居的嵌入来更新节点的嵌入;具体地说,在第k步,对于每个算子节点v,定义其嵌入为当k=0时,/>定义为其节点特征向量fv,其中包含了节点平均故障恢复时间以及节点备份导致的处理延迟;由于Gx是一个有向图,根据v的边连接的方向,将其邻居划分为两个集合,上游邻居Nup(v)和下游邻居Ndown(v);因此,节点嵌入分为两个向量和/>每个都有m维;
步骤2.2:GCN更新v的嵌入;
步骤2.2.1:分别对v的上下游邻居进行信息聚合;以上游邻居为例,对于每个u∈Nup(v),取其当前阶段表示为给它一个非线性变换/>其中
步骤2.2.2:将得到的所有 取向量的均值池并更新v的上游视图嵌入为:
其中,[·:·]表示向量拼接;
步骤2.2.3:更新应用于v的带有变换参数和/>的下游邻居,并得到
步骤2.3:在图中所有节点上重复K次步骤2.2;对于每个v,将其上游和下游的隐藏状态和/>连接起来作为其最后的节点表示形式,得到向量hv
步骤2.4:计算图编码来传递整个图信息,每个节点的嵌入hv馈送给一个完全连接的神经网络层,输出图编码向量。
进一步地,所述步骤3中图感知设备分配解码的方法具体为:资源分配的预测是根据图的属性和其他节点的分配,将Gx中每个操作节点v的数据备份给一个任务dv,给定任意顺序的节点{v1,v2,…,v|V|},则问题可表示为:
其中,D(up)(vt)是指vt的所有上游节点的赋值;为了处理新的赋值所有以前的赋值和Gx之间相互交织的依赖关系,DRL模型学习一个状态表示st来编码与相关的信息,通过LSTM实现,并且为了进一步鼓励状态st意识到与vt相关的节点的分配,以帮助其预测分配,将解码器的状态建模为::
将所有的数据备份任务分配dv转化为它们的可学习的数据备份任务嵌入向量,集合D(up)(vt)因此被表示为连接到LSTM输入的数据备份任务嵌入的均值池的结果,将上述向量与的数据备份任务嵌入相连接,作为LSTM cell的输入;
将对节点vi的预测转化为使用attention-based model对所有的图节点vj模拟这一步,每个节点在步骤t处得到一个注意分数/>然后用softmax对所有的αj进行归一化,得到每个j对应的/>最后,为了得到数据备份任务分配预测,提供连接到一个后面跟着一个softmax层的多层感知器MLP。
进一步地,所述步骤4中强化学习训练的方法具体为:将最小的相对系统容错开销定义为未备份节点状态时的系统容错开销I(Gx)与预测分配后的系统容错开销T(Gy)的比值;奖励r的范围在0到1之间,且r越趋于1越好;训练一个随机策略来最大化以下目标
其中,πθ是对所有可能的资源分配方案Y的分布;
使用REINFORCE算法来计算策略梯度,并使用Adam优化器学习网络参数
在每次训练更新中,抽取固定数量的on-policy样本,并且绘制随机样本来探索搜索空间,随机样本的数量呈指数衰减;对于每个训练图,维持一个记忆缓冲区来存储奖励高于0.8的良好样本;如果内存缓冲区为空,则包含额外的随机样本以加快探索;N个样本由on-policy样本和来自内存缓冲区的样本组成,从奖励中减去基线b,即N个样本的平均奖励,以减小政策梯度的方差。
进一步地,所述步骤5中采用模拟器CEPSim进行复杂事件处理和流处理来快速训练评估每个分配样本的方法具体为:
为了计算奖励r(Gy),每个取样分配Gy需要部署在流处理系统上,但是系统可能需要几分钟的时间来稳定和计算容错开销;由于DRL依赖于对大量资源分配试验的评估,以这种方式进行训练所需的总时间和计算资源非常棘手;因此,为了快速训练,采用模拟器CEPSim进行复杂事件处理和流处理来评估每个分配样本;CEPSim是一个基于云的复杂事件处理和流处理系统的模拟器,可以用来研究不同的资源分配、操作员调度和负载均衡方案的效果;在CEPSim中,DAG用于表示如何处理输入事件流以获得复杂事件;CEPSim为用户提供了为DAG中的每个操作符指定每个元组的指令数量的灵活性;为了模拟流处理,用户可以提供映射功能,将DAG的一部分分配给不同的虚拟机(VM),这些VM可以使用网络相互通信。
本发明的有益效果在于:
本发明将深度强化学习技术应用于分布式流处理系统的容错问题中,能够将容错问题中数据备份的分配问题表述为资源分配问题,构建以任务和任务之间的联系为顶点和边的神经网络模型,并经过多层次的训练,有效的使当前系统容错问题处理效果更优秀,同时能够为分布式流处理系统容错问题提供一种基于深度强化学习的可行的方法。本发明所提供的技术方案可恰当分配备份资源,对系统容错开销进行评价,从而降低当前主要以上游备份为主要方案进行处理的复杂度,提高系统容错的效率,降低现有方法的容错开销。
附图说明
图1为本发明的流程图。
图2为本发明中流处理拓扑图之间的生成过程图。
图3为本发明中所提出的图编码器和图感知解码器的模型图。
具体实施方式
下面结合附图对本发明做进一步描述。
本发明涉及一种基于深度强化学习的系统容错策略方法,属于分布式流处理系统容错技术领域。本发明通过基于深度强化学习的卷积神经网络模型,来适当分配容错问题的每个任务的资源,来降低容错开销,提高容错能力。
本发明的目的是这样实现的:首先给出分布式流处理中的任务,由这些任务生成以任务为节点,以任务之间的关系为边的流处理拓扑图。然后用图编码器对输入流图进行编码,其中需要将其上游和下游的隐藏状态连接起来,作为其最终的节点被馈送到一个完全连接的神经网络层。再进入一个最大池化层,输出向量是图编码,用作图感知解码器的输入。最后由图形解码器解码,并分配到各个任务中。
如图1所示,本发明公开的基于深度强化学习的系统容错策略方法,包括如下步骤:
步骤1:生成流处理拓扑图。以分布式流处理系统中的任务为节点,以任务中之间的联系关系为边生成拓扑图。
步骤2:用图编码器对输入流图进行编码。将流拓扑图嵌入,根据上下游隐藏状态连接得到神经网络层,然后进入最大池化层,得到输出向量作为图感知解码器的输入。
步骤3:图感知设备分配解码。通过LSTM实现对新旧数据备份分配任务以及图编码之间交织的依赖关系的处理,用采用attention-based model来建模预测每个节点的分配。
步骤4:强化学习训练。应用REINFORCE algorithm(强化学习算法)计算策略梯度,使用Adam optimizer学习网络参数,实现强化学习训练。
步骤5:加快奖励计算速度。采用模拟器CEPSim进行复杂事件处理和流处理来快速训练评估每个分配样本。
下面对本发明公开的基于深度强化学习的系统容错策略方法作进一步的说明。
生成流处理拓扑图:
本发明将流处理系统容错问题中的资源分配问题表述为搜索问题,其中训练和测试数据由不同的流处理拓扑图{Gx}组成。如图2所示,流拓扑通常被建模为DAGGx=(V,E)。其中顶点V={vi|i∈1,…,n}表示流处理系统中的任务,边E={e(vi,vj)|vi,vj∈V}表示任务之间的连接。对于每个任务v∈V的资源需求(wv),根据该任务的输入数据速率来反映该任务所需的计算能力。
给定输入图Gx,资源分配的目标是预测数据备份布局图Gy每个任务节点v∈G的数据备份给系统中某个任务vi。图2中的目标图Gy的每个节点都附加了一个新的数据备份任务节点(即方形节点),以描述其分配行为情况。因为任务分配之间的相互依赖关系错综复杂,使得预测Gy的任务十分具有挑战性。本发明将这个问题定义为一个搜索问题,它在Gx的每一步中为每个任务节点分配一个数据备份任务节点,最后输出图形Gy
用图编码器对输入流图进行编码:
首先将输入图Gx嵌入到一个嵌入空间中,每个节点都有一个嵌入编码,我们使用图卷积网络(GCN)来实现这种编码。
GCN迭代使用邻居的嵌入来更新节点的嵌入。具体地说,在第k步,对于每个算子节点v,我们定义其嵌入为当k=0时,/>定义为其节点特征向量fv,其中包含了节点平均故障恢复时间以及节点备份导致的处理延迟。由于Gx是一个有向图,我们根据v的边连接的方向,将其邻居划分为两个集合,上游邻居Nup(v)和下游邻居Ndown(v)。因此,节点嵌入可以分为两个向量/>和/>每个都有m维。
基于以上定义,GCN更新v的嵌入如下:
首先,分别对v的上下游邻居进行信息聚合。以上游邻居为例,对于每个u∈Nup(v),我们取其当前阶段表示为给它一个非线性变换/>其中
其次,我们将得到的所有 取向量的均值池并更新v的上游视图嵌入为([·:·]表示向量拼接):
类似的更新应用于v的带有变换参数和/>的下游邻居,并得到/>
以上步骤在图中所有节点上重复K次。最后,对于每个v,我们将其上游和下游的隐藏状态和/>连接起来作为其最后的节点表示形式。在下面叙述中,我们将这个向量简称为hv
我们进一步计算图编码来传递整个图信息。每个节点的嵌入hv馈送给一个完全连接的神经网络层,然后是一个元素化的最大池化层。因此,输出向量是图编码,用作图感知解码器的输入,如图3所示。
图感知设备分配解码:
资源分配的预测是根据图的属性和其他节点的分配,将Gx中每个操作节点v的数据备份给一个任务dv。给定任意顺序的节点{v1,v2,…,v|V|},则问题可表示为:
在解码阶段,为了简化问题,我们采用了公式(2)的近似分解。从直观上看,一个节点的数据备份任务预测通常受到其上游节点数据备份任务分配的很大影响。因此,如果我们总能在节点dv的上游节点之前分配一个节点dv的上游节点(例如通过宽度优先遍历图对节点排序),我们可以得到以下近似:
其中D(up)(vt)是指vt的所有上游节点的赋值。我们提出的图感知解码器就是基于这种分解的。
为了处理新的赋值所有以前的赋值和Gx之间相互交织的依赖关系,DRL模型学习一个状态表示st来编码与/>相关的信息。这可以通过LSTM实现,并且为了进一步鼓励状态st意识到与vt相关的节点的分配,以帮助其预测分配,受公式(3)分解的启发,我们将解码器的状态建模为::
在我们的实现过程中,我们将所有的数据备份任务分配dv转化为它们的可学习的数据备份任务嵌入向量,集合D(up)(vt)因此被表示为连接到LSTM输入的数据备份任务嵌入的均值池的结果。将上述向量与的数据备份任务嵌入相连接,作为LSTM cell的输入。
最后,将对节点vi的预测转化为我们使用attention-based model对所有的图节点vj模拟这一步。每个节点在步骤t处得到一个注意分数/>然后用softmax对所有的αj进行归一化,得到每个j对应的/>最后,为了得到数据备份任务分配预测,我们提供/>连接到一个后面跟着一个softmax层的多层感知器(MLP)。
强化学习训练:
在我们的任务中,对于一个输入Gx,很难得到ground truth分配Gy。但是,对于任何给定的分配Gy,我们都可以通过计算系统容错开销(包括非故障时备份节点状态所带来的运行开销以及故障时所产生的故障恢复延迟)得到其相对质量。因此,我们的任务符合强化学习设置,其中模型做出一系列决策(即我们的解码器),并得到延迟奖励r(即预测图分配的系统容错开销)。
在本发明中,我们寻求最小的相对系统容错开销定义为未备份节点状态时的系统容错开销I(Gx)与预测分配后的系统容错开销T(Gy)的比值。我们的目标是预测分配后的系统容错开销最小,也就是说,不会因为糟糕的资源分配而产生较大的系统容错开销。因此,奖励r的范围在0到1之间,且r越趋于1越好。我们训练一个随机策略来最大化以下目标,πθ是对所有可能的资源分配方案Y的分布:
我们使用REINFORCE算法来计算策略梯度,并使用Adam优化器学习网络参数
在每次训练更新中,抽取固定数量的on-policy样本,并且绘制随机样本来探索搜索空间,随机样本的数量呈指数衰减。对于每个训练图,我们维持一个记忆缓冲区来存储奖励高于0.8的良好样本。如果内存缓冲区为空,则包含额外的随机样本以加快探索。公式(4)中的N个样本由on-policy样本和来自内存缓冲区的样本组成。从奖励中减去基线b,即N个样本的平均奖励,以减小政策梯度的方差。
加快奖励计算速度:
为了计算奖励r(Gy),每个取样分配Gy需要部署在流处理系统上,但是系统可能需要几分钟的时间来稳定和计算容错开销。由于DRL依赖于对大量资源分配试验的评估,以这种方式进行训练所需的总时间和计算资源非常棘手。因此,为了快速训练,我们采用模拟器CEPSim进行复杂事件处理和流处理来评估每个分配样本。CEPSim是一个基于云的复杂事件处理和流处理系统的模拟器,可以用来研究不同的资源分配、操作员调度和负载均衡方案的效果。在CEPSim中,DAG用于表示如何处理输入事件流以获得复杂事件。CEPSim为用户提供了为DAG中的每个操作符指定每个元组的指令数量的灵活性。为了模拟流处理,用户可以提供映射功能,将DAG的一部分分配给不同的虚拟机(VM),这些VM可以使用网络相互通信。
本发明所提供的技术方案将深度强化学习技术应用于分布式流处理系统的容错问题中,能够将容错问题中数据备份的分配问题表述为资源分配问题,构建以任务和任务之间的联系为顶点和边的神经网络模型,并经过多层次的训练,有效的使当前系统容错问题处理效果更优秀,同时能够为分布式流处理系统容错问题提供一种基于深度强化学习的可行的方法。本发明所提供的技术方案可恰当分配备份资源,对系统容错开销进行评价,从而降低当前主要以上游备份为主要方案进行处理的复杂度,提高系统容错的效率,降低现有方法的容错开销。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种基于深度强化学习的系统容错策略方法,其特征在于,包括以下步骤:
步骤1:获取分布式流处理系统中的任务,以任务为节点,以任务中之间的联系关系为边生成流处理拓扑图;
步骤2:用图编码器对输入流图进行编码;将流处理拓扑图嵌入,根据上下游隐藏状态连接得到神经网络层,然后进入最大池化层,得到输出向量作为图感知解码器的输入;
步骤3:图感知设备分配解码;通过LSTM实现对新旧数据备份分配任务以及图编码之间交织的依赖关系的处理,采用attention-based model来建模预测每个节点的分配;
步骤4:应用强化学习算法计算策略梯度,使用Adam optimizer学习网络参数,实现强化学习训练;
步骤5:采用模拟器CEPSim进行复杂事件处理和流处理来快速训练评估每个分配样本。
2.根据权利要求1所述的一种基于深度强化学习的系统容错策略方法,其特征在于:所述步骤1中生成流处理拓扑图的方法具体为:
将流处理系统容错问题中的资源分配问题表述为搜索问题,其中训练和测试数据由不同的流处理拓扑图{Gx}组成,将流处理拓扑图建模为DAGGx=(V,E),其中顶点V={vi|i∈1,…,n}表示流处理系统中的任务,边E={e(vi,vj)|vi,vj∈V}表示任务之间的连接,对于每个任务v∈V的资源需求(wv),根据该任务的输入数据速率来反映该任务所需的计算能力;
给定输入图Gx,资源分配的目标是预测数据备份布局图Gy中每个任务节点v∈G的数据备份给系统中某个任务vi;目标图Gy的每个节点都附加一个新的数据备份任务节点以描述其分配行为情况;在Gx的每一步中为每个任务节点分配一个数据备份任务节点,最后输出图形Gy
3.根据权利要求2所述的一种基于深度强化学习的系统容错策略方法,其特征在于:所述步骤2中用图编码器对输入流图进行编码的方法具体为:
步骤2.1:将输入图Gx嵌入到一个嵌入空间中,每个节点都有一个嵌入编码,使用图卷积网络GCN来实现这种编码;
GCN迭代使用邻居的嵌入来更新节点的嵌入;具体地说,在第k步,对于每个算子节点v,定义其嵌入为当k=0时,/>定义为其节点特征向量fv,其中包含了节点平均故障恢复时间以及节点备份导致的处理延迟;由于Gx是一个有向图,根据v的边连接的方向,将其邻居划分为两个集合,上游邻居Nup(v)和下游邻居Ndown(v);因此,节点嵌入分为两个向量/>每个都有m维;
步骤2.2:GCN更新v的嵌入;
步骤2.2.1:分别对v的上下游邻居进行信息聚合;以上游邻居为例,对于每个u∈Nup(v),取其当前阶段表示为给它一个非线性变换/>其中W1 (up)∈Rm×2m
步骤2.2.2:将得到的所有取向量的均值池并更新v的上游视图嵌入为:
其中,[·:·]表示向量拼接;
步骤2.2.3:更新应用于v的带有变换参数W1 (down)和W2 (down)的下游邻居,并得到
步骤2.3:在图中所有节点上重复K次步骤2.2;对于每个v,将其上游和下游的隐藏状态和/>连接起来作为其最后的节点表示形式,得到向量hv
步骤2.4:计算图编码来传递整个图信息,每个节点的嵌入hv馈送给一个完全连接的神经网络层,输出图编码向量。
4.根据权利要求3所述的一种基于深度强化学习的系统容错策略方法,其特征在于:所述步骤3中图感知设备分配解码的方法具体为:资源分配的预测是根据图的属性和其他节点的分配,将Gx中每个操作节点v的数据备份给一个任务dv,给定任意顺序的节点{v1,v2,…,v|V|},则问题可表示为:
其中,D(up)(vt)是指vt的所有上游节点的赋值;为了处理新的赋值所有以前的赋值和Gx之间相互交织的依赖关系,DRL模型学习一个状态表示st来编码与/>相关的信息,通过LSTM实现,并且为了进一步鼓励状态st意识到与vt相关的节点的分配,以帮助其预测分配,将解码器的状态建模为:
将所有的数据备份任务分配dv转化为它们的可学习的数据备份任务嵌入向量,集合D(up)(vt)因此被表示为连接到LSTM输入的数据备份任务嵌入的均值池的结果,将上述向量与的数据备份任务嵌入相连接,作为LSTM cell的输入;
将对节点vi的预测转化为使用attention-based model对所有的图节点vj模拟这一步,每个节点在步骤t处得到一个注意分数/>然后用softmax对所有的αj进行归一化,得到每个j对应的/>最后,为了得到数据备份任务分配预测,提供/>连接到一个后面跟着一个softmax层的多层感知器MLP。
5.根据权利要求4所述的一种基于深度强化学习的系统容错策略方法,其特征在于:所述步骤4中强化学习训练的方法具体为:将最小的相对系统容错开销定义为未备份节点状态时的系统容错开销I(Gx)与预测分配后的系统容错开销T(Gy)的比值;奖励r的范围在0到1之间,且r越趋于1越好;训练一个随机策略来最大化以下目标
其中,πθ是对所有可能的资源分配方案Y的分布;
使用REINFORCE算法来计算策略梯度,并使用Adam优化器学习网络参数
在每次训练更新中,抽取固定数量的on-policy样本,并且绘制随机样本来探索搜索空间,随机样本的数量呈指数衰减;对于每个训练图,维持一个记忆缓冲区来存储奖励高于0.8的良好样本;如果内存缓冲区为空,则包含额外的随机样本以加快探索;N个样本由on-policy样本和来自内存缓冲区的样本组成,从奖励中减去基线b,即N个样本的平均奖励,以减小政策梯度的方差。
6.根据权利要求5所述的一种基于深度强化学习的系统容错策略方法,其特征在于:所述步骤5中采用模拟器CEPSim进行复杂事件处理和流处理来快速训练评估每个分配样本的方法具体为:
为了计算奖励r(Gy),每个取样分配Gy需要部署在流处理系统上,但是系统可能需要几分钟的时间来稳定和计算容错开销;由于DRL依赖于对大量资源分配试验的评估,以这种方式进行训练所需的总时间和计算资源非常棘手;因此,为了快速训练,采用模拟器CEPSim进行复杂事件处理和流处理来评估每个分配样本;CEPSim是一个基于云的复杂事件处理和流处理系统的模拟器,可以用来研究不同的资源分配、操作员调度和负载均衡方案的效果;在CEPSim中,DAG用于表示如何处理输入事件流以获得复杂事件;CEPSim为用户提供了为DAG中的每个操作符指定每个元组的指令数量的灵活性;为了模拟流处理,用户可以提供映射功能,将DAG的一部分分配给不同的虚拟机(VM),这些VM可以使用网络相互通信。
CN202111421597.3A 2021-11-26 2021-11-26 一种基于深度强化学习的系统容错策略方法 Active CN114153640B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111421597.3A CN114153640B (zh) 2021-11-26 2021-11-26 一种基于深度强化学习的系统容错策略方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111421597.3A CN114153640B (zh) 2021-11-26 2021-11-26 一种基于深度强化学习的系统容错策略方法

Publications (2)

Publication Number Publication Date
CN114153640A CN114153640A (zh) 2022-03-08
CN114153640B true CN114153640B (zh) 2024-05-31

Family

ID=80458320

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111421597.3A Active CN114153640B (zh) 2021-11-26 2021-11-26 一种基于深度强化学习的系统容错策略方法

Country Status (1)

Country Link
CN (1) CN114153640B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115981209A (zh) * 2023-01-06 2023-04-18 上海科技大学 基于电路延迟测量的自动超频控制器
CN116108764B (zh) * 2023-04-14 2023-07-07 中国科学院长春光学精密机械与物理研究所 光学智能优化方法、装置、设备、介质
CN116541179B (zh) * 2023-07-05 2023-12-05 支付宝(杭州)信息技术有限公司 一种计算资源预测方法和系统
CN118590456A (zh) * 2024-05-21 2024-09-03 中国地质大学(北京) 一种数据流模式感知的流应用节点调度方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108648216A (zh) * 2018-04-19 2018-10-12 长沙学院 一种基于光流与深度学习的视觉里程计实现方法和系统
CN110190991A (zh) * 2019-05-21 2019-08-30 华中科技大学 一种多应用场景下的分布式流处理系统的容错方法
CN111190429A (zh) * 2020-01-13 2020-05-22 南京航空航天大学 一种基于强化学习的无人机主动容错控制方法
CN111507601A (zh) * 2020-04-12 2020-08-07 北京工业大学 基于深度强化学习与区块链共识的资源优化分配决策方法
CN112148478A (zh) * 2020-09-02 2020-12-29 中国南方电网有限责任公司超高压输电公司 变电站分布式无线网中数据安全和资源分配联合优化方法
CN113191484A (zh) * 2021-04-25 2021-07-30 清华大学 基于深度强化学习的联邦学习客户端智能选取方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108648216A (zh) * 2018-04-19 2018-10-12 长沙学院 一种基于光流与深度学习的视觉里程计实现方法和系统
CN110190991A (zh) * 2019-05-21 2019-08-30 华中科技大学 一种多应用场景下的分布式流处理系统的容错方法
CN111190429A (zh) * 2020-01-13 2020-05-22 南京航空航天大学 一种基于强化学习的无人机主动容错控制方法
CN111507601A (zh) * 2020-04-12 2020-08-07 北京工业大学 基于深度强化学习与区块链共识的资源优化分配决策方法
CN112148478A (zh) * 2020-09-02 2020-12-29 中国南方电网有限责任公司超高压输电公司 变电站分布式无线网中数据安全和资源分配联合优化方法
CN113191484A (zh) * 2021-04-25 2021-07-30 清华大学 基于深度强化学习的联邦学习客户端智能选取方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
云训练中基于自适应副本策略的容错研究;陈志佳;朱元昌;邸彦强;冯少冲;;微电子学与计算机(第02期);全文 *
支持大规模流数据在线处理的自适应检查点机制;魏晓辉;刘智亮;庄园;李洪亮;李翔;;吉林大学学报(工学版);20170115(第01期);全文 *

Also Published As

Publication number Publication date
CN114153640A (zh) 2022-03-08

Similar Documents

Publication Publication Date Title
CN114153640B (zh) 一种基于深度强化学习的系统容错策略方法
CN111522962B (zh) 序列推荐方法、装置及计算机可读存储介质
US10733531B2 (en) Artificial intelligence engine having an architect module
CN113361680B (zh) 一种神经网络架构搜索方法、装置、设备及介质
CN113128702A (zh) 一种基于强化学习的神经网络自适应分布式并行训练方法
EP4350572A1 (en) Method, apparatus and system for generating neural network model, devices, medium and program product
US11481627B2 (en) Distributed learning of composite machine learning models
CN112711475B (zh) 一种基于图卷积神经网络的工作流调度方法及系统
Ni et al. Generalizable resource allocation in stream processing via deep reinforcement learning
CN114723037A (zh) 一种聚合高阶邻居节点的异构图神经网络计算方法
CN118246607B (zh) 一种基于动态任务图建模的机位分配方法
CN105955882A (zh) 一种迭代学习模型行为相似性的测试用例生成方法和装置
CN114282665A (zh) 神经网络模型的并行训练方法、装置以及电子设备
CN115438580A (zh) 基于肌肉骨骼模型的人体步态仿真系统、装置及存储介质
CN115292044A (zh) 数据处理方法、装置、电子设备及存储介质
Hu et al. Solving the TSP by the AALHNN algorithm
CN113792845A (zh) 基于元学习的预测模型训练方法、装置、电子设备及介质
Lu et al. TreeNet based fast task decomposition for resource-constrained edge intelligence
CN112084377A (zh) 一种基于图结构的数据动态分类方法与系统
JP7532666B2 (ja) ニューラルネットワークを使用して混合整数問題を解くこと
Zhang et al. An attention-enhanced edge-cloud collaborative framework for multi-task application
Yan et al. DIDS: A distributed inference framework with dynamic scheduling capability
Xingyu et al. Recognition of carrier-based aircraft flight deck operations based on dynamic graph
Xu Multi-logic interactive model of virtual reality based on digital media
Chi et al. Source Value-Based Resource Allocation in Task-Oriented Communications

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant