CN109344009B - 基于分级检查点的移动云系统容错方法 - Google Patents

基于分级检查点的移动云系统容错方法 Download PDF

Info

Publication number
CN109344009B
CN109344009B CN201811185931.8A CN201811185931A CN109344009B CN 109344009 B CN109344009 B CN 109344009B CN 201811185931 A CN201811185931 A CN 201811185931A CN 109344009 B CN109344009 B CN 109344009B
Authority
CN
China
Prior art keywords
cloud system
mobile cloud
level
checkpoint
node
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
CN201811185931.8A
Other languages
English (en)
Other versions
CN109344009A (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.)
Chongqing University of Post and Telecommunications
Original Assignee
Chongqing University of Post and Telecommunications
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 Chongqing University of Post and Telecommunications filed Critical Chongqing University of Post and Telecommunications
Priority to CN201811185931.8A priority Critical patent/CN109344009B/zh
Publication of CN109344009A publication Critical patent/CN109344009A/zh
Application granted granted Critical
Publication of CN109344009B publication Critical patent/CN109344009B/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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate the error
    • 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/5083Techniques for rebalancing the load in a distributed system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Retry When Errors Occur (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种基于分级检查点的移动云系统容错方法,包括S1:将移动云系统中节点的检查点分成两级检查点;S2:设定level‑1型检查点数量的占比和level‑2型检查点数量的占比;建立检查点预期总额外时间开销最小化模型,获得使移动云系统中第一个故障周期M1的额外时间开销最小的检查点的频率函数;根据频率函数,获取移动云系统执行移动应用程序过程中检查点的放置时间序列;S3:在放置时间序列中的各时刻,设置各节点的level‑1型检查点和level‑2型检查点;本发明将检查点分成两级,分别进行容错配置,并对在移动云系统联合执行的移动应用程序的拓扑进行超图化建模,减少了额外时间开销,提高了整个移动云系统的可靠性和可用性。

Description

基于分级检查点的移动云系统容错方法
技术领域
本发明涉及移动云领域,具体涉及一种基于分级检查点的移动云系统容错方法。
背景技术
移动云计算被认为是发展最迅速的技术之一,伴随着移动云计算的发展,终端用户移动性已经成为当代互联网的重要特征。尽管移动云计算允许移动设备将计算密集型应用卸载到远程云服务器进行计算和存储等处理,增强了应用程序的性能,降低了电池功耗,处理了因资源受限而无法在移动设备中处理的应用程序,但在时间管理、容错性能和均衡负载等方面存在的问题仍是移动云计算中亟待优化解决的问题。
目前,已有人从基于检查点技术的移动云容错策略方面进行研究,以解决上述存在的问题。现有的基于检查点技术的移动云容错策略都是通过采集移动云系统中故障信息并据此设置单一层级检查点,来对移动云系统中发生的故障进行重启\恢复。而移动云系统故障需分为永久性故障和瞬态资源故障,当节点发生永久性故障时,将导致之前保存在节点中的检查点文件丢失,从而使得整个移动云系统无法通过检查点重启\恢复;并且随着移动云系统规模的扩大,检查点文件的大小也会相应增加,设置检查点的开销及从故障中恢复的开销将愈来愈难以承受。
因此,需要提出一种不仅能够更具针对性的对各类故障进行容错,还能够有效防止检查点文件因节点故障而造成丢失的问题的基于分级检查点的移动云系统容错方法。
发明内容
有鉴于此,本发明的目的是提供一种基于分级检查点的移动云系统容错方法,根据移动云系统中的故障可恢复程度,将移动云系统中的故障对应的检查点分成两类,分别进行容错配置,并对在移动云系统联合执行的移动应用程序的拓扑结构进行超图化建模,在减少执行移动应用程序的额外时间开销,提高了整个移动云系统的可靠性和可用性,避免了移动云系统发生故障后不可恢复或恢复的开销过大而导致的移动云系统中各数据节点负载不均、长时间过载或宕机现象,且不需要对移动云系统的故障概率作预设,可以适应多种故障概率曲线。
本发明提供一种基于分级检查点的移动云系统容错方法,包括步骤:
S1:将移动云系统中节点的检查点分成两级检查点,即移动云系统瞬态资源故障对应的level-1型检查点和移动云系统永久资源故障对应的level-2型检查点;
S2:设定level-1型检查点数量的占比和level-2型检查点数量的占比;
建立检查点预期总额外时间开销最小化模型,获得使移动云系统中第一个故障周期M1的额外时间开销最小的检查点的频率函数;
根据频率函数,获取移动云系统执行移动应用程序过程中检查点的放置时间序列;
S3:在放置时间序列中的各时刻,按照level-1型检查点数量的占比和level-2型检查点数量的占比设置各节点的level-1型检查点和level-2型检查点。
进一步,所述步骤S3中设置level-2型检查点包括步骤:
S31:将移动云系统的拓扑结构映射到超图结构中,并对超图结构中的各节点进行编码;
S32:将每个level-2型检查点的原始文件存该level-2型检查点所属节点的稳定存储器中;
S33:为level-2型检查点的原始文件制作两个副本文件;
S34:建立超图结构中节点的优先权重计算模型,计算节点的优先权重;
S35:从生成level-2型检查点的节点所属超边的节点集合中,筛选出优先权重最小的节点,将其中一个副本文件存储在该优先权重最小的节点的稳定存储器中;
S36:根据各节点的编码,计算得到与level-2型检查点对应的超图结构节点的海明距离为1的节点集合;
S37:从与level-2型检查点对应的超图结构节点的海明距离为1的节点集合中排除已存入其中一个副本文件的节点,从剩余数据节点中筛选出优先权重最小的节点,将另一个副本文件存储在该优先权重最小的节点的稳定存储器中。
进一步,所述步骤S31包括步骤:
S311:建立移动云系统的超图结构,具体如下:
初始化集合V,V={v1,v2,……vn},v1,v2,……vn为移动云系统中的数据节点,n为移动云系统中数据节点的数量;
设定集合V的子集Xi,所述子集Xi中的元素为联合执行第i个移动应用程序的所有节点;
将移动云系统中的数据节点v1,v2,……vn映射为超图结构中的顶点;设定集合E,E={E1,E2,……Em},E1,E2,……,Em分别表示连接移动云系统中的子集X1,X2,……,Xm中数据节点的超边,得到移动云系统的超图H=(V,E),其中Ej≠φ(j=1,2,...,m)且
Figure BDA0001826190850000031
其中m为移动云系统执行应用程序的数量,φ为空集,
Figure BDA0001826190850000032
表示对E1,E2,……,Em取并集等于集合V;
S312:对移动云系统中的数据节点进行二进制编码。
进一步,所述超图结构中节点的优先权重计算模型为:
A=a·Nmem+b·Ncpu+c·Nsysload (1)
其中,A表示超图结构的移动云系统节点的优先权重;Nmem表示超图结构的移动云系统节点的剩余存储属性的百分比;Ncpu表示超图结构的移动云系统节点的CPU资源属性的百分比;Nsysload表示超图结构的移动云系统节点的平均每五分钟负载属性;a表示Nmem的优先因子,b表示Ncpu的优先因子,c表示Nsysload的优先因子。
进一步,所述a的取值范围为0.4~0.6,所述b的取值范围为0.15~0.3,所述c的取值范围为0.15~0.3;且a+b+c=1。
进一步,步骤S2中建立检查点预期总额外时间开销最小化模型包括:以减小检查点总额外时间开销为目标函数,建立检查点预期总额外时间开销最小化模型,所述检查点预期总额外时间开销最小化模型为:
minE(M1) (1-1)
其中,M1表示移动云系统中第一个故障周期;E(M1)表示移动云系统中第一个故障周期的检查点预期总额外时间开销的期望。
进一步,所述E(M1)的计算公式为:
E(M)=I(T)+R(T)+S(T) (1-2)
I(T)表示设置分级检查点的时间开销,R(T)为发生故障后重新计算的时间开销;S(T)表示设置分级检查点的移动云系统恢复时间开销,T为移动云系统发生故障的故障周期中检查点间隔时间;M表示移动云系统的故障周期。
进一步,所述I(T)的计算公式为:
Figure BDA0001826190850000041
其中,C1表示设置level-1型检查点开销,C2表示设置level-2型检查点开销;ti(i=1,2,...)表示检查点的放置时间序列;在移动云系统中的移动应用程序开始执行直到系统发生故障的故障周期内,设定该故障周期中的检查点序列中有(μ+1)个检查点,则设定level-1型检查点数量的占比为
Figure BDA0001826190850000042
level-2型检查点数量的占比为
Figure BDA0001826190850000043
所述cp(t)为分级检查点的频率函数。
进一步,所述R(T)的计算公式为:
Figure BDA0001826190850000044
其中,R(T)为发生故障后重新计算的时间开销,用于表示当前发生故障时刻与上一个未发生故障的检查点之间的时间间隔;cp(T)为发生故障的故障周期T中检查点的频率,φ为重新计算时间系数,且0<φ<1。
所述S(T)的计算公式为:
S(T)=μR1+R2 (1-5)
其中,R1和R2分别为设定level-1型检查点和level-2型检查点的恢复时间开销。
进一步,所述cp(t)的计算公式为:
Figure BDA0001826190850000051
其中,f(t)为移动云系统中故障的概率分布函数;F(t)为移动云系统中故障的累积分布函数;,C1表示设置level-1型检查点开销,C2表示设置level-2型检查点开销;μ+1表示该故障周期中的检查点序列中有(μ+1)个检查点;φ为重新计算时间系数,且0<φ<1;
所述F(t)的计算公式为:
F(t+Z)=P(t+Z|t) (1-6-1)
其中,t表示移动云系统中无故障执行移动应用程序所需的时间,即执行移动应用程序的生命周期,Z表示移动云系统中发生故障的次数;P(t+Z|t)表示在执行移动应用程序的生命周期t中发生Z次故障的概率;
所述f(t)的计算公式为:
Figure BDA0001826190850000052
其中,Z的期望计算公式为:
Figure BDA0001826190850000053
其中,E(Z)表示移动云系统中故障随机发生的期望次数;f(t+Z|t)表示在执行移动应用程序的生命周期t中发生Z次故障的概率分布函数。
本发明的有益效果:本发明根据移动云系统中的故障可恢复程度,将移动云系统中的故障对应的检查点分成两类,分别进行容错配置,并对在移动云系统联合执行的移动应用程序的拓扑结构进行超图化建模,在减少执行移动应用程序的额外时间开销,提高了整个移动云系统的可靠性和可用性,避免了移动云系统发生故障后不可恢复或恢复的开销过大而导致的移动云系统中各数据节点负载不均、长时间过载或宕机现象,且不需要对移动云系统的故障概率作预设,可以适应多种故障概率曲线。
附图说明
下面结合附图和实施例对本发明作进一步描述:
图1为本发明的方法流程图;
图2为执行某移动应用程序的节点拓扑示意图;
图3为设置level-2型检查点的流程示意图;
图4为对level-2型检查点容错配置时用于存放检查点的原始文件和两个副本文件的示意图。
具体实施方式
如图1所示,本发明提供的一种基于分级检查点的移动云系统容错方法,包括步骤:
S1:将移动云系统中节点的检查点分成两级检查点,即移动云系统瞬态资源故障对应的level-1型检查点和移动云系统永久资源故障对应的level-2型检查点;本实施例中,由于移动云系统在执行移动应用程序时,执行移动应用程序的生命周期中包含了多种故障类型,可根据故障的可恢复程度,将移动云系统的故障分为瞬态资源故障和永久资源故障。瞬态资源故障是指在分布式移动云系统执行移动应用程序的处理平台中,由于网络异常断开或任务进程异常卡死、退出而造成的处理平台计算分区内数据意外丢失的故障。在现有的移动云容错配置方法中,若移动云系统节点发生瞬态资源故障,移动云系统可通过瞬态资源故障对应的检查点重启并恢复。所述分布式移动云系统执行任务的处理平台为Spark处理平台。所述永久资源故障是指在分布式的移动云系统中因某个数据节点宕机或数据库中数据意外删除、网络长时间中断等情况而导致该节点不可用的故障。在现有的移动云容错配置方法中,若移动云系统节点发生永久资源故障,则在发生永久资源故障之前保存在永久资源故障对应节点中的检查点文件丢失,从而使得系统无法通过检查点重启并恢复。且现有的移动云容错配置方法随着移动云系统规模的扩大,检查点文件的大小也会相应增加,设置检查点的开销及从故障中恢复的开销将愈来愈难以承受。所述节点是指移动云系统中的数据节点,可执行移动应用程序中相应的任务,比如具有数据库功能的数据节点、具有计算功能的数据节点和具有分配资源和调度功能的数据节点。执行一个移动应用程序需要多个节点联合执行。
S2:设定level-1型检查点数量的占比和level-2型检查点数量的占比;
建立检查点预期总额外时间开销最小化模型,获得使移动云系统中第一个故障周期M1的额外时间开销最小的检查点的频率函数;本实施例中,利用随机更新回报方法对检查点预期总额外时间开销最小化进行优化,具体如下:
随机更新回报模型为:
Figure BDA0001826190850000071
其中,t为移动云系统中任务执行的周期,即任务的生命周期;Mi为移动云系统中第i个故障周期的额外时间开销;M1为移动云系统中第一个故障周期的额外时间开销,所述额外时间开销包括设置分级检查点时间开销、发生故障后重新计算的时间开销和设置分级检查点的移动云系统恢复时间开销;
Figure BDA0001826190850000072
为移动云系统中因设置分级检查点而造成的总体额外时间开销;Z表示移动云系统中发生故障的次数;T1为移动云系统中第一个故障周期的持续时间。本实施例中,设定移动云系统执行一个任务无故障的生命周期为7min41s,即移动云系统内运行一个移动应用程序无故障情况下生命周期为7min41s。第一个故障周期取10620500ms,该故障周期中故障次数为2次,即Z=2
由于移动云系统中故障是随机发生的,可得知每个故障周期的额外时间开销是一个随机变量。根据随机更新回报方法可知,移动云系统中总体额外时间开销的均值可表示为第一个故障周期内的平均额外时间的函数。这将意味着通过最大限度地减少第一个故障周期内的额外浪费时间即可最小化整个移动云系统执行任务(移动应用程序)的生命周期的总体额外时间开销。故步骤S2将检查点预期总额外时间开销最小化问题优化为移动云系统中第一个故障周期M1的额外时间开销最小化问题,这样在保证开销计算精度的同时,减小了开销计算量和计算时间,提高了容错配置的效率。
根据频率函数,获取移动云系统执行移动应用程序过程中检查点的放置时间序列;
S3:在放置时间序列中的各时刻,按照level-1型检查点数量的占比和level-2型检查点数量的占比设置各节点的level-1型检查点和level-2型检查点。由频率函数计算得到移动云系统执行移动应用程序过程中检查点的放置时间序列,并根据该时间序列设置相应的检查点为现有技术,在此不赘述。通过上述方法,有效利用了移动云系统的数据节点资源,快速地将副本文件存放到与原始文件存放的数据节点最近的存储空间大且使用率低的数据节点中,保证了存储原始文件的数据节点发生故障后,特别是发生永久资源故障后,能够快速地获取检查点的副本文件,重启或恢复移动云系统的执行任务,且不需要对移动云系统的故障概率作预设,可以适应多种故障概率曲线。
现有的Spark平台自带容错方法是根据Spark平台中RDD(Resilient DistributedDatasets,弹性分布式数据集)的“血统(lineage)”关系进行恢复。但RDD的“血统”包含窄依赖和宽依赖。若是窄依赖情况,则该RDD的父RDD只有一个,执行恢复时只需找到该父RDD并重新计算即可;若是宽依赖,则该RDD的父RDD不止一个,执行恢复时需找到其全部父RDD并重新计算。然而无论窄宽依赖,均可能出现父RDD亦丢失情况,则需找寻它们的祖先RDD并重新计算。归因于RDD的这种级联操作,当RDD的“血统”过长时将导致恢复开销难以承受。
本实施例中,针对移动云系统瞬态资源故障设置level-1型检查点,移动云系统在执行移动应用程序时,执行移动应用程序发生瞬态资源故障使某一节点RDD丢失,利用Spark处理平台中的弹性分布式数据集(RDD)的谱系感知,在回溯该节点的RDD谱系链的过程中,一旦遇到该节点的某一层级的某一父RDD也丢失,在放置时间序列中的ti时刻该父RDD设置了level-1型检查点,那么在回溯该节点的RDD谱系链的过程中无需继续回溯该父RDD的父RDD,只需要读取该父RDD的level-1型检查点存储的信息即可用于恢复正在执行的移动应用程序。当移动应用程序成功执行完毕后,释放所有level-1型检查点。由于释放level-1型检查点的操作可与该level-1型检查点对应的数据节点继续执行其他任务并行,所以,释放level-1型检查点的时间开销不算进整个执行任务的额外时间开销,即不算进执行整个移动应用程序的额外时间开销。设置level-1型检查点降低了移动云系统在执行移动应用程序时发生瞬态资源故障后重启发生故障的节点并恢复移动应用程序的时间开销,具有更强的实用性。具体地,如图2所示,在执行某一移动应用程序时,发生瞬态资源故障导致节点RDD12丢失后,由于RDD12是由RDD10和RDD5共同计算得到,故为了重启和恢复该移动应用程序,需回溯到RDD10和RDD5的位置,但又发现RDD5也丢失,按照Spark平台中RDD的“血统(lineage)”关系又需要回溯到RDD3和RDD6,而本申请中在放置时间序列中的某时刻在RDD5中设置level-1型检查点,将RDD5的信息复制到level-1型检查点的原始文件中,在回溯到已丢失信息的RDD5时,无需继续回溯RDD5的父RDD(RDD3和RDD6),只需要读取level-1型检查点存储的RDD5的信息即可,这样在恢复瞬态资源故障时,只需要回溯上一级的父RDD即可,无需找到所有层级父RDD并重新计算,大大降低了重启和恢复移动应用程序的时间开销,有效避免了庞大的级联操作和宕机等现象的发生。
如图3所示,所述步骤S3中设置level-2型检查点包括步骤:
S31:将移动云系统的拓扑结构映射到超图结构中,并对超图结构中的各节点进行编码;
S32:将每个level-2型检查点的原始文件存该level-2型检查点所属节点的稳定存储器中;本实施例中,编码位数由数据节点规模唯一确定。例如,移动云系统的拓扑中有三十二个数据节点,则数据节点的二进制编码为5位二进制数。将数据节点编码后可以获取到各数据节点之间的海明距离,即获取到各数据节点之间地理位置分布距离映射到超图结构后的距离。本实施例中,检查点的原始文件对应的超图结构节点的稳定存储器称为localHDFS。
S33:为level-2型检查点的原始文件制作两个副本文件;
S34:建立超图结构中节点的优先权重计算模型,计算节点的优先权重;
S35:从生成level-2型检查点的节点所属超边的节点集合中,筛选出优先权重最小的节点,将其中一个副本文件存储在该优先权重最小的节点的稳定存储器中,该稳定存储器称为hyperedge HDFS;例如:在执行某移动应用程序的移动云系统中,level-2型检查点对应的超图结构节点所属超边的节点集合中各数据节点的优先权重如表1所示。
表1各数据节点的优先权重表Ⅰ
Figure BDA0001826190850000101
则步骤S35中将其中一个副本文件存储在DataNode0的稳定存储器中。
S36:根据各节点的编码,计算得到与level-2型检查点对应的超图结构节点的海明距离为1的节点集合;
S37:从与level-2型检查点对应的超图结构节点的海明距离为1的节点集合中排除已存入其中一个副本文件的节点,从剩余数据节点中筛选出优先权重最小的节点,将另一个副本文件存储在该优先权重最小的节点的稳定存储器中。本实施例中,设置level-2型检查点对其进行容错处理,利用冗余备份方式将数据节点中的数据定期备份到其他节点,在该节点不可用时,读取备份节点中的数据对移动云系统进行恢复。例如,在执行某移动应用程序的移动云系统中,与数据节点DataNode1(编码为00001)海明距离为1的各节点分别为DataNode0(编码为00000)、DataNode3(编码为00011)、DataNode5(编码为00101)、DataNode9(编码为01001)、DataNode17(编码为10001),它们的节点优先权重如表2所示。
表1各数据节点的优先权重表Ⅱ
Figure BDA0001826190850000111
除DataNode0外,DataNode5的优先权重最小,故将第二个检查点文件的副本存放于DataNode5的稳定存储器中。通过上述方法,将移动云系统中的故障对应的检查点分成两类,分别进行容错配置,并对在移动云系统联合执行的移动应用程序的拓扑结构进行超图化建模,在减少执行移动应用程序的额外时间开销,提高了整个移动云系统的可靠性和可用性,避免了移动云系统发生故障后不可恢复或恢复的开销过大而导致的移动云系统中各数据节点负载不均、长时间过载或宕机现象。本实施例中,通过分析Hadoop写入操作过程发现,其默认的机架感知存储策略是将数据文件及副本随机选择一个机架中的任意数据节点存放数据的原始文件;将第一个副本随机存储在除第一个机架以外机架的任意数据节点中;将第二个副本随机存储在与第二个副本同机架但不同的节点中。该策略虽能对移动云系统进行冗余备份,但是在数据量非常大,数量可达TG级甚至PG级,这将导致系统中各节点负载不均,容易出现长时间过载甚至宕机现象。故通过步骤S34对副本文件的存储文件的数据节点进行定量选择,即通过定量计算依次筛选出存储原始文件的数据节点中所述超边中剩余存储空间大且使用率低的节点,用于存放其中一个副本文件;然后再在与存储原始文件的数据节点海明距离为1的数据节点中筛选出剩余存储空间大且使用率低的数据节点,用于存放剩余的副本文件。本实施例中,level-1型检查点对应的是在执行移动应用程序任务的节点检车点,其处理层级属于任务级,而level-2型检查点对应是在移动云系统的数据节点,其处理层级属于数据节点级。通过上述方法,有效利用了移动云系统的数据节点资源,快速地将副本文件存放到与原始文件存放的数据节点最近的存储空间大且使用率低的数据节点中,保证了存储原始文件的数据节点发生故障后,特别是发生永久资源故障后,能够快速地获取检查点的副本文件,重启并恢复移动云系统执行的移动应用程序,且不需要对移动云系统的故障概率作预设,可以适应多种故障概率曲线。
所述步骤S31包括步骤:
S311:建立移动云系统的超图结构,具体如下:
初始化集合V,V={v1,v2,……vn},v1,v2,……vn为移动云系统中的数据节点,n为移动云系统中数据节点的数量;
设定集合V的子集Xi,所述子集Xi中的元素为联合执行第i个移动应用程序的所有节点;
将移动云系统中的数据节点v1,v2,……vn映射为超图结构中的顶点;设定集合E,E={E1,E2,……Em},E1,E2,……,Em分别表示连接移动云系统中的子集X1,X2,……,Xm中数据节点的超边,得到移动云系统的超图H=(V,E),其中Ej≠φ(j=1,2,...,m)且
Figure BDA0001826190850000121
其中m为移动云系统执行应用程序的数量,φ为空集,
Figure BDA0001826190850000122
表示对E1,E2,……,Em取并集等于集合V;由超图的定义可知,超图不同于传统图之处在于,超图的边是连接顶点集的一个子集中的所有顶点而得到的,超边允许两个顶点之间相连的边同时属于多条超边,这较传统的一线连两点的方式,更能完整的表达出数据流结构的多种可能,具有更强的实用性。
S312:对移动云系统中的数据节点进行二进制编码。本实施例中,将32个数据节点的移动云系统拓扑映射为超图结构,并对各数据节点进行5位二进制编码(DN00000,DN00001,...,DN11111)。该超图覆盖模型共3条超边,分别是E1(00111,00100,00000,00001,01001),E2(00100,00111,00110,10110,11110),E3(00101,01101,01001,11010),如图4所示给出了level-2型检查点容错配置的用于存放检查点的原始文件和两个副本文件的示意图。本实施例中,通过对移动云系统拓扑结构的特征进行分析发现,移动云系统中各数据节点是地理位置分布的;对特定应用程序的处理,需要多个数据节点联合执行任务处理。而超图是一种无向图,超图的一条超边是由超图中顶点集的一个子集连接组成。因此考虑本方案将超图中的超边映射到移动云系统中联合处理应用程序的数据节点集。采用这种超图结构覆盖移动云拓扑的方式对联合执行给定应用程序的拓扑结构进行超图化建模,能够进一步减少执行移动应用程序的额外时间开销,均衡各数据节点的负载。本实施例中,根据计算出的分级检查点频率函数cp(t),计算出具体的设置检查点时刻ti(i=1,2,3…),并在这些时刻执行对应层级的检查点操作。然后,继续执行任务并检测移动云系统是否发生故障,若无故障则继续执行直至任务完成;若有故障发生,则判断故障类型,根据其类型进行相应的检查点重启或恢复处理。
所述超图结构中节点的优先权重计算模型为:
A=a·Nmem+b·Ncpu+c·Nsysload (1)
其中,A表示超图结构的移动云系统节点的优先权重;Nmem表示超图结构的移动云系统节点的剩余存储属性的百分比;Ncpu表示超图结构的移动云系统节点的CPU资源属性的百分比;Nsysload表示超图结构的移动云系统节点的平均每五分钟负载属性;a表示Nmem的优先因子,b表示Ncpu的优先因子,c表示Nsysload的优先因子。本实施例中,根据三元组数据节点资源数据Nmem、Ncpu和Nmem和它们的优先因子a、b、c来定量地计算与检查点的原始文件存放的数据节点所属超边中剩余数据节点中优先权重最小的数据节点,以及排除已存放副本文件的数据中与检查点的原始文件存放的数据节点海明距离为1的数据节点中优先权重最小的数据节点,来分别存放两个副本文件。
所述a的取值范围为0.4~0.6,所述b的取值范围为0.15~0.3,所述c的取值范围为0.15~0.3;且a+b+c=1。本实施例中,Nmem的优先因子a取0.5,Ncpu的优先因子b取0.3,Nsysload的优先因子c取0.2;由于每个数据节点均包含了CPU资源、剩余存储资源和平均每5分钟的系统负载资源,因此可以通过(1)式分别计算出每个数据节点的优先权重A。
步骤S2中建立检查点预期总额外时间开销最小化模型包括:以减小检查点总额外时间开销为目标函数,建立检查点预期总额外时间开销最小化模型,所述检查点预期总额外时间开销最小化模型为:
min E(M1) (1-1)
其中,M1表示移动云系统中第一个故障周期;E(M1)表示移动云系统中第一个故障周期的检查点预期总额外时间开销的期望。本实施例中,min E(M1)表示取E(M1)的最小值。min E(M1)可以通过多种现有的方法获得,例如遗传算法、粒子群算法和神经网络算法等方法,也可以将所有的E(M)的可能取值全部计算出来,然后对其进行大小排序得到最小的E(M1)。本实施中,采用粒子群算法,以移动云系统故障概率作为速度向量,设置检查点的时刻作为位置向量,设置粒子群算法的迭代次数gmax最大值为5,当达到最大迭代次数时,迭代终止,输出当前位置向量为最优检查点时刻,在最优检测点时刻设置两级检查点,可以使E(M1)最小。
所述E(M1)的计算公式为:
E(M)=I(T)+R(T)+S(T) (1-2)
I(T)表示设置分级检查点的时间开销,R(T)为发生故障后重新计算的时间开销;S(T)表示设置分级检查点的移动云系统恢复时间开销,T为移动云系统发生故障的故障周期中检查点间隔时间;M表示移动云系统的故障周期。在计算E(M1),将M1作为M带入(1-2)式即可计算得到E(M1)。
所述I(T)的计算公式为:
Figure BDA0001826190850000151
其中,C1表示设置level-1型检查点开销,C2表示设置level-2型检查点开销;ti(i=1,2,...)表示检查点的放置时间序列;在移动云系统中的移动应用程序开始执行直到系统发生故障的故障周期内,设定该故障周期中的检查点序列中有(μ+1)个检查点,则设定level-1型检查点数量的占比为
Figure BDA0001826190850000152
level-2型检查点数量的占比为
Figure BDA0001826190850000153
所述cp(t)为分级检查点的频率函数。本实施例中,C1=10ms,C2=8000ms,μ=19。第一个故障周期内检查点序列中共有(19+1)个检查点,那么设置分级检查点的开销为
Figure BDA0001826190850000154
所述R(T)的计算公式为:
Figure BDA0001826190850000155
其中,R(T)为发生故障后重新计算的时间开销,用于表示当前发生故障时刻与上一个未发生故障的检查点之间的时间间隔;cp(T)为发生故障的故障周期T中检查点的频率,φ为重新计算时间系数,且0<φ<1;在本实施例中,取第一个故障周期时间值为T,重新计算时间系数φ为0.5。
所述S(T)的计算公式为:
S(T)=μR1+R2 (1-5)
其中,R1和R2分别为设定level-1型检查点和level-2型检查点的恢复时间开销。本实施例中,R1=1.66ms,R2=2.34ms,则在第一个故障周期中,S(T)为(19×1.66+2.34)=33.84ms。将(1-3)式至(1-5)式带入(1-2)式,得到
Figure BDA0001826190850000156
然后将第一个故障周期M1带入(1-2’)式,得到E(M1)。本实施例中,
Figure BDA0001826190850000161
其中,所述cp(t)的计算公式为:
Figure BDA0001826190850000162
其中,f(t)为移动云系统中故障的概率分布函数;F(t)为移动云系统中故障的累积分布函数;,C1表示设置level-1型检查点开销,C2表示设置level-2型检查点开销;μ+1表示该故障周期中的检查点序列中有(μ+1)个检查点;φ为重新计算时间系数,且0<φ<1。
所述F(t)的计算公式为:
F(t+Z)=P(t+Z|t) (1-6-1)
其中,t表示移动云系统中无故障执行移动应用程序所需的时间,即执行移动应用程序的生命周期,Z表示移动云系统中发生故障的次数;P(t+Z|t)表示在执行移动应用程序的生命周期t中发生Z次故障的概率;
所述f(t)的计算公式为:
Figure BDA0001826190850000163
其中,Z的期望计算公式为:
Figure BDA0001826190850000164
其中,E(Z)表示移动云系统中故障随机发生的期望次数;f(t+Z|t)表示在执行移动应用程序的生命周期t中发生Z次故障的概率分布函数。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (9)

1.一种基于分级检查点的移动云系统容错方法,其特征在于:包括步骤:
S1:将移动云系统中节点的检查点分成两级检查点,即移动云系统瞬态资源故障对应的level-1型检查点和移动云系统永久资源故障对应的level-2型检查点;
S2:设定level-1型检查点数量的占比和level-2型检查点数量的占比;
建立检查点预期总额外时间开销最小化模型,获得使移动云系统中第一个故障周期M1的额外时间开销最小的检查点的频率函数;
根据频率函数,获取移动云系统执行移动应用程序过程中检查点的放置时间序列;
S3:在放置时间序列中的各时刻,按照level-1型检查点数量的占比和level-2型检查点数量的占比设置各节点的level-1型检查点和level-2型检查点;
所述步骤S3中设置level-2型检查点包括步骤:
S31:将移动云系统的拓扑结构映射到超图结构中,并对超图结构中的各节点进行编码;
S32:将每个level-2型检查点的原始文件存该level-2型检查点所属节点的稳定存储器中;
S33:为level-2型检查点的原始文件制作两个副本文件;
S34:建立超图结构中节点的优先权重计算模型,计算节点的优先权重;
S35:从生成level-2型检查点的节点所属超边的节点集合中,筛选出优先权重最小的节点,将其中一个副本文件存储在该优先权重最小的节点的稳定存储器中;
S36:根据各节点的编码,计算得到与level-2型检查点对应的超图结构节点的海明距离为1的节点集合;
S37:从与level-2型检查点对应的超图结构节点的海明距离为1的节点集合中排除已存入其中一个副本文件的节点,从剩余数据节点中筛选出优先权重最小的节点,将另一个副本文件存储在该优先权重最小的节点的稳定存储器中。
2.根据权利要求1所述基于分级检查点的移动云系统容错方法,其特征在于:所述步骤S31包括步骤:
S311:建立移动云系统的超图结构,具体如下:
初始化集合V,V={v1,v2,……vn},v1,v2,……vn为移动云系统中的数据节点,n为移动云系统中数据节点的数量;
设定集合V的子集Xi,所述子集Xi中的元素为联合执行第i个移动应用程序的所有节点;
将移动云系统中的数据节点v1,v2,……vn映射为超图结构中的顶点;设定集合E,E={E1,E2,……Em},E1,E2,……,Em分别表示连接移动云系统中的子集X1,X2,……,Xm中数据节点的超边,得到移动云系统的超图H=(V,E),其中Ej≠φ(j=1,2,...,m)且
Figure FDA0003185488330000021
其中m为移动云系统执行应用程序的数量,φ为空集,
Figure FDA0003185488330000022
表示对E1,E2,……,Em取并集等于集合V;
S312:对移动云系统中的数据节点进行二进制编码。
3.根据权利要求1所述基于分级检查点的移动云系统容错方法,其特征在于:所述超图结构中节点的优先权重计算模型为:
A=a·Nmem+b·Ncpu+c·Nsysload (1)
其中,A表示超图结构的移动云系统节点的优先权重;Nmem表示超图结构的移动云系统节点的剩余存储属性的百分比;Ncpu表示超图结构的移动云系统节点的CPU资源属性的百分比;Nsysload表示超图结构的移动云系统节点的平均每五分钟负载属性;a表示Nmem的优先因子,b表示Ncpu的优先因子,c表示Nsysload的优先因子。
4.根据权利要求3所述基于分级检查点的移动云系统容错方法,其特征在于:所述a的取值范围为0.4~0.6,所述b的取值范围为0.15~0.3,所述c的取值范围为0.15~0.3;且a+b+c=1。
5.根据权利要求1所述基于分级检查点的移动云系统容错方法,其特征在于:步骤S2中建立检查点预期总额外时间开销最小化模型包括:以减小检查点总额外时间开销为目标函数,建立检查点预期总额外时间开销最小化模型,所述检查点预期总额外时间开销最小化模型为:
min E(M1) (1-1)
其中,M1表示移动云系统中第一个故障周期;E(M1)表示移动云系统中第一个故障周期的检查点预期总额外时间开销的期望。
6.根据权利要求5所述基于分级检查点的移动云系统容错方法,其特征在于:所述E(M1)的计算公式为:
E(M)=I(T)+R(T)+S(T) (1-2)
I(T)表示设置分级检查点的时间开销,R(T)为发生故障后重新计算的时间开销;S(T)表示设置分级检查点的移动云系统恢复时间开销,T为移动云系统发生故障的故障周期中检查点间隔时间;M表示移动云系统的故障周期。
7.根据权利要求6所述基于分级检查点的移动云系统容错方法,其特征在于:所述I(T)的计算公式为:
Figure FDA0003185488330000031
其中,C1表示设置level-1型检查点开销,C2表示设置level-2型检查点开销;ti(i=1,2,...)表示检查点的放置时间序列;在移动云系统中的移动应用程序开始执行直到系统发生故障的故障周期内,设定该故障周期中的检查点序列中有(μ+1)个检查点,则设定level-1型检查点数量的占比为
Figure FDA0003185488330000032
level-2型检查点数量的占比为
Figure FDA0003185488330000033
所述cp(t)为分级检查点的频率函数。
8.根据权利要求6所述基于分级检查点的移动云系统容错方法,其特征在于:所述R(T)的计算公式为:
Figure FDA0003185488330000034
其中,R(T)为发生故障后重新计算的时间开销,用于表示当前发生故障时刻与上一个未发生故障的检查点之间的时间间隔;cp(T)为发生故障的故障周期T中检查点的频率,φ为重新计算时间系数,且0<φ<1;
所述S(T)的计算公式为:
S(T)=mR1+R2 (1-5)
其中,R1和R2分别为设定level-1型检查点和level-2型检查点的恢复时间开销。
9.根据权利要求7所述基于分级检查点的移动云系统容错方法,其特征在于:所述cp(t)的计算公式为:
Figure FDA0003185488330000041
其中,f(t)为移动云系统中故障的概率分布函数;F(t)为移动云系统中故障的累积分布函数;C1表示设置level-1型检查点开销,C2表示设置level-2型检查点开销;μ+1表示该故障周期中的检查点序列中有(μ+1)个检查点;φ为重新计算时间系数,且0<φ<1;
所述F(t)的计算公式为:
F(t+Z)=P(t+Z|t) (1-6-1)
其中,t表示移动云系统中无故障执行移动应用程序所需的时间,即执行移动应用程序的生命周期,Z表示移动云系统中发生故障的次数;P(t+Z|t)表示在执行移动应用程序的生命周期t中发生Z次故障的概率;
所述f(t)的计算公式为:
Figure FDA0003185488330000042
其中,Z的期望计算公式为:
Figure FDA0003185488330000043
其中,E(Z)表示移动云系统中故障随机发生的期望次数;f(t+Z|t)表示在执行移动应用程序的生命周期t中发生Z次故障的概率分布函数。
CN201811185931.8A 2018-10-11 2018-10-11 基于分级检查点的移动云系统容错方法 Active CN109344009B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811185931.8A CN109344009B (zh) 2018-10-11 2018-10-11 基于分级检查点的移动云系统容错方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811185931.8A CN109344009B (zh) 2018-10-11 2018-10-11 基于分级检查点的移动云系统容错方法

Publications (2)

Publication Number Publication Date
CN109344009A CN109344009A (zh) 2019-02-15
CN109344009B true CN109344009B (zh) 2021-09-14

Family

ID=65309688

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811185931.8A Active CN109344009B (zh) 2018-10-11 2018-10-11 基于分级检查点的移动云系统容错方法

Country Status (1)

Country Link
CN (1) CN109344009B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110162423B (zh) * 2019-05-21 2021-04-13 联想(北京)有限公司 资源检查方法和资源检查装置
CN110990197B (zh) * 2019-11-29 2023-06-06 西安交通大学 一种基于超级计算机的应用级多层检查点的优化方法
CN116361060B (zh) * 2023-05-25 2023-09-15 中国地质大学(北京) 一种多特征感知的流计算系统容错方法和系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103778031A (zh) * 2014-01-15 2014-05-07 华中科技大学 一种云环境下的分布式系统多级故障容错方法
CN105681052A (zh) * 2016-01-11 2016-06-15 天津大学 一种用于数据中心分布式文件存储的节能方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103778031A (zh) * 2014-01-15 2014-05-07 华中科技大学 一种云环境下的分布式系统多级故障容错方法
CN105681052A (zh) * 2016-01-11 2016-06-15 天津大学 一种用于数据中心分布式文件存储的节能方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A user-level infiniband-based file system and checkpoint strategy for burst buffers;Kento Sato.et.al.;《 Proceedings of the 14th IEEE/ACM International Symposium on Cluster, Cloud, and Grid Computing》;20140331;全文 *
基于检查点机制的系统性能优化技术研究;赵军;《中国优秀硕士学位论文全文数据库 信息科技辑》;20130315(第03期);第三章 *

Also Published As

Publication number Publication date
CN109344009A (zh) 2019-02-15

Similar Documents

Publication Publication Date Title
US10715181B2 (en) Facilitation of data deletion for distributed erasure coding
CN109344009B (zh) 基于分级检查点的移动云系统容错方法
Plank et al. Diskless checkpointing
US10719250B2 (en) System and method for combining erasure-coded protection sets
US10956276B2 (en) System state recovery in a distributed, cloud-based storage system
US10892782B2 (en) Flexible system and method for combining erasure-coded protection sets
US8504517B2 (en) Systems and methods for selective data replication
CN107003933B (zh) 部分复制码的构建方法、装置及其数据修复的方法
Qiao et al. Fault tolerance in iterative-convergent machine learning
CN111614720B (zh) 针对集群存储系统单点失效修复的跨集群流量优化方法
Benoit et al. Assessing general-purpose algorithms to cope with fail-stop and silent errors
Aupy et al. On the combination of silent error detection and checkpointing
Taranov et al. Fast and strongly-consistent per-item resilience in key-value stores
Sato et al. Fmi: Fault tolerant messaging interface for fast and transparent recovery
CN116601596A (zh) 使用数据相似度来选择分段进行垃圾收集
George et al. Fault tolerance on large scale systems using adaptive process replication
Venkatesan et al. Effect of codeword placement on the reliability of erasure coded data storage systems
CN111045843B (zh) 具有容错能力的分布式数据处理方法
Esmaili et al. The core storage primitive: Cross-object redundancy for efficient data repair & access in erasure coded storage
Dauwe et al. An analysis of resilience techniques for exascale computing platforms
CN107153661A (zh) 一种基于hdfs系统的数据的存储、读取方法及其装置
Tang et al. Self-checkpoint: An in-memory checkpoint method using less space and its practice on fault-tolerant HPL
CN110888761A (zh) 一种基于关键任务部分主动备份的容错方法和流处理平台
Tang et al. An efficient in-memory checkpoint method and its practice on fault-tolerant HPL
CN115878052B (zh) Raid阵列巡检方法、巡检装置和电子设备

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