CN113342487A - 一种基于在线容错的云计算资源调度方法 - Google Patents

一种基于在线容错的云计算资源调度方法 Download PDF

Info

Publication number
CN113342487A
CN113342487A CN202110568571.5A CN202110568571A CN113342487A CN 113342487 A CN113342487 A CN 113342487A CN 202110568571 A CN202110568571 A CN 202110568571A CN 113342487 A CN113342487 A CN 113342487A
Authority
CN
China
Prior art keywords
component
fault
fault tolerance
cloud
reliability
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
CN202110568571.5A
Other languages
English (en)
Other versions
CN113342487B (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.)
Nanjing University of Aeronautics and Astronautics
State Grid Corp of China SGCC
State Grid Shanghai Electric Power Co Ltd
Nari Information and Communication Technology Co
Original Assignee
Nanjing University of Aeronautics and Astronautics
State Grid Corp of China SGCC
State Grid Shanghai Electric Power Co Ltd
Nari Information and Communication Technology Co
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 Nanjing University of Aeronautics and Astronautics, State Grid Corp of China SGCC, State Grid Shanghai Electric Power Co Ltd, Nari Information and Communication Technology Co filed Critical Nanjing University of Aeronautics and Astronautics
Priority to CN202110568571.5A priority Critical patent/CN113342487B/zh
Publication of CN113342487A publication Critical patent/CN113342487A/zh
Application granted granted Critical
Publication of CN113342487B publication Critical patent/CN113342487B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • 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/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明公开了一种基于在线容错的云计算资源调度方法。在线容错包含静态容错和动态容错两个方面,针对反应容错方法备份成本高的问题,静态容错通过马尔科夫模型,筛选出关键组件,对其进行备份,提高备份组件的准确性,仅对少数组件备份便可达到很好的容错效果,即对使用频率高、功能重要的组件进行备份;针对主动容错监控成本高,动态容错通过数学建模的方式,分析各个组件的可靠性,可以通过少量指标就可以获得组件的实时状态,在故障发生时,迅速选择监控组件进行替换;以此提高了云计算系统的可靠性并减少云计算容错过程的成本开销。

Description

一种基于在线容错的云计算资源调度方法
技术领域
本发明属于云计算技术领域,具体涉及一种基于在线容错的云计算资源调度方法。
背景技术
随着云计算、物联网、5G、大数据以及人工智能的不断普及和广泛应用,通过新一代信 息化技术不断实现各类资源的整合与共享,逐步形成一种全新的大规模复杂云系统。由于参 与计算的节点种类多样、位置分布稀疏且通常无法有效控制,容易产生安全问题;并且云服 务供应商在传输、处理和存储的过程中均存在网络拥塞的风险,如何提高系统容错能力、实 现高效快速计算成为新的挑战。
容错被定义为系统即使在出现故障时仍能继续执行其预期任务的能力。没有容错能力, 即使是一个设计精良,具有最佳组件和服务的系统也不能被认为是可靠的。因此,服务可靠 性对于广泛的云计算应用至关重要。目前,云计算领域容错方法,分为主动性方法和反应性 方法。主动容错在实际问题发生前进行检测,预测故障并替换可疑组件。反应容错则是当故 障发生时,反应性容错减少故障对应用程序执行的影响。
基于主动容错的方法:通过对系统状态进行持续监控,并使用人工智能算法估计组件故 障发生率。然后采取必要的措施来防止故障的发生,这些方法是基于概率统计的。主要包括: 自我修复(Self-Healing)、抢占迁移(Pre-emptive migration)、系统复兴(System rejuvenation) 等方法;
基于反应容错的方法:一般在故障发生后对其进行处理,使用系统维护程序来消除发生 的故障的影响。基于反应容错的方法不需要检查系统的行为,因此不会造成任何不必要的开 销。主要包括:检查点技术、虚拟机迁移、复写(Replication)等方法;
传统的容错方法虽然应用广泛,但存在以下问题:
(1)基于主动容错的方法需要对系统进行持续监控,由于云计算组件众多,结构复杂, 对所有组件通过额外的监控组件进行监控,会消耗大量的云计算资源,产生巨大功耗,造成 极大的成本负担;
(2)基于反应容错的方法在故障发生后进行,例如复写技术(Replication),通过备份组 件,保证系统的可靠性,但缺乏对组件的分析,若对所有组件进行备份,也会造成极大的资 源浪费。
发明内容
针对现有技术中的不足,本发明综合主动容错与反应容错的特点,提供一种基于在线容 错的云计算资源调度方法。本发明的目的在于提高云计算系统的可靠性、减少云计算容错过 程的成本开销。本发明的技术解决方案为:通过建立马尔科夫模型计算云组件的可靠性,静 态容错方法通过LeaderRank算法对组件进行排名,选出关键组件进行备份;系统发生故障时, 通过动态容错方法,筛选健康组件,进行快速替换,以此达到提高云计算系统的可靠性、降 低容错成本的目的,主要内容包括:
为实现上述目的,本发明采用以下技术方案:一种基于在线容错的云计算资源调度方法, 包括如下步骤:
S1、云计算资源调度任务划分过程:将任务集合与资源池中的云组件集合进行匹配;
S2、在线容错过程:在线容错考虑调度过程中云计算组件故障,旨在以最低成本,完成 用户提交的任务,做到系统成本低,用户完成时间短的目标。首先通过静态容错筛选关键组 件(比如一个支付系统中负责支付功能的组件)对其备份,避免对全部组件进行备份,节约 成本;当系统发生故障时,通过动态容错,寻找可靠性高的组件进行替换,排除故障,及时 完成用户的任务;
S3、资源调度过程:上述过程,发生了多次调度。静态容错为对关键组件进行备份,为 第一次调度;即根据用户的任务,分配相应的组件,对关键组件备份,为资源调度提供蓝图; 云系统执行期间,若发生故障,如果判断是非关键组件故障,静态容错无法发挥作用,则需 要进行再次调度,通过动态容错找到替换组件,使任务正常运行;达到容错的目的。
为了解决在线容错产生的求解时间变长、寻找替换组件困难的问题,设计评价函数E, 将用户完成时间T以及组件的替换成本作为目标,使用线性加权法进行多目标优化,简化求 解目标,从理论上缩短计算量;其次,对于多次调度,仅采用一种调度算法不能快速、高效 求解,故需要设计新的调度算法。发生多次调度时,设计最大评价值优先算法(MEF算法), 将评价函数E作为适应度函数,将PSO算法与PBIL算法进行结合;采用PSO算法对种群进 行初始化,初步确定求解范围,通过静态容错筛选关键组件;接着采用PBIL算法,从宏观 控制种群进化方向,调用动态容错,排除故障,完成用户任务,进而更快得到最优分配以Task1,Task2,...Taskn及相应的评价值,实现多目标优化的资源调度。实现多目标优化的资源 调度。
具体过程如下:
(1)构建基于多目标优化的评价函数
静态容错通过对关键组件备份,可以实现用较低的成本达到较好的容错效果,完成初步 调度;调度过程中发生故障,再次调度,调用动态容错,在两个关键组件之间寻找替换组件, 缩短用户完成时间,保障任务顺利进行。整个过程中,用户完成时间T、动态容错成本C、 系统延迟D,以及系统可用性A,共同影响资源调度的效率。通过线性加权法,设计评价函 数E,来反映资源调度的效率。
(2)基于PSO算法初始化种群
由于粒子群算法PSO可设置大量的粒子充斥解空间,增大搜索到更优解的概率,拥有较 好的全局搜索能力;适用于本发明的资源调度方法。静态容错时,PSO算法对种群进行初始 化,初步确定求解范围,即对资源调度做出初步规划。
(3)基于PBIL算法求解动态容错
执行任务发生故障时,动态容错强调寻找替换组件,是一种局部调度,因此,使用PBIL 算法继续求解。PBIL算法是一种基于现有解学习的进化算法,算法基于当前优秀个体的学习 得到概率模型,通过概率模型控制产生新的群体。通过PSO算法初试化种群之后,采用PBIL 算法继续求解,这里用评价值作为适应度函数,比遗传算法的交叉变异有更高的效率,最终 得到了在系统评价值最大的情况下的资源分配情况,即让每个云任务都得到了最优的云组件 去处理。
为优化上述技术方案,采取的具体措施还包括:
进一步地,步骤S2包括:
S21、可靠性建模过程:云组件执行任务时,会发生故障,但云组件长时间运行错误的发 生率不是一个恒定不变的量而是随时间t变化的函数,故在线容错算法利用NHPP模型(非 齐次泊松过程模型),描述时间变量和软件的累计故障数。根据云组件故障的严重程度,分为 一般性失效与严重性失效;针对以上两种故障,分别采用静态容错与动态容错两种方法解决;
S22、静态容错过程:针对云组件的一般性失效,通过对关键组件备份,实现用较低的成 本达到较好的容错效果,完成初步调度;静态容错考虑组件本身可靠性R以及完成过程可靠 性Pt,采用改进的LeaderRank算法对组件进行排名,以此筛选出关键组件;
S23、动态容错过程:动态容错针对云组件的严重性失效,多发生在云组件执行过程。故 障产生时,在两个关键组件之间,寻找替换服务组件,可以达到优良的容错效果,其实质是 一种查找替代组合的算法。通过采用启发式替代路径搜索算法,将贪婪函数和松弛函数作为 启发式函数求解,以找到接近最优的替换组件。
进一步地,一般性失效故障的期望函数m(t)性质如下:
Figure BDA0003080675700000041
根据以上假设,可以得到:
m(t+Δr)-m(t)=θ1[a-m(t)]Δt+o(t)
Figure BDA0003080675700000042
Figure BDA0003080675700000043
其中,a表示云组件总故障数;xi表示故障间隔,i=1,2......;R表示第i次失效发生后 云组件可靠性;r表示云组件运行的时间;θ1表示云组件发生一般性失效故障的故障率。
同理,云组件发生严重性失效时,
Figure BDA0003080675700000044
其云组件可靠性函数R 如下:
Figure BDA0003080675700000045
θ2表示云组件发生严重性失效故障的故障率;
静态容错完成过程可靠性Pt定义如下:
Figure BDA0003080675700000046
Ln表示链接到云组件的设备数量,Sn表示过程结构类型的数量,e-λt是时间加权指数, 表示过程可靠性随时间的下降程度;
假设有n个云计算组件,迭代矩阵M是n维方阵:
Figure BDA0003080675700000047
Figure BDA0003080675700000048
表示组件i到j的转移概率,
Figure BDA0003080675700000049
是邻接矩阵,表示i到j的权重。
进一步地,动态容错是在两个关键组件之间,替换发生故障的服务,并同时满足QoS约 束,将问题抽象为0-1整数约束的多目标优化问题,其公式如下:
Figure BDA00030806757000000410
其中,Tcons,Dcons,Ccons,Acons是为保证用户QoS需求的最低标准,Tcons表示用户完成时 间QoS要求,Dcons表示延迟时间QoS要求,Ccons表示容错成本QoS要求,Acons表示系统 可用性QoS要求,不可能为0,故贪婪函数G:
Figure BDA0003080675700000051
松弛函数H:
Figure BDA0003080675700000052
进一步地,把松弛函数作为资源调度算法的评价函数,将E作为评价函数,将松弛函数的 权重系数简化为[0.25,0.25,0.25,0.25],
Figure BDA0003080675700000053
将静态容错评价函数E的动态容错成本C看做Ccons,同理系统延迟D看做Dcons,并且系统可用性A看做Acons,静态容错的评价函数为:
Figure BDA0003080675700000054
进一步地,云服务过程中系统延迟D如下:
Figure BDA0003080675700000055
容错成本C如下:
Figure BDA0003080675700000056
Dd表示故障检测延迟,Dm表示故障迁移延迟,
Figure BDA0003080675700000057
表示软件响应延迟,
Figure BDA0003080675700000058
表示硬件响 应延迟,
Figure BDA0003080675700000059
表示网络通讯延迟,
Figure BDA00030806757000000510
表示故障迁成本,
Figure BDA00030806757000000511
表示计算成本,
Figure BDA00030806757000000512
表示负载均衡率。
系统可用性A,指制造服务可以在特定检查时间正常执行的可能性,表示如下:
Figure BDA0003080675700000061
其中
Figure BDA0003080675700000062
表示云组件i发送服务到云组件m+1的过程可靠性,
Figure BDA0003080675700000063
表示云组件i发送服 务到云组件j的过程可靠性,
Figure BDA0003080675700000064
表示云组件i的可靠性,
Figure BDA0003080675700000065
表示在第j个时间内服务i可用 的次数,
Figure BDA0003080675700000066
表示在第j个时间内服务i执行服务的次总数。
进一步地,具体步骤为:
Step 1:通过Map/Reduce机制,将用户的需求统计为不同的任务集合 Task1,Task2,...Taskn,将资源池中的云组件统计为组件集合Cc1,Cc2,...Ccm
Step 2:初始化种群
Figure BDA0003080675700000067
计数器g=0,个体适应度H=0,迭代次数G;
Step 3:PSO算法初始化种群,静态容错筛选关键组件;
Step 4:判断g<G,若满足,执行step 5;若不满足,执行step 11;
Step 5:计算个体适应度H;
Step 6:判断系统是否发生故障,若发生故障,执行step 7;若正常,执行step 8;
Step 7:调用动态容错,排除故障;
Step 8:
Figure BDA0003080675700000068
←根据适应度选择前M个体做为种群解;
Step 9:根据采样策略产生新种群,g=g+1;
Step 10:返回step 4,进行执行程序;
Step 11:得到最优分配策略Og={z1,z2,...,zn},以及系统最大评价值E。
进一步地,Step 3包括如下步骤:
Step 3.1:输入组件的转移矩阵M,随机分配各组件重要程度SRi(0)i=1,...,n+1;
Step 3.2:计算每个组件的重要程度SRi(t);
Step 3.3:更新组件的重要程度;
Step 3.4:判断
Figure BDA0003080675700000069
若满足,执行step 3.5;若不满足,执 行step 3.3;
Step 3.5:分配背景组件给所有组件SRn+1(v);
Step 3.6:得到各组件的重要程度SRi(v),并根据其重要程度进行备份。
进一步地,Step 7包括如下步骤:
Step 7.1:输入各组件的参数D、C、T、A,初始化组件集合Cc,初始化替换组件集合S;
Step 7.2:初始化组件松弛函数H(Ps→o)=0,初始化组件贪婪函数G(Ps→o);
Step 7.3:计算加入i组件后贪婪函数值G(Ps→i),松弛函数值H(Ps→i);
Step 7.4:判断G(Ps→i+Pi→o)<G(Ps→o),H(Ps→i+Pi→o)>H(Ps→o),若满足,执行step7.5;若不满足,执行step7.6;
Step 7.5:将组件i移入集合S,i∈S;
Step 7.6:将i移出集合Cc,并在集合Cc中寻找新i;
Step 7.7:判断
Figure BDA0003080675700000071
若满足,执行step7.8;若不满足,执行step7.3;
Step 7.8:得到最优替换组件集合S。
本发明的有益效果是:本发明的在线容错包含静态容错和动态容错两个方面,针对反应 容错方法备份成本高的问题,静态容错通过马尔科夫模型,筛选出关键组件,对其进行备份, 提高备份组件的准确性,仅对少数组件备份便可达到很好的容错效果,即对使用频率高、功 能重要的组件进行备份;针对主动容错监控成本高,动态容错通过数学建模的方式,分析各 个组件的可靠性,可以通过少量指标就可以获得组件的实时状态,在故障发生时,迅速选择 监控组件进行替换;提高了云计算系统的可靠性并减少云计算容错过程的成本开销。
附图说明
图1为本发明的基于在线容错的云计算资源调度方法总体框架图;
图2为本发明的基于NHPP的可靠性模型图;
图3为本发明的静态容错算法的流程图;
图4为本发明的动态容错算法的流程图;
图5为本发明的MEF算法的流程图;
图6为本发明的静态容错算法效果对比图;
图7为本发明的动态容错算法效果对比图;
图8a为本发明的MEF算法负载在100个节点下执行时间仿真图;
图8b为本发明的MEF算法负载在500个节点下执行时间仿真图;
图9为本发明的MEF算法在Dejong函数上收敛测试对比图。
具体实施方式
现在结合附图对本发明作进一步详细的说明。
需要注意的是,发明中所引用的如“上”、“下”、“左”、“右”、“前”、“后”等的用语,亦仅 为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实 质变更技术内容下,当亦视为本发明可实施的范畴。
如附图1-9所示,本发明提供一种基于在线容错的云计算资源调度方法。在本发明的一 个实施例中,采用公开数据集WS-DREAM作为测试数据,采用CloudSim Plus架构作为测试 框架。首先使用CloudSim Plus和Pajek生成云计算服务网络,将WS-DREAM数据集中的组 件可靠性值(r∈[33%,89%]),然后设置150个节点生成了1000个调用序列,并在这些调用 序列上应用了现有的容错机制,筛选出关键组件进行备份,实现静态容错;在静态容错实验 的基础上,再选择了四个QoS指标:延迟D,时间T,成本C和可用性A,通过对比试验来证明动态容错的有效性;接着在动态容错实验的基础上,再对算法的执行时间进行分析。使用CloudSim Plus建立数据中心,然后由数据中心创建一系列资源如CPU、内存、带宽等、 再向CIS发送注册消息进行注册,一旦注册即可使用、由DatacenterBroker管理信息交互的过程,通过对比试验来分析MEF方法的执行时间;最后为了排除实验过程人为因素的干扰,包括云任务的分配、节点的属性对执行过程的影响,除了进行云任务执行时间测试,还设计了De Jong Function N.5来测试算法的全局搜寻能力以及收敛速度。本发明的总体框图如图1 所示,实施过程如下:
总体步骤为:
Step 1:通过Map/Reduce机制,将用户的需求统计为不同的任务集合 Task1,Task2,...Taskn,将资源池中的云组件统计为组件集合Cc1,Cc2,...Ccm
Step 2:初始化种群
Figure BDA0003080675700000081
计数器g=0,个体适应度H=0,迭代次数G;
Step 3:PSO算法初始化种群,静态容错筛选关键组件;
Step 4:判断g<G,若满足,执行step 5;若不满足,执行step 11;
Step 5:计算个体适应度H;
Step 6:判断系统是否发生故障,若发生故障,执行step 7;若正常,执行step 8;
Step 7:调用动态容错,排除故障;
Step 8:
Figure BDA0003080675700000091
←根据适应度选择前M个体做为种群解;
Step 9:根据根据采样策略产生新种群,g=g+1;
Step 10:返回step 4,进行执行程序;
Step 11:得到最优分配策略Og={z1,z2,...,zn},即 Og={<Task1,Cc2>,...,<Taski,Ccj>},以及系统最大评价值E。
其中Step 3包括如下步骤:
Step 3.1:输入组件的转移矩阵M,随机分配各组件重要程度sRi(0)i=1,...,n+1;
Step 3.2:计算每个组件的重要程度SRi(t);
Step 3.3:更新组件的重要程度
Figure BDA0003080675700000092
Step 3.4:判断
Figure BDA0003080675700000093
若满足,执行step 3.5;若不满足,执 行step 3.3;
Step 3.5:分配背景组件给所有组件SRn+1(v)
Figure BDA0003080675700000094
Step 3.6:得到各组件的重要程度SRi(v),并根据其重要程度进行备份。
并且Step 7包括如下步骤:
Step 7.1:输入各组件的参数D、C、T、A,初始化组件集合Cc,初始化替换组件集合S;
Step 7.2:初始化组件松弛函数H(Ps→o)=0,初始化组件贪婪函数G(Ps→o);
Step 7.3:计算加入i组件后贪婪函数值G(Ps→i),松弛函数值H(Ps→i);
Step 7.4:判断G(Ps→i+Pi→o)<G(Ps→o),H(Ps→i+Pi→o)>H(Ps→o),若满足,执行step7.5;若不满足,执行step7.6;
Step 7.5:将组件i移入集合S,i∈S;
Step 7.6:将i移出集合Cc,并在集合Cc中寻找新i;
Step 7.7:判断
Figure BDA0003080675700000095
若满足,执行step7.8;若不满足,执行step7.3;
Step 7.8:得到最优替换组件集合S。
具体步骤如下:
步骤1:云计算资源调度任务划分过程
在云计算系统中,使用Map/Reduce机制,将用户的需求统计为不同的任务集合Task1,Task2,...Taskn,将资源池中的云组件统计为组件集合Cc1,Cc2,...Ccm,然后将任务集 合与组件集合进行匹配,以实现云计算资源调度。
步骤2:在线容错过程
本发明为了减少监控组件的成本,分析组件的可靠性,对组件进行可靠性建模。
假设组件故障率服从故障率不变的均匀泊松分布,但组件使用时间,频率不同,其故障 模型也有差异。关键组件使用时间长、频率高,障率高;非关键组件使用频率低,其模型应 与关键组件不同。根据组件长时间运行错误的发生率不是一个恒定的量而是随时间t变化的 函数,在线容错对以上两种组件分别建立NHPP模型(非齐次泊松过程模型)来描述其累计 故障数。
建立的NHPP可靠性模型如图2所示。
一般性失效故障的期望函数m(t)性质如下:
Figure BDA0003080675700000101
根据以上假设,可以得到:
m(t+Δt)-m(t)=θ1[a-m(t)]Δt+o(t) (2)
Figure BDA0003080675700000102
Figure BDA0003080675700000103
a表示云组件总故障数,{xi,i=1,2,...}表示故障间隔,R表示第i次失效发生后云组件 可靠性。t表示云组件运行的时间;θ1表示云组件发生一般性失效故障的故障率;同理,云组 件发生严重性失效时,
Figure BDA0003080675700000104
同样,用(xi,i=1,2,...}表示故障时间间 隔,其云组件可靠性函数R如下:
Figure BDA0003080675700000105
θ2表示云组件发生严重性失效故障的故障率。
静态容错考虑组件本身可靠性R以及完成过程可靠性Pt,采用采用改进的LeaderRank 算法对组件进行排名,选出关键组件。完成过程可靠性Pt定义如下:
Figure BDA0003080675700000111
Ln表示链接到云组件的设备数量,Sn表示过程结构类型的数量,复杂结构导致更高的故 障率,因此这两个参数与过程可靠性负相关。e-λt是时间加权指数,表示过程可靠性随时间的 下降程度。
假设有n个云计算组件,迭代矩阵M是n维方阵:
Figure BDA0003080675700000112
Figure BDA0003080675700000113
表示组件i到j的转移概率,
Figure BDA0003080675700000114
是邻接矩阵,表示i到j的权重。背景节点是保证LeaderRank算法收敛的关键,其迭代矩阵如下:
Figure BDA0003080675700000115
静态容错的总体流程如图3所示,静态容错算法效果对比图如图6所示,Ref=5%时与 Ref=20%时的系统故障率对比,说明随着Ref从5%增加到20%,云计算组件故障率单调增 加。较高的Ref值会导致较高故障率的制造服务,导致计算组件可靠性下降。Ref较低,云计 算组件的故障率相对较低,故五类算法的可靠性类似;Ref较高,意味着云计算组件故障率 更高,在这种情况下,本方法可靠性更高,体现出更大的优势。
动态容错:对于严重性失效,多发生在云组件执行过程。故障产生时,在两个关键组件 之间,寻找替换服务组件,可以达到优良的容错效果,其实质是一种查找替代组合的算法。 通过采用启发式替代路径搜索算法,将贪婪函数和松弛函数作为启发式函数求解,以找到接 近最优的路径。动态容错算法数学符号如下表1所示。
表1动态容错基本符号表
Figure BDA0003080675700000116
Figure BDA0003080675700000121
云服务过程中系统延迟D如下:
Figure BDA0003080675700000122
容错成本C如下:
Figure BDA0003080675700000123
其中Dd表示故障检测延迟,Dm表示故障迁移延迟,
Figure BDA0003080675700000124
表示软件响应延迟,
Figure BDA0003080675700000125
表示硬 件响应延迟,
Figure BDA0003080675700000126
表示网络通讯延迟,
Figure BDA0003080675700000127
表示故障迁成本,
Figure BDA0003080675700000128
表示计算成本,
Figure BDA0003080675700000129
表示负载均衡率。
系统可用性A,指制造服务可以在特定检查时间正常执行的可能性,表示如下:
Figure BDA00030806757000001210
其中
Figure BDA00030806757000001211
表示云组件i发送服务到云组件m+1的过程可靠性,
Figure BDA00030806757000001212
表示云组件i发送服 务到云组件j的过程可靠性,
Figure BDA00030806757000001213
表示云组件i的可靠性,
Figure BDA00030806757000001214
表示在第j个时间内服务i可用 的次数,
Figure BDA00030806757000001215
表示在第j个时间内服务i执行服务的次总数。
动态容错是找到一种最佳的服务组合,替换发生故障的服务,并同时满足QoS约束。可 以将问题抽象为0-1整数约束的多目标优化问题,其公式如下:
Figure BDA00030806757000001216
其中,Tcons,Dcons,Ccons,Acons,是为保证用户QoS需求的最低标准,Tcons表示用户完成时间QoS要求,Dcons表示延迟时间QoS要求,Ccons表示容错成本QoS要求,Acons表示系 统可用性QoS要求,不可能为0。正式引入贪婪函数G:
Figure BDA0003080675700000131
松弛函数H:
Figure BDA0003080675700000132
动态容错算法流程如图4所示,图7为动态容错算法效果对比图,从图中可以看出,本 方法在系统延迟、执行时间、成本以及系统可靠性方面优势明显。随着云计算节点规模的扩 大,可替换节点变多,系统延迟时间明显变短;由于节点较多,性能优良的节点多,任务执 行时间也变短;容错成本也有降低;系统可用性变高,资源利用率变大。因为如果节点中有 更多服务,则通过更多候选服务选择更好的解决方案的可能性更大。由此可以看出,本方法 不仅找到了可替换的健康节点,其执行时间、系统吞吐量也尽可能的降低,达到最优替换, 实现负载均衡的目的。
步骤3:资源调度过程
本发明是一种基于在线容错的云计算资源调度方法。步骤2得到资源调度过程中两个目 标,即贪婪函数与松弛函数。本发明把松弛函数作为资源调度算法的评价函数,对于云任务 mt我们将E作为评价函数,为了方便讨论,将松弛函数的权重系数简化为[0.25,0.25,0.25,0.25],
Figure BDA0003080675700000133
为了便于讨论静态容错与动态容错,将静态容错评价函数E的动态容错成本C看做Ccons, 同理系统延迟D看做Dcons,并且系统可用性A看做Acons,那么静态容错过程的评价函数将优 化为:
Figure BDA0003080675700000141
基于在线容错的多目标优化评价函数,不仅考虑用户的完成时间,还考虑容 错过程,这两个目标优化为一个评价函数,极大降低资源调度过程的复杂性,做 到调度算法的初步优化。由于在线容错的性质,静态容错对关键组件备份,即将 调度任务较多的分配到关键组件上,为具体的资源调度提供依据;动态容错则是 在执行过程中发生故障,调用替换组件,再次调度;这个过程中,可能发生一次 甚至多次调度,单一的调度算法显然不能满足调度任务。为此,设计最大评价值 优先算法(MEF算法),将评价函数E作为适应度函数,将PSO算法与PBIL算 法进行结合,静态容错时,PSO算法对种群进行初始化,初步确定求解范围;发 生故障时,调用动态容错,采用PBIL算法,从宏观控制种群进化方向,进而更 快得到最优分配以及相应的评价值,完成多次资源调度,实现容错。
基于PSO算法初始化种群
由于粒子群算法PSO可设置大量的粒子充斥解空间,增大搜索到更优解的概率,拥有较 好的全局搜索能力;适用于本文的资源调度方法。
初始化。先设置最大迭代次数,目标函数的自变量个数,粒子的最大速度,位置信息为 整个搜索空间,并在速度区间和搜索空间上随机初始化速度和位置。将Max-Min的启发式规 则带入,得到了一个种群,重复多次速度和位置更新操作,并将获得的个体加入到种群中, 直到种群规模达到要求。
适应度函数。适应度是用来描述种群中不同个体能够达到或者接近最优解的程度,适应 度值越大,越接近最优解。这里简单地采用系统的总评价值来表示个体的适应度。
基于PBIL算法求解动态容错
执行任务发生故障时,继续使用PSO算法全局求解,消耗时间长,计算量大;动态容错 强调寻找替换组件,是一种局部调度,因此,使用PSO算法不适用于此环节。PBIL算法是一种基于现有解学习的进化算法,算法基于当前优秀个体的学习得到概率模型,通过概率模型 控制产生新的群体。
通过PSO算法初试化种群之后,采用PBIL算法继续求解,这里用评价值作为适应度函 数,比遗传算法的交叉变异有更高的效率,最终得到了在系统评价值最大的情况下的资源分 配情况,即让每个云任务都得到了最优的云组件去处理。
采用蒙特卡洛方法以频率代表概率的方法进行计算。设Sg(zi)为第g代第i位变量zi在优 势种群中的取值集合,有以下两种情况:
①若解在优势种群中,每位变量xi取不同值出现的频次记为F(zi=k),k=1,2,...,m
②若解不在优势种群中,为使种群保持较高的多样性,依据该子任务的平均评价值相 对于整体平均评价值的远近进行计算。
Figure BDA0003080675700000151
λ=|Aa-avei|/Aa表示惩罚系数,avei为任务i在所有资源上的一个平均评价值。通过 学习率函数,以期望寻找全局最优解,为防止算法陷入局部最优,需要提高学习率增长速率。
MEF算法具体流程如图5所示,图8为本发明的MEF算法在不同负载下执行时间对比图,图8a表示负载在100个节点上的仿真实验,图8b表示负载在500个节点上的仿真实验,由实验可以看出,本方法在负载较高的情况下,还具有良好的性能。通过本发明最终得到最优分配策略Og={z1,z2,...,zn},即Og={<Task1,Cc2>,...,<Taski,Ccj>},以及系统最大 评价值E。
本发明综合主动容错与反应容错的特点,提出了一种基于在线容错的云计算资源调度方 法。在线容错包含静态容错和动态容错两个方面,针对反应容错方法备份成本高的问题,静 态容错通过马尔科夫模型,筛选出关键组件,对其进行备份,提高备份组件的准确性,仅对 少数组件备份便可达到很好的容错效果,即对使用频率高、功能重要的组件进行备份;针对 主动容错监控成本高,动态容错通过数学建模的方式,分析各个组件的可靠性,可以通过少 量指标就可以获得组件的实时状态,在故障发生时,迅速选择监控组件进行替换;以此提高 云计算系统的可靠性。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于 本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术 人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。

Claims (9)

1.一种基于在线容错的云计算资源调度方法,其特征在于,包括如下步骤:
S1、云计算资源调度任务划分过程:将任务集合与资源池中的云组件集合进行匹配;
S2、在线容错过程:首先通过静态容错筛选关键组件对其备份;当系统发生故障时,通过动态容错,寻找可靠性高的组件进行替换,排除故障;
S3、资源调度过程:静态容错为对关键组件进行备份,为第一次调度;云系统执行期间,若发生故障,如果判断是非关键组件故障,静态容错无法发挥作用,则需要进行再次调度,通过动态容错找到替换组件,使任务正常运行;
发生多次调度时,设计最大评价值优先算法,将评价函数E作为适应度函数,将PSO算法与PBIL算法进行结合;采用PSO算法对种群进行初始化,通过静态容错筛选关键组件;采用PBIL算法,调用动态容错,排除故障,完成用户任务,实现多目标优化的资源调度。
2.根据权利要求1所述的云计算资源调度方法,其特征在于,步骤S2包括:
S21、可靠性建模过程:利用NHPP模型,描述时间变量和软件的累计故障数;根据云组件故障的严重程度,分为一般性失效与严重性失效;针对以上两种故障,分别采用静态容错与动态容错两种方法解决;
S22、静态容错过程:针对云组件的一般性失效,通过对关键组件备份,实现用较低的成本达到较好的容错效果,完成初步调度;静态容错考虑组件本身可靠性R以及完成过程可靠性Pt,采用改进的LeaderRank算法对组件进行排名,以此筛选出关键组件;
S23、动态容错过程:针对云组件的严重性失效,故障产生时,在两个关键组件之间,寻找替换服务组件,将贪婪函数和松弛函数作为启发式函数求解,以找到接近最优的替换组件。
3.根据权利要求2所述的云计算资源调度方法,其特征在于,一般性失效故障的期望函数m(t)性质如下:
Figure FDA0003080675690000011
根据以上假设,可以得到:
m(t+Δt)-m(t)=θ1[a-m(t)]Δt+o(t)
Figure FDA0003080675690000013
Figure FDA0003080675690000012
其中,a表示云组件总故障数;xi表示故障间隔,i=1,2......;R表示第i次失效发生后云组件可靠性;t表示云组件运行的时间;θ1表示云组件发生一般性失效故障的故障率;
同理,云组件发生严重性失效时,
Figure FDA0003080675690000021
其云组件可靠性函数R如下:
Figure FDA0003080675690000022
θ2表示云组件发生严重性失效故障的故障率;
静态容错完成过程可靠性Pt定义如下:
Figure FDA0003080675690000023
Ln表示链接到云组件的设备数量,Sn表示过程结构类型的数量,e-λt是时间加权指数,表示过程可靠性随时间的下降程度;
假设有n个云计算组件,迭代矩阵M是n维方阵:
Figure FDA0003080675690000024
Figure FDA0003080675690000025
表示组件i到j的转移概率,
Figure FDA0003080675690000026
是邻接矩阵,表示i到j的权重。
4.根据权利要求2所述的云计算资源调度方法,其特征在于,动态容错是在两个关键组件之间,替换发生故障的服务,并同时满足QoS约束,将问题抽象为0-1整数约束的多目标优化问题,其公式如下:
Figure FDA0003080675690000027
其中,Tcons,Dcons,Ccons,Acons是为保证用户QoS需求的最低标准,Tcons表示用户完成时间QoS要求,Dcons表示延迟时间QoS要求,Ccons表示容错成本QoS要求,Acons表示系统可用性QoS要求,不可能为0,故贪婪函数G:
Figure FDA0003080675690000028
松弛函数H:
Figure FDA0003080675690000029
5.根据权利要求4所述的云计算资源调度方法,其特征在于,把松弛函数作为资源调度算法的评价函数,将E作为评价函数,将松弛函数的权重系数简化为[0.25,0.25,0.25,0.25],
Figure FDA0003080675690000031
将静态容错评价函数E的动态容错成本C看做Ccons,同理系统延迟D看做Dcons,并且系统可用性A看做Acons,静态容错的评价函数为:
Figure FDA0003080675690000032
6.根据权利要求4所述的云计算资源调度方法,其特征在于,云服务过程中系统延迟D如下:
Figure FDA0003080675690000033
容错成本C如下:
Figure FDA0003080675690000034
其中Dd表示故障检测延迟,Dm表示故障迁移延迟,
Figure FDA0003080675690000035
表示软件响应延迟,
Figure FDA0003080675690000036
表示硬件响应延迟,
Figure FDA0003080675690000037
表示网络通讯延迟,
Figure FDA0003080675690000038
表示故障迁成本,
Figure FDA0003080675690000039
表示计算成本,
Figure FDA00030806756900000310
表示负载均衡率;
系统可用性A,指制造服务可以在特定检查时间正常执行的可能性,表示如下:
Figure FDA00030806756900000311
其中
Figure FDA00030806756900000312
表示云组件i发送服务到云组件m+1的过程可靠性,
Figure FDA00030806756900000313
表示云组件i发送服务到云组件j的过程可靠性,
Figure FDA00030806756900000314
表示云组件i的可靠性,
Figure FDA00030806756900000315
表示在第j个时间内服务i可用的次数,
Figure FDA00030806756900000316
表示在第j个时间内服务i执行服务的次总数。
7.根据权利要求1所述的云计算资源调度方法,其特征在于,具体步骤为:
Step 1:通过Map/Reduce机制,将用户的需求统计为不同的任务集合Task1,Task2,...Taskn,将资源池中的云组件统计为组件集合
Figure FDA0003080675690000041
Step 2:初始化种群
Figure FDA0003080675690000042
计数器g=0,个体适应度H=0,迭代次数G;
Step 3:PSO算法初始化种群,静态容错筛选关键组件;
Step 4:判断g<G,若满足,执行step 5;若不满足,执行step 11;
Step 5:计算个体适应度H;
Step 6:判断系统是否发生故障,若发生故障,执行step 7;若正常,执行step 8;
Step 7:调用动态容错,排除故障;
Step 8:
Figure FDA0003080675690000043
←根据适应度选择前M个体做为种群解;
Step 9:根据采样策略产生新种群,g=g+1;
Step 10:返回step 4,进行执行程序;
Step 11:得到最优分配策略Og={z1,z2,...,zn},以及系统最大评价值E。
8.根据权利要求7所述的云计算资源调度方法,其特征在于,Step 3包括如下步骤:
Step 3.1:输入组件的转移矩阵M,随机分配各组件重要程度SRi(0)i=1,...,n+1;
Step 3.2:计算每个组件的重要程度SRi(t);
Step 3.3:更新组件的重要程度;
Step 3.4:判断
Figure FDA0003080675690000044
|SRi(r)-SRi(t-1)|<ε,若满足,执行step 3.5;若不满足,执行step 3.3;
Step 3.5:分配背景组件给所有组件SRn+1(v);
Step 3.6:得到各组件的重要程度SRi(v),并根据其重要程度进行备份。
9.根据权利要求7所述的云计算资源调度方法,其特征在于,Step 7包括如下步骤:
Step 7.1:输入各组件的参数D、C、T、A,初始化组件集合Cc,初始化替换组件集合S;
Step 7.2:初始化组件松弛函数H(Ps→o)=0,初始化组件贪婪函数G(Ps→o);
Step 7.3:计算加入i组件后贪婪函数值G(Ps→i),松弛函数值H(Ps→i);
Step 7.4:判断G(Ps→i+Pi→o)<G(Ps→o),H(Ps→i+Pi→o)>H(Ps→o),若满足,执行step7.5;若不满足,执行step7.6;
Step 7.5:将组件i移入集合S,i∈S;
Step 7.6:将i移出集合Cc,并在集合Cc中寻找新i;
Step 7.7:判断
Figure FDA0003080675690000051
若满足,执行step7.8;若不满足,执行step7.3;
Step 7.8:得到最优替换组件集合S。
CN202110568571.5A 2021-05-24 2021-05-24 一种基于在线容错的云计算资源调度方法 Active CN113342487B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110568571.5A CN113342487B (zh) 2021-05-24 2021-05-24 一种基于在线容错的云计算资源调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110568571.5A CN113342487B (zh) 2021-05-24 2021-05-24 一种基于在线容错的云计算资源调度方法

Publications (2)

Publication Number Publication Date
CN113342487A true CN113342487A (zh) 2021-09-03
CN113342487B CN113342487B (zh) 2024-05-07

Family

ID=77471178

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110568571.5A Active CN113342487B (zh) 2021-05-24 2021-05-24 一种基于在线容错的云计算资源调度方法

Country Status (1)

Country Link
CN (1) CN113342487B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115242806A (zh) * 2022-06-14 2022-10-25 山东省计算中心(国家超级计算济南中心) 一种在超算互联网中超算中心数据备份的方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6117180A (en) * 1997-02-24 2000-09-12 Lucent Technologies Inc. Hardware-software co-synthesis of heterogeneous distributed embedded systems for low overhead fault tolerance
CN109783257A (zh) * 2019-01-29 2019-05-21 清华大学 面向批量Web服务被动容错的选择置换方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6117180A (en) * 1997-02-24 2000-09-12 Lucent Technologies Inc. Hardware-software co-synthesis of heterogeneous distributed embedded systems for low overhead fault tolerance
CN109783257A (zh) * 2019-01-29 2019-05-21 清华大学 面向批量Web服务被动容错的选择置换方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王清雲等: "云环境下基于蚁群算法的动态容错技术研究", 软件导刊, vol. 18, no. 1, pages 73 - 76 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115242806A (zh) * 2022-06-14 2022-10-25 山东省计算中心(国家超级计算济南中心) 一种在超算互联网中超算中心数据备份的方法及装置
CN115242806B (zh) * 2022-06-14 2023-09-29 山东省计算中心(国家超级计算济南中心) 一种在超算互联网中超算中心数据备份的方法及装置

Also Published As

Publication number Publication date
CN113342487B (zh) 2024-05-07

Similar Documents

Publication Publication Date Title
Ghobaei-Arani A workload clustering based resource provisioning mechanism using Biogeography based optimization technique in the cloud based systems
Ludwig et al. Swarm intelligence approaches for grid load balancing
Sharif et al. Fault‐tolerant with load balancing scheduling in a fog‐based IoT application
US11784931B2 (en) Network burst load evacuation method for edge servers
Alsenani et al. SaRa: A stochastic model to estimate reliability of edge resources in volunteer cloud
CN111984419A (zh) 一种边缘环境可靠性约束的复杂任务计算迁移方法
Wen et al. CPU usage prediction for cloud resource provisioning based on deep belief network and particle swarm optimization
Dewangan et al. Workload aware autonomic resource management scheme using grey wolf optimization in cloud environment
CN111027591B (zh) 一种面向大规模集群系统的节点故障预测方法
CN113342487B (zh) 一种基于在线容错的云计算资源调度方法
Wu et al. A two-stage fault tolerance method for large-scale manufacturing network
Kalantari et al. Dynamic software rejuvenation in web services: a whale optimizationalgorithm-based approach
Tuli et al. Carol: Confidence-aware resilience model for edge federations
Yuejuan et al. Task scheduling algorithm based on reliability perception in cloud computing
Sujaudeen et al. TARNN: Task‐aware autonomic resource management using neural networks in cloud environment
Lei et al. A heuristic services binding algorithm to improve fault-tolerance in microservice based edge computing architecture
CN115865912A (zh) 网络边缘在线服务功能链部署方法、系统和设备
Radi et al. Genetic-Based Virtual Machines Consolidation Strategy With Efficient Energy Consumption in Cloud Environment
Semmoud et al. A Distributed Fault Tolerant Algorithm for Load Balancing in Cloud Computing Environments
Wei Quadratic particle swarm optimisation algorithm for task scheduling based on cloud computing server
Saxena et al. A High Up-Time and Security Centered Resource Provisioning Model Towards Sustainable Cloud Service Management
Sigurleifsson et al. An approach for modeling the operational requirements of FaaS applications for optimal deployment
CN117939572B (zh) 电力物联网终端接入方法
Kumari et al. Content Replica Placement Method for Fault Tolerance in Fog Computing Environment
Sarma et al. A Dynamic Load Balancing Architecture for Fog Computing using Tree Base Resource Arrangement and Flexible Task Prioritization

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