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

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

Info

Publication number
CN114153640A
CN114153640A CN202111421597.3A CN202111421597A CN114153640A CN 114153640 A CN114153640 A CN 114153640A CN 202111421597 A CN202111421597 A CN 202111421597A CN 114153640 A CN114153640 A CN 114153640A
Authority
CN
China
Prior art keywords
graph
node
task
stream processing
reinforcement learning
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.)
Granted
Application number
CN202111421597.3A
Other languages
English (en)
Other versions
CN114153640B (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
Priority claimed from CN202111421597.3A external-priority 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

Images

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 Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Quality & Reliability (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,定义其嵌入为
Figure BDA0003377596870000021
当k=0时,
Figure BDA0003377596870000022
定义为其节点特征向量fv,其中包含了节点平均故障恢复时间以及节点备份导致的处理延迟;由于Gx是一个有向图,根据v的边连接的方向,将其邻居划分为两个集合,上游邻居Nup(v)和下游邻居Ndown(v);因此,节点嵌入分为两个向量
Figure BDA0003377596870000023
Figure BDA0003377596870000024
每个都有m维;
步骤2.2:GCN更新v的嵌入;
步骤2.2.1:分别对v的上下游邻居进行信息聚合;以上游邻居为例,对于每个u∈Nup(v),取其当前阶段表示为
Figure BDA0003377596870000025
给它一个非线性变换
Figure BDA0003377596870000026
其中
Figure BDA0003377596870000027
步骤2.2.2:将得到的所有
Figure BDA0003377596870000028
Figure BDA0003377596870000029
取向量的均值池并更新v的上游视图嵌入为:
Figure BDA00033775968700000210
其中,[·:·]表示向量拼接;
步骤2.2.3:更新应用于v的带有变换参数
Figure BDA00033775968700000211
Figure BDA00033775968700000212
的下游邻居,并得到
Figure BDA00033775968700000213
步骤2.3:在图中所有节点上重复K次步骤2.2;对于每个v,将其上游和下游的隐藏状态
Figure BDA00033775968700000214
Figure BDA00033775968700000215
连接起来作为其最后的节点表示形式,得到向量hv
步骤2.4:计算图编码来传递整个图信息,每个节点的嵌入hv馈送给一个完全连接的神经网络层,输出图编码向量。
进一步地,所述步骤3中图感知设备分配解码的方法具体为:资源分配的预测是根据图的属性和其他节点的分配,将Gx中每个操作节点v的数据备份给一个任务dv,给定任意顺序的节点{v1,v2,…,v|V|},则问题可表示为:
Figure BDA0003377596870000031
其中,D(up)(vt)是指vt的所有上游节点的赋值;为了处理新的赋值
Figure BDA0003377596870000032
所有以前的赋值和Gx之间相互交织的依赖关系,DRL模型学习一个状态表示st来编码与
Figure BDA0003377596870000033
相关的信息,通过LSTM实现,并且为了进一步鼓励状态st意识到与vt相关的节点的分配,以帮助其预测分配,将解码器的状态建模为::
Figure BDA0003377596870000034
将所有的数据备份任务分配dv转化为它们的可学习的数据备份任务嵌入向量,集合D(up)(vt)因此被表示为连接到LSTM输入的数据备份任务嵌入的均值池的结果,将上述向量与
Figure BDA0003377596870000035
的数据备份任务嵌入相连接,作为LSTM cell的输入;
将对节点vi的预测转化为
Figure BDA0003377596870000036
使用attention-based model对所有的图节点vj模拟这一步,每个节点在步骤t处得到一个注意分数
Figure BDA0003377596870000037
然后用softmax对所有的αj进行归一化,得到每个j对应的
Figure BDA0003377596870000038
最后,为了得到数据备份任务分配预测,提供
Figure BDA0003377596870000039
连接到一个后面跟着一个softmax层的多层感知器MLP。
进一步地,所述步骤4中强化学习训练的方法具体为:将最小的相对系统容错开销
Figure BDA00033775968700000310
定义为未备份节点状态时的系统容错开销I(Gx)与预测分配后的系统容错开销T(Gy)的比值;奖励r的范围在0到1之间,且r越趋于1越好;训练一个随机策略来最大化以下目标
Figure BDA00033775968700000311
其中,πθ是对所有可能的资源分配方案Y的分布;
使用REINFORCE算法来计算策略梯度,并使用Adam优化器学习网络参数
Figure BDA0003377596870000041
在每次训练更新中,抽取固定数量的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的每个节点都附加了一个新的数据备份任务节点
Figure BDA00033775968700000616
(即方形节点),以描述其分配行为情况。因为任务分配之间的相互依赖关系错综复杂,使得预测Gy的任务十分具有挑战性。本发明将这个问题定义为一个搜索问题,它在Gx的每一步中为每个任务节点分配一个数据备份任务节点,最后输出图形Gy
用图编码器对输入流图进行编码:
首先将输入图Gx嵌入到一个嵌入空间中,每个节点都有一个嵌入编码,我们使用图卷积网络(GCN)来实现这种编码。
GCN迭代使用邻居的嵌入来更新节点的嵌入。具体地说,在第k步,对于每个算子节点v,我们定义其嵌入为
Figure BDA0003377596870000061
当k=0时,
Figure BDA0003377596870000062
定义为其节点特征向量fv,其中包含了节点平均故障恢复时间以及节点备份导致的处理延迟。由于Gx是一个有向图,我们根据v的边连接的方向,将其邻居划分为两个集合,上游邻居Nup(v)和下游邻居Ndown(v)。因此,节点嵌入可以分为两个向量
Figure BDA0003377596870000063
Figure BDA0003377596870000064
每个都有m维。
基于以上定义,GCN更新v的嵌入如下:
首先,分别对v的上下游邻居进行信息聚合。以上游邻居为例,对于每个u∈Nup(v),我们取其当前阶段表示为
Figure BDA0003377596870000065
给它一个非线性变换
Figure BDA0003377596870000066
其中
Figure BDA0003377596870000067
其次,我们将得到的所有
Figure BDA0003377596870000068
Figure BDA0003377596870000069
取向量的均值池并更新v的上游视图嵌入为([·:·]表示向量拼接):
Figure BDA00033775968700000610
类似的更新应用于v的带有变换参数
Figure BDA00033775968700000611
Figure BDA00033775968700000612
的下游邻居,并得到
Figure BDA00033775968700000613
以上步骤在图中所有节点上重复K次。最后,对于每个v,我们将其上游和下游的隐藏状态
Figure BDA00033775968700000614
Figure BDA00033775968700000615
连接起来作为其最后的节点表示形式。在下面叙述中,我们将这个向量简称为hv
我们进一步计算图编码来传递整个图信息。每个节点的嵌入hv馈送给一个完全连接的神经网络层,然后是一个元素化的最大池化层。因此,输出向量是图编码,用作图感知解码器的输入,如图3所示。
图感知设备分配解码:
资源分配的预测是根据图的属性和其他节点的分配,将Gx中每个操作节点v的数据备份给一个任务dv。给定任意顺序的节点{v1,v2,…,v|V|},则问题可表示为:
Figure BDA0003377596870000071
在解码阶段,为了简化问题,我们采用了公式(2)的近似分解。从直观上看,一个节点的数据备份任务预测通常受到其上游节点数据备份任务分配的很大影响。因此,如果我们总能在节点dv的上游节点之前分配一个节点dv的上游节点(例如通过宽度优先遍历图对节点排序),我们可以得到以下近似:
Figure BDA0003377596870000072
其中D(up)(vt)是指vt的所有上游节点的赋值。我们提出的图感知解码器就是基于这种分解的。
为了处理新的赋值
Figure BDA0003377596870000073
所有以前的赋值和Gx之间相互交织的依赖关系,DRL模型学习一个状态表示st来编码与
Figure BDA0003377596870000074
相关的信息。这可以通过LSTM实现,并且为了进一步鼓励状态st意识到与vt相关的节点的分配,以帮助其预测分配,受公式(3)分解的启发,我们将解码器的状态建模为::
Figure BDA0003377596870000075
在我们的实现过程中,我们将所有的数据备份任务分配dv转化为它们的可学习的数据备份任务嵌入向量,集合D(up)(vt)因此被表示为连接到LSTM输入的数据备份任务嵌入的均值池的结果。将上述向量与
Figure BDA0003377596870000076
的数据备份任务嵌入相连接,作为LSTM cell的输入。
最后,将对节点vi的预测转化为
Figure BDA0003377596870000077
我们使用attention-based model对所有的图节点vj模拟这一步。每个节点在步骤t处得到一个注意分数
Figure BDA0003377596870000078
然后用softmax对所有的αj进行归一化,得到每个j对应的
Figure BDA0003377596870000081
最后,为了得到数据备份任务分配预测,我们提供
Figure BDA0003377596870000082
连接到一个后面跟着一个softmax层的多层感知器(MLP)。
强化学习训练:
在我们的任务中,对于一个输入Gx,很难得到ground truth分配Gy。但是,对于任何给定的分配Gy,我们都可以通过计算系统容错开销(包括非故障时备份节点状态所带来的运行开销以及故障时所产生的故障恢复延迟)得到其相对质量。因此,我们的任务符合强化学习设置,其中模型做出一系列决策(即我们的解码器),并得到延迟奖励r(即预测图分配的系统容错开销)。
在本发明中,我们寻求最小的相对系统容错开销
Figure BDA0003377596870000083
定义为未备份节点状态时的系统容错开销I(Gx)与预测分配后的系统容错开销T(Gy)的比值。我们的目标是预测分配后的系统容错开销最小,也就是说,不会因为糟糕的资源分配而产生较大的系统容错开销。因此,奖励r的范围在0到1之间,且r越趋于1越好。我们训练一个随机策略来最大化以下目标,πθ是对所有可能的资源分配方案Y的分布:
Figure BDA0003377596870000084
我们使用REINFORCE算法来计算策略梯度,并使用Adam优化器学习网络参数
Figure BDA0003377596870000085
在每次训练更新中,抽取固定数量的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的每个节点都附加一个新的数据备份任务节点
Figure FDA0003377596860000013
以描述其分配行为情况;在Gx的每一步中为每个任务节点分配一个数据备份任务节点,最后输出图形Gy
3.根据权利要求2所述的一种基于深度强化学习的系统容错策略方法,其特征在于:所述步骤2中用图编码器对输入流图进行编码的方法具体为:
步骤2.1:将输入图Gx嵌入到一个嵌入空间中,每个节点都有一个嵌入编码,使用图卷积网络GCN来实现这种编码;
GCN迭代使用邻居的嵌入来更新节点的嵌入;具体地说,在第k步,对于每个算子节点v,定义其嵌入为
Figure FDA0003377596860000011
当k=0时,
Figure FDA0003377596860000012
定义为其节点特征向量fv,其中包含了节点平均故障恢复时间以及节点备份导致的处理延迟;由于Gx是一个有向图,根据v的边连接的方向,将其邻居划分为两个集合,上游邻居Nup(v)和下游邻居Ndown(v);因此,节点嵌入分为两个向量
Figure FDA0003377596860000021
Figure FDA0003377596860000022
每个都有m维;
步骤2.2:GCN更新v的嵌入;
步骤2.2.1:分别对v的上下游邻居进行信息聚合;以上游邻居为例,对于每个u∈Nup(v),取其当前阶段表示为
Figure FDA0003377596860000023
给它一个非线性变换
Figure FDA0003377596860000024
其中W1 (up)∈Rm ×2m
步骤2.2.2:将得到的所有
Figure FDA0003377596860000025
取向量的均值池并更新v的上游视图嵌入为:
Figure FDA0003377596860000026
其中,[·:·]表示向量拼接;
步骤2.2.3:更新应用于v的带有变换参数W1 (down)和W2 (down)的下游邻居,并得到
Figure FDA0003377596860000027
步骤2.3:在图中所有节点上重复K次步骤2.2;对于每个v,将其上游和下游的隐藏状态
Figure FDA0003377596860000028
Figure FDA0003377596860000029
连接起来作为其最后的节点表示形式,得到向量hv
步骤2.4:计算图编码来传递整个图信息,每个节点的嵌入hv馈送给一个完全连接的神经网络层,输出图编码向量。
4.根据权利要求3所述的一种基于深度强化学习的系统容错策略方法,其特征在于:所述步骤3中图感知设备分配解码的方法具体为:资源分配的预测是根据图的属性和其他节点的分配,将Gx中每个操作节点v的数据备份给一个任务dv,给定任意顺序的节点{v1,v2,…,v|V|},则问题可表示为:
Figure FDA00033775968600000210
其中,D(up)(vt)是指vt的所有上游节点的赋值;为了处理新的赋值
Figure FDA00033775968600000213
所有以前的赋值和Gx之间相互交织的依赖关系,DRL模型学习一个状态表示st来编码与
Figure FDA00033775968600000211
相关的信息,通过LSTM实现,并且为了进一步鼓励状态st意识到与vt相关的节点的分配,以帮助其预测分配,将解码器的状态建模为::
Figure FDA00033775968600000212
将所有的数据备份任务分配dv转化为它们的可学习的数据备份任务嵌入向量,集合D(up)(vt)因此被表示为连接到LSTM输入的数据备份任务嵌入的均值池的结果,将上述向量与
Figure FDA0003377596860000031
的数据备份任务嵌入相连接,作为LSTM cell的输入;
将对节点vi的预测转化为
Figure FDA0003377596860000032
使用attention-based model对所有的图节点vj模拟这一步,每个节点在步骤t处得到一个注意分数
Figure FDA0003377596860000033
然后用softmax对所有的αj进行归一化,得到每个j对应的
Figure FDA0003377596860000034
最后,为了得到数据备份任务分配预测,提供
Figure FDA0003377596860000035
连接到一个后面跟着一个softmax层的多层感知器MLP。
5.根据权利要求4所述的一种基于深度强化学习的系统容错策略方法,其特征在于:所述步骤4中强化学习训练的方法具体为:将最小的相对系统容错开销
Figure FDA0003377596860000036
定义为未备份节点状态时的系统容错开销I(Gx)与预测分配后的系统容错开销T(Gy)的比值;奖励r的范围在0到1之间,且r越趋于1越好;训练一个随机策略来最大化以下目标
Figure FDA0003377596860000037
其中,πθ是对所有可能的资源分配方案Y的分布;
使用REINFORCE算法来计算策略梯度,并使用Adam优化器学习网络参数
Figure FDA0003377596860000038
在每次训练更新中,抽取固定数量的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 一种基于深度强化学习的系统容错策略方法 Active CN114153640B (zh)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

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

Family

ID=

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116108764A (zh) * 2023-04-14 2023-05-12 中国科学院长春光学精密机械与物理研究所 光学智能优化方法、装置、设备、介质
CN116541179A (zh) * 2023-07-05 2023-08-04 支付宝(杭州)信息技术有限公司 一种计算资源预测方法和系统

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
陈志佳;朱元昌;邸彦强;冯少冲;: "云训练中基于自适应副本策略的容错研究", 微电子学与计算机, no. 02 *
魏晓辉;刘智亮;庄园;李洪亮;李翔;: "支持大规模流数据在线处理的自适应检查点机制", 吉林大学学报(工学版), no. 01, 15 January 2017 (2017-01-15) *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116108764A (zh) * 2023-04-14 2023-05-12 中国科学院长春光学精密机械与物理研究所 光学智能优化方法、装置、设备、介质
CN116541179A (zh) * 2023-07-05 2023-08-04 支付宝(杭州)信息技术有限公司 一种计算资源预测方法和系统
CN116541179B (zh) * 2023-07-05 2023-12-05 支付宝(杭州)信息技术有限公司 一种计算资源预测方法和系统

Similar Documents

Publication Publication Date Title
CN113128702A (zh) 一种基于强化学习的神经网络自适应分布式并行训练方法
CN113191484A (zh) 基于深度强化学习的联邦学习客户端智能选取方法及系统
Arkhipov et al. A parallel genetic algorithm framework for transportation planning and logistics management
EP4350572A1 (en) Method, apparatus and system for generating neural network model, devices, medium and program product
CN112711475B (zh) 一种基于图卷积神经网络的工作流调度方法及系统
Ni et al. Generalizable resource allocation in stream processing via deep reinforcement learning
CN113742089B (zh) 异构资源中神经网络计算任务的分配方法、装置和设备
CN113312874B (zh) 基于改进深度强化学习的总体布线方法
CN110132282A (zh) 无人机路径规划方法及装置
Xu et al. Bipolar fuzzy Petri nets for knowledge representation and acquisition considering non-cooperative behaviors
CN114915630A (zh) 基于物联网设备的任务分配方法、网络训练方法及装置
CN109344969B (zh) 神经网络系统及其训练方法以及计算机可读介质
CN112990485A (zh) 基于强化学习的知识策略选择方法与装置
CN116341131A (zh) 基于数字孪生的再制造设计仿真系统、方法、设备及介质
CN105955882A (zh) 一种迭代学习模型行为相似性的测试用例生成方法和装置
CN113452655A (zh) 一种分布式训练方法、梯度通信方法、装置以及计算设备
CN114723037A (zh) 一种聚合高阶邻居节点的异构图神经网络计算方法
CN114710439A (zh) 基于深度强化学习的网络能耗与吞吐量联合优化路由方法
CN111935005B (zh) 数据传输方法、装置、处理设备及介质
CN114153640A (zh) 一种基于深度强化学习的系统容错策略方法
CN114153640B (zh) 一种基于深度强化学习的系统容错策略方法
Dandachi et al. A robust monte-carlo-based deep learning strategy for virtual network embedding
CN112906745B (zh) 基于边缘协同的诚信智能网络训练方法
Jeon et al. Intelligent resource scaling for container based digital twin simulation of consumer electronics
CN115292044A (zh) 数据处理方法、装置、电子设备及存储介质

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