当前位置: 首页 > 专利查询>中山大学专利>正文

一种分布式系统的容错性任务调度方法技术方案

技术编号:34638043 阅读:15 留言:0更新日期:2022-08-24 15:12
本发明专利技术公开一种分布式系统的容错性任务调度方法,执行计算单元先对传感器建模并得到各个传输任务的副本数量,之后创建相应数量的副本任务发送给传感器执行;当执行成功时,传感器回传的观测数据通过卡尔曼滤波预测方程得到预测结果,并对卡尔曼滤波更新方程的增益矩阵及协方差矩阵进行更新;当执行失败时,则根据最后一次成功传输的观测数据改变当前时刻的卡尔曼滤波预测方程,并进行预测得到预测结果,无需对更新方程进行更新;重复上述传输任务的执行过程,直至传感器将所有传输任务执行完毕。本发明专利技术使得系统整体的可靠性大幅提高,并提高了整体的效率和节省资源。并提高了整体的效率和节省资源。并提高了整体的效率和节省资源。

【技术实现步骤摘要】
一种分布式系统的容错性任务调度方法


[0001]本专利技术涉及分布式系统的任务调度,特别是涉及一种分布式系统的容错性任务调度方法。

技术介绍

[0002]目前,在一般的分布式系统中,由于物理性上无法避免的间隙故障会导致传感器的传输任务不能及时准确地传输数据,致使系统无法得到准确的预测状态。为了提高数据传输的可靠性和安全性,现有技术中公开一种跨云计算中心的多副本容错任务调度方法,其引入容器思想,通过容器为云计算任务提供隔离环境,能够动态根据计算任务要求创建相应的容器,并通过关于计算任务副本的创建,引入容错机制,同时针对副本应用于区分计算任务的执行容器进行执行,保证了执行结果的准确性,并通过副本控制器为任务设置主要副本和备用副本进行容错,使得在计算任务出错或容器宕机时,云计算平台有更快的响应时间;同时设计通过概率算法为计算任务选择合适的容器执行,提高系统的稳定性和资源利用率;整个设计方案实现了系统计算任务的备份容错、以及云计算中心的负载均衡,提高整个云计算平台的资源利用效率、以及其可靠性和安全性。但上述的方法存在以下缺陷:1、上述的方法只考虑了传统简单的计算任务,没有考虑到更贴近现实应用的复杂任务的执行情况,没有对任务执行失败之后的情况进行考虑及提出相对应的方法;2、容错方法的实现过于简单,单纯的静态设置两个任务副本的执行数量,首先该方法不是提升系统可靠性和整体任务执行成功率的最优化方法,其次会造成成功率过高的任务的重复执行而导致计算资源浪费,降低系统性能;3、部分任务容错方法采用恢复任务方法,该方法会在任务执行失败后,才重新执行一遍该任务,应用这样的方法会导致任务执行完成的等待时间变长,而且重新执行任务所带来内存交换上的开销比较巨大,进一步降低了整体的效率和浪费资源。

技术实现思路

[0003]本专利技术针对卡尔曼滤波应用实时分布式系统下任务调度的问题,提出一种分布式系统的容错性任务调度方法,创建多个任务副本技术来保证系统的高容错性,在满足实时性的同时,使得系统整体的可靠性大幅提高,并且在状态预测计算时提供了稳定、准确的数据,即使任务执行失败还有第二套方案来保障后续程序的执行,提高了整体的效率和节省资源。
[0004]本专利技术的技术方案如下:
[0005]一种分布式系统的容错性任务调度方法,分布式系统包括控制器及与所述控制器通过总线连接的多个执行分支,每个所述执行分支包括一个执行计算单元及与所述执行计算单元电性连接的传感器,所述的分布式系统进行容错性任务调度的过程如下:
[0006]S1、执行计算单元通过混合整数规划方法对传感器的传输任务进行建模,并得到各个传输任务的副本数量;
[0007]S2、执行计算单元根据各个传输任务的副本数量创建各个传输任务对应数量的副本任务,并将各个传输任务的副本任务发送至传感器执行;
[0008]S3、传感器开始执行当前传输任务,传输任务中的每个副本任务均将传感器的观测数据反馈至执行计算单元;当执行计算单元接收到任一副本任务回传的观测数据时,则判定该次传输任务成功,执行步骤S4;反之则判定该次传输任务失败,执行步骤S5;
[0009]S4、执行计算单元根据传感器传回的观测数据,应用卡尔曼滤波预测方程进行预测,并将预测结果发送至控制器,同时对卡尔曼滤波更新方程中的增益矩阵及卡尔曼协方差进行更新;
[0010]S5、执行计算单元根据传感器上一次成功执行的传输任务传回的观测数据改变当前时刻的卡尔曼滤波预测方程,并输出预测结果发送至控制器,且不对卡尔曼滤波更新方程中的预测矩阵及卡尔曼协方差进行更新;
[0011]S6、重复上述步骤S3

S5,直至传感器将所有传输任务执行完毕。
[0012]进一步,步骤S1中,通过混合整数规划方法对传感器的传输任务进行建模的过程如下:
[0013]将传感器的传输任务集记为N,传输任务记为i,传输任务i被分配到的执行次数记为E
i
,即副本数量,因此有公式:
[0014][0015]其中E
max
是设置的最大执行次数,即传输任务i中包括的最大副本数量;e
i,g
是个二元变量,值为1表示传输任务i执行g次,反之亦然;由于传输任务i只有一种执行次数,并且至少会执行一次,所以对e
i,g
有以下约束:
[0016][0017]传输任务i的周期随着执行次数的增加而缩小,如下:
[0018][0019]其中T
i
是传输任务i的起始周期,是传输任务i的缩放周期,缩放周期不小于传输任务i的最差情况执行时间Wcet
i

[0020]建立可靠性约束:
[0021][0022][0023]其中λ
i,g
是执行g次后传输任务i的成功率,λ
i
是传输任务i的成功率,是增加副
的真实数据与在时间k的预测结果的预测误差,即卡尔曼协方差,P
k|k
‑1的预测公式如下:
[0049]P
k|k
‑1=AP
k

1|k
‑1A
T
+W
k
[0050]其中W
k
表示预测噪声w
k
的协方差;A
T
为过度矩阵A的转置矩阵。
[0051]进一步,步骤S4对增益矩阵及卡尔曼协方差进行更新的过程如下;
[0052]卡尔曼滤波的更新方程如下:
[0053][0054]P
k|k
=(I

KC)P
k|k
‑1[0055]K=P
k|k
‑1C
T
(CP
k|k
‑1C
T
+V
k
)
‑1[0056]其中表示给定时间k的真实数据在时间k的预测结果;P
k|k
表示给定时间k的真实数据在时间k的预测误差;K表示增益矩阵;V
k
是观测噪声v
k
的协方差;I表示单位矩阵;
[0057]利用前一时刻对现时刻的预测结果和现时刻的真实数据来更新对状态变量的估计,以求出现时刻误差更小的预测结果。
[0058]进一步,步骤S5中,执行计算单元根据传感器上一次成功执行的传输任务传回的观测数据改变当前时刻的卡尔曼滤波预测方程的过程如下:
[0059]根据步骤S4的预测方程中,假设在时间k

1时,传输任务成功,则使用时间k

1的观测数据能预测得到在时间k的预测结果和卡尔曼协方差P
k|k
‑1;
[0060]而当传输任务失败时,在k

1的观测数据是无效的,则使用时间k

2的观测数据先预测得到在时间k

1的预测结果和卡尔曼协方差P
k
‑本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式系统的容错性任务调度方法,其特征在于,分布式系统包括控制器及与所述控制器通过总线连接的多个执行分支,每个所述执行分支包括一个执行计算单元及与所述执行计算单元电性连接的传感器,所述的分布式系统进行容错性任务调度的过程如下:S1、执行计算单元通过混合整数规划方法对传感器的传输任务进行建模,并得到各个传输任务的副本数量;S2、执行计算单元根据各个传输任务的副本数量创建各个传输任务对应数量的副本任务,并将各个传输任务的副本任务发送至传感器执行;S3、传感器开始执行当前传输任务,传输任务中的每个副本任务均将传感器的观测数据反馈至执行计算单元;当执行计算单元接收到任一副本任务回传的观测数据时,则判定该次传输任务成功,执行步骤S4;反之则判定该次传输任务失败,执行步骤S5;S4、执行计算单元根据传感器传回的观测数据,应用卡尔曼滤波预测方程进行预测,并将预测结果发送至控制器,同时对卡尔曼滤波更新方程中的增益矩阵及卡尔曼协方差进行更新;S5、执行计算单元根据传感器上一次成功执行的传输任务传回的观测数据改变当前时刻的卡尔曼滤波预测方程,并输出预测结果发送至控制器,且不对卡尔曼滤波更新方程中的预测矩阵及卡尔曼协方差进行更新;S6、重复上述步骤S3

S5,直至传感器将所有传输任务执行完毕。2.根据权利要求1所述的一种分布式系统的容错性任务调度方法,其特征在于,步骤S1中,通过混合整数规划方法对传感器的传输任务进行建模的过程如下:将传感器的传输任务集记为N,传输任务记为i,传输任务i被分配到的执行次数记为E
i
,即副本数量,因此有公式:其中E
max
是设置的最大执行次数,即传输任务i中包括的最大副本数量;e
i,g
是个二元变量,值为1表示传输任务i执行g次,反之亦然;由于传输任务i只有一种执行次数,并且至少会执行一次,所以对e
i,g
有以下约束:传输任务i的周期随着执行次数的增加而缩小,如下:其中T
i
是传输任务i的起始周期,是传输任务i的缩放周期,缩放周期不小于传输任务i的最差情况执行时间Wcet
i
;建立可靠性约束:
其中λ
i,g
是执行g次后传输任务i的成功率,λ
i
是传输任务i的成功率,是增加副本后的传输任务i的成功率;建立任务映射约束:其中M表示执行计算单元的个数;σ
i,m
是个二元变量,值为1表示传输任务i映射到执行计算单元m上,反之亦然;δ
i
是个二元变量,值为1表示传输任务i被执行,反之亦然;表示增加副本后的传输任务集;建立释放约束:x
i,k
≥(k

1)*T
i
,k≥1其中x
i,k
表示传输任务i在时间k开始执行;建立完成约束:其中Wcet
i
是传输任务i的最差情况执行时间;建立依赖约束:其中Hyper为所有应用周期的最小公倍数;x
i
是传输任务i的开始时间;x
j
是传输任务j的开始时间;将以上约束条件当作输入,使用MatLab应用进行建模,则输出得到各个传输任务的副本数量。3.根据权利要求2所述的一种分布式系统的容错性任务调度方法,其特征在于,步骤S2中,对传输任务执行的稳定性进行优化,公式如下:其中OurTarget表示优化目标,gi表示任务i的执行次数。4.根据权利要求3所述的一种分布式系统的容错性任务调度方法,其特征在于,步骤S4中,应用卡尔曼滤波形成如下方程:x
k+1
=Ax
k
+Bu
k
+w
k
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)y
k
=Cx
k
+v
k
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
其中方程(1)、(2)分别是预测过程和观测过程的表达式;x
k+1
为在时间k+1的真实数据;x
k
、y
k
分别是在时间k的真实数据和观测数据;A、C分别为过渡、观测矩阵;B为控制矩阵;u
k
为控制输入;分别是预测和观测的噪声;卡尔曼滤波的过程分为两个方程,预测方程和更新方程;预测方程如下:在预测阶段,预测结果是基于先前时间戳的预测数据,有公式:其中表示给定时间k

1的真实数据在时间k的预测结果;P
k|k
‑1表示在时间k

1的真实数据与在时间k的预测结果的预测误差,即卡尔曼协方差,P
k|k
‑1的预测公式如下:P
k|k
‑1=AP
k

1|k
‑1A
T
+W
k
其中W
k
表示预测噪声的协方差;A
T
为过度矩阵A的转置矩阵。5.根据权利要求4所述的一种分布式系统的容错性任务调度方法,其特征在于,步骤S4对增益矩阵及卡尔曼协方差进行更...

【专利技术属性】
技术研发人员:黄凯徐子晋黄浩张元海张一博陈刚
申请(专利权)人:中山大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1