CN114936080B - 一种分布式系统的容错性任务调度方法 - Google Patents
一种分布式系统的容错性任务调度方法 Download PDFInfo
- Publication number
- CN114936080B CN114936080B CN202210580103.4A CN202210580103A CN114936080B CN 114936080 B CN114936080 B CN 114936080B CN 202210580103 A CN202210580103 A CN 202210580103A CN 114936080 B CN114936080 B CN 114936080B
- Authority
- CN
- China
- Prior art keywords
- task
- transmission
- execution
- time
- prediction
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 230000005540 biological transmission Effects 0.000 claims abstract description 147
- 238000001914 filtration Methods 0.000 claims abstract description 37
- 239000011159 matrix material Substances 0.000 claims abstract description 33
- 230000008569 process Effects 0.000 claims abstract description 21
- 238000004364 calculation method Methods 0.000 claims abstract description 16
- 238000012546 transfer Methods 0.000 claims description 9
- 230000007704 transition Effects 0.000 claims description 6
- 238000004891 communication Methods 0.000 claims description 5
- 238000005457 optimization Methods 0.000 claims description 4
- 241000084490 Esenbeckia delta Species 0.000 claims description 3
- 239000013256 coordination polymer Substances 0.000 claims description 3
- 230000014509 gene expression Effects 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 230000001419 dependent effect Effects 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000011065 in-situ storage Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Feedback Control In General (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明公开一种分布式系统的容错性任务调度方法,执行计算单元先对传感器建模并得到各个传输任务的副本数量,之后创建相应数量的副本任务发送给传感器执行;当执行成功时,传感器回传的观测数据通过卡尔曼滤波预测方程得到预测结果,并对卡尔曼滤波更新方程的增益矩阵及协方差矩阵进行更新;当执行失败时,则根据最后一次成功传输的观测数据改变当前时刻的卡尔曼滤波预测方程,并进行预测得到预测结果,无需对更新方程进行更新;重复上述传输任务的执行过程,直至传感器将所有传输任务执行完毕。本发明使得系统整体的可靠性大幅提高,并提高了整体的效率和节省资源。
Description
技术领域
本发明涉及分布式系统的任务调度,特别是涉及一种分布式系统的容错性任务调度方法。
背景技术
目前,在一般的分布式系统中,由于物理性上无法避免的间隙故障会导致传感器的传输任务不能及时准确地传输数据,致使系统无法得到准确的预测状态。为了提高数据传输的可靠性和安全性,现有技术中公开一种跨云计算中心的多副本容错任务调度方法,其引入容器思想,通过容器为云计算任务提供隔离环境,能够动态根据计算任务要求创建相应的容器,并通过关于计算任务副本的创建,引入容错机制,同时针对副本应用于区分计算任务的执行容器进行执行,保证了执行结果的准确性,并通过副本控制器为任务设置主要副本和备用副本进行容错,使得在计算任务出错或容器宕机时,云计算平台有更快的响应时间;同时设计通过概率算法为计算任务选择合适的容器执行,提高系统的稳定性和资源利用率;整个设计方案实现了系统计算任务的备份容错、以及云计算中心的负载均衡,提高整个云计算平台的资源利用效率、以及其可靠性和安全性。但上述的方法存在以下缺陷:1、上述的方法只考虑了传统简单的计算任务,没有考虑到更贴近现实应用的复杂任务的执行情况,没有对任务执行失败之后的情况进行考虑及提出相对应的方法;2、容错方法的实现过于简单,单纯的静态设置两个任务副本的执行数量,首先该方法不是提升系统可靠性和整体任务执行成功率的最优化方法,其次会造成成功率过高的任务的重复执行而导致计算资源浪费,降低系统性能;3、部分任务容错方法采用恢复任务方法,该方法会在任务执行失败后,才重新执行一遍该任务,应用这样的方法会导致任务执行完成的等待时间变长,而且重新执行任务所带来内存交换上的开销比较巨大,进一步降低了整体的效率和浪费资源。
发明内容
本发明针对卡尔曼滤波应用实时分布式系统下任务调度的问题,提出一种分布式系统的容错性任务调度方法,创建多个任务副本技术来保证系统的高容错性,在满足实时性的同时,使得系统整体的可靠性大幅提高,并且在状态预测计算时提供了稳定、准确的数据,即使任务执行失败还有第二套方案来保障后续程序的执行,提高了整体的效率和节省资源。
本发明的技术方案如下:
一种分布式系统的容错性任务调度方法,分布式系统包括控制器及与所述控制器通过总线连接的多个执行分支,每个所述执行分支包括一个执行计算单元及与所述执行计算单元电性连接的传感器,所述的分布式系统进行容错性任务调度的过程如下:
S1、执行计算单元通过混合整数规划方法对传感器的传输任务进行建模,并得到各个传输任务的副本数量;
S2、执行计算单元根据各个传输任务的副本数量创建各个传输任务对应数量的副本任务,并将各个传输任务的副本任务发送至传感器执行;
S3、传感器开始执行当前传输任务,传输任务中的每个副本任务均将传感器的观测数据反馈至执行计算单元;当执行计算单元接收到任一副本任务回传的观测数据时,则判定该次传输任务成功,执行步骤S4;反之则判定该次传输任务失败,执行步骤S5;
S4、执行计算单元根据传感器传回的观测数据,应用卡尔曼滤波预测方程进行预测,并将预测结果发送至控制器,同时对卡尔曼滤波更新方程中的增益矩阵及卡尔曼协方差进行更新;
S5、执行计算单元根据传感器上一次成功执行的传输任务传回的观测数据改变当前时刻的卡尔曼滤波预测方程,并输出预测结果发送至控制器,且不对卡尔曼滤波更新方程中的预测矩阵及卡尔曼协方差进行更新;
S6、重复上述步骤S3-S5,直至传感器将所有传输任务执行完毕。
进一步,步骤S1中,通过混合整数规划方法对传感器的传输任务进行建模的过程如下:
将传感器的传输任务集记为N,传输任务记为i,传输任务i被分配到的执行次数记为Ei,即副本数量,因此有公式:
其中Emax是设置的最大执行次数,即传输任务i中包括的最大副本数量;ei,g是个二元变量,值为1表示传输任务i执行g次,反之亦然;由于传输任务i只有一种执行次数,并且至少会执行一次,所以对ei,g有以下约束:
传输任务i的周期随着执行次数的增加而缩小,如下:
其中Ti是传输任务i的起始周期,是传输任务i的缩放周期,缩放周期/>不小于传输任务i的最差情况执行时间Wceti;
建立可靠性约束:
其中λi,g是执行g次后传输任务i的成功率,λi是传输任务i的成功率,是增加副本后的传输任务i的成功率;
建立任务映射约束:
其中M表示执行计算单元的个数;σi,m是个二元变量,值为1表示传输任务i映射到执行计算单元m上,反之亦然;δi是个二元变量,值为1表示传输任务i被执行,反之亦然;表示增加副本后的传输任务集;
建立释放约束:
其中xi,k表示传输任务i在时间k开始执行;
建立完成约束:
其中Wceti是传输任务i的最差情况执行时间;
建立依赖约束:
其中Hyper为所有应用周期的最小公倍数;xi是传输任务i的开始时间;xj是传输任务j的开始时间;
将以上约束条件当作输入,使用MatLab应用进行建模,则输出得到各个传输任务的副本数量。
进一步,步骤S2中,对传输任务执行的稳定性进行优化,公式如下:
其中OurTarget表示优化目标,gi表示任务i的执行次数。
进一步,步骤S4中,应用卡尔曼滤波形成如下方程:
xk+1=Axk+Buk+wk (1)
yk=Cxk+vk (2)
其中方程(1)、(2)分别是预测过程和观测过程的表达式;xk+1为在时间k+1的真实数据;xk、yk分别是在时间k的真实数据和观测数据;A、C分别为过渡、观测矩阵;B为控制矩阵;uk为控制输入;wk、vk分别是预测和观测的噪声;
卡尔曼滤波的过程分为两个方程,预测方程和更新方程;
预测方程如下:
在预测阶段,预测结果是基于先前时间戳的预测数据,有公式:
其中表示给定时间k-1的真实数据在时间k的预测结果;Pk|k-1表示在时间k-1的真实数据与在时间k的预测结果的预测误差,即卡尔曼协方差,Pk|k-1的预测公式如下:
Pk|k-1=APk-1|k-1AT+Wk
其中Wk表示预测噪声wk的协方差;AT为过度矩阵A的转置矩阵。
进一步,步骤S4对增益矩阵及卡尔曼协方差进行更新的过程如下;
卡尔曼滤波的更新方程如下:
Pk|k=(I-KC)Pk|k-1
K=Pk|k-1CT(CPk|k-1CT+Vk)-1
其中表示给定时间k的真实数据在时间k的预测结果;Pk|k表示给定时间k的真实数据在时间k的预测误差;K表示增益矩阵;Vk是观测噪声vk的协方差;I表示单位矩阵;
利用前一时刻对现时刻的预测结果和现时刻的真实数据来更新对状态变量的估计,以求出现时刻误差更小的预测结果。
进一步,步骤S5中,执行计算单元根据传感器上一次成功执行的传输任务传回的观测数据改变当前时刻的卡尔曼滤波预测方程的过程如下:
根据步骤S4的预测方程中,假设在时间k-1时,传输任务成功,则使用时间k-1的观测数据能预测得到在时间k的预测结果和卡尔曼协方差Pk|k-1;
而当传输任务失败时,在k-1的观测数据是无效的,则使用时间k-2的观测数据先预测得到在时间k-1的预测结果和卡尔曼协方差Pk-1|k-2,所以有如下公式:
Pk-1|k-2=APk-2|k-2AT+Wk-1
代入原有的预测方程,得到用Pk|k-2,即用k-2时刻下的真实数据来预测得到k时刻的预测结果:
Pk|k-2=A(APk-2|k-2AT+Wk-1)AT+Wk
从上式可知,Pk|k-1和/>Pk|k-2之间分别存在递归关系,如果使用函数G、H来表示迭代预测进度,则有:
Pk|k-2=H(Pk-1|k-2)
=H2(Pk-2|k-2)
推广到一般情况有:
Pk|k-n=Hn(Pk-n|k-n)
其中n是上一次成功传回的观测数据所对应的时刻和当前时刻之间的时间间隔,随着n的增加,卡尔曼协方差Pk|k-n也增加,即卡尔曼滤波的可靠性变差,因此不对更新方程进行更新。
进一步,如果有两个具有依赖关系的传输任务映射在不同的执行计算单元上,则需要通过中央总线进行数据传输。
进一步,基于给定的传输任务集N和最大副本数Emax,形成总线任务集Nbus,其中N*Emax为总线任务实例τbus,则维护一个二进制变量矩阵φN×Emax表示总线任务实例是否被执行;每个传输任务后跟一个总线任务实例,二元变量φi表示任务i是否执行总线任务;
在建立的模型中,控制器任务τactuator不存在总线任务实例,有:
对于依赖关系中涉及的所有其他传输任务,当且仅当前驱和后继的传输任务映射到不同的执行计算单元时,才会执行总线任务,则有:
其中传输任务j依赖于传输任务i,二元变量δi表示任务i是否被执行,二元变量σi,m表示任务i是否映射在执行计算单元m上,M表示执行计算单元的个数;
在模型中只考虑前驱的传输任务i是否被执行,当传输任务i未执行时,即δi=0,i没有映射到任何执行计算单元,即σi,m=0,m∈M,这样,φi总是≥0,通过设置上述的总线约束即可完成总线传输结构,实现总线通信。
进一步,所述执行计算单元根据各个传感器所监测的不同对象,创建多个传输任务,传输任务包括采集传感器自身的状态信息及由传感器监测得到的观测数据。
进一步,在分布式系统的多个执行分支中,每个分支均能独立进行容错性任务调度,并通过总线将多个传输任务的预测结果发送至控制器,以实现分布式系统中的多线程任务调度。
本发明的有益效果如下:
1、本发明使用创建多个任务副本技术来保证系统的高容错性,相比其他使用恢复任务的系统容错技术,本发明的技术能够节省更多的能耗,并且更快的完成任务;
2、本发明所提出的方法可以扩展应用到更大的范围,不仅是卡尔曼滤波的应用,在现实场景下,许多系统任务的调度都存在间隙错误的情况,本发明的方法都可以应用到其他应用上,提高系统整体的可靠性、稳定性;
3、如果无限制的增加副本任务数量则会导致任务超过完成截至时间,而副本任务数过少则会使得系统的执行任务失败次数增大,导致稳定性下降,而本发明所提出的混合整数规划方法实时性较高,利用线性规划方法计算出的副本任务数量,在满足实时性的同时,使得系统整体的可靠性大幅提高。
附图说明
图1是本发明的分布式系统的结构示意图。
图2是本发明的容错性任务调度方法中执行单次传输任务的流程图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。附图中描述位置关系仅用于示例性说明,不能理解为对本专利的限制。
实施例1:
如图1和图2所示,一种分布式系统的容错性任务调度方法,分布式系统包括控制器及与所述控制器通过总线连接的多个执行分支,每个所述执行分支包括一个执行计算单元及与所述执行计算单元电性连接的传感器,所述的分布式系统进行容错性任务调度的过程如下:
S1、执行计算单元通过混合整数规划方法(MILP)对传感器的传输任务进行建模,并得到各个传输任务的副本数量;
S2、执行计算单元根据各个传输任务的副本数量创建各个传输任务对应数量的副本任务,并将各个传输任务的副本任务发送至传感器执行;
S3、传感器开始执行当前传输任务,传输任务中的每个副本任务均将传感器的观测数据反馈至执行计算单元;当执行计算单元接收到任一副本任务回传的观测数据时,则判定该次传输任务成功,执行步骤S4;反之则判定该次传输任务失败,执行步骤S5;
S4、执行计算单元根据传感器传回的观测数据,应用卡尔曼滤波预测方程进行预测,并将预测结果发送至控制器,同时对卡尔曼滤波更新方程中的增益矩阵及卡尔曼协方差进行更新;
S5、执行计算单元根据传感器上一次成功执行的传输任务传回的观测数据改变当前时刻的卡尔曼滤波预测方程,并输出预测结果发送至控制器,且不对卡尔曼滤波更新方程中的预测矩阵及卡尔曼协方差进行更新;
S6、重复上述步骤S3-S5,直至传感器将所有传输任务执行完毕。
在本实施例的步骤S1中,通过混合整数规划方法对传感器的传输任务进行建模的过程如下:
首先将传感器的传输任务集记为N,传输任务记为i,传输任务i被分配到的执行次数记为Ei,即副本数量,因此有公式:
其中Emax是系统可以接受手动设置的最大执行次数,即传输任务i中包括的最大副本数量;ei,g是个二元变量,值为1表示传输任务i执行g次,反之亦然;由于传输任务i只有一种执行次数,并且至少会执行一次,所以对ei,g有以下约束:
传输任务i的周期随着执行次数的增加而缩小,如下:
其中Ti是传输任务i的起始周期,是传输任务i的缩放周期,缩放周期必须在可行约束下,即缩放周期/>不小于传输任务i的最差情况执行时间Wceti;
建立可靠性约束:
其中λi,g是执行g次后传输任务i的成功率,λi是传输任务i的成功率,是增加副本后的传输任务i的成功率;
建立任务映射约束:
其中M表示执行计算单元的个数;σi,m是个二元变量,值为1表示传输任务i映射到执行计算单元m上,反之亦然;δi是个二元变量,值为1表示传输任务i被执行,反之亦然;表示增加副本后的传输任务集;
建立释放约束:
其中xi,k表示传输任务i在时间k开始执行;
建立完成约束:
其中Wceti是传输任务i的最差情况执行时间;
建立依赖约束:
其中Hyper为所有应用周期的最小公倍数;xi是传输任务i的开始时间;xj是传输任务j的开始时间;
将以上约束条件当作输入,使用MatLab应用进行建模,则输出得到各个传输任务的副本数量。
在本实施例的步骤S2中,因为副本任务的执行数量不能无限制的增加,否则会导致其他任务的执行无法开始,超过任务需要满足的Wceti,从而导致系统发生无法挽回的崩溃。所以为了满足实时性的要求,本发明对传输任务执行的稳定性进行优化,公式如下:
其中OurTarget表示优化目标,gi表示任务i的执行次数。
在本实施例中,卡尔曼滤波(Kalman filtering)是一种利用线性系统状态方程,通过系统输入输出观测数据,对被测对象进行最优估计的算法。由于观测数据中包括噪声和干扰的影响,所以最优估计也可看作是滤波过程。数据滤波是去除噪声还原真实数据的一种数据处理技术,Kalman滤波在测量方差已知的情况下能够从一系列存在测量噪声的数据中,估计被测对象的状态。由于它便于计算机编程实现,并能够对现场采集的数据进行实时的更新和处理,所以Kalman滤波是目前应用最为广泛的滤波方法。
步骤S4中,本发明应用卡尔曼滤波形成如下方程:
xk+1=Axk+Buk+wk (1)
yk=Cxk+vk (2)
其中方程(1)、(2)分别是预测过程和观测过程的表达式;xk+1为在时间k+1的真实数据;xk、yk分别是在时间k的真实数据和观测数据;A、C分别为过渡、观测矩阵;B为控制矩阵;uk为控制输入;wk、vk分别是预测和观测的噪声;
卡尔曼滤波的过程分为两个方程,预测方程和更新方程;
预测方程如下:
在预测阶段,预测结果是基于先前时间戳的预测数据,有公式:
其中表示给定时间k-1的真实数据在时间k的预测结果;Pk|k-1表示在时间k-1的真实数据与在时间k的预测结果的预测误差,即卡尔曼协方差,Pk|k-1的预测公式如下:
Pk|k-1=APk-1|k-1AT+Wk
其中Wk表示预测噪声wk的协方差;AT为过度矩阵A的转置矩阵。
其中,利用得到的观测数据,步骤S4对增益矩阵及卡尔曼协方差进行更新的过程如下;
卡尔曼滤波的更新方程如下:
Pk|k=(I-KC)Pk|k-1
K=Pk|k-1CT(CPk|k-1CT+Vk)-1
其中表示给定时间k的真实数据在时间k的预测结果;Pk|k表示给定时间k的真实数据在时间k的预测误差;K表示增益矩阵;Vk是观测噪声vk的协方差;I表示单位矩阵;
利用前一时刻对现时刻的预测结果和现时刻的真实数据来更新对状态变量的估计,以求出现时刻误差更小的预测结果。
在本实施例的步骤S5中,执行计算单元根据传感器上一次成功执行的传输任务传回的观测数据改变当前时刻的卡尔曼滤波预测方程的过程如下:
在实际场景中,传感器数据可能还是会遭受间歇错误的影响导致某几个时刻的观测数据丢失。在这种情况下预测阶段需要做出相应的改变。根据步骤S4的预测方程中,假设在时间k-1时,传输任务成功,则使用时间k-1的观测数据能预测得到在时间k的预测结果和卡尔曼协方差Pk|k-1;
而当传输任务失败时,在k-1的观测数据是无效的,则使用时间k-2的观测数据先预测得到在时间k-1的预测结果和卡尔曼协方差Pk-1|k-2,所以有如下公式:
Pk-1|k-2=APk-2|k-2AT+Wk-1
代入原有的预测方程,得到用Pk|k-2,即用k-2时刻下的真实数据来预测得到k时刻的预测结果:
Pk|k-2=A(APk-2|k-2AT+Wk-1)AT+Wk
从上式可知,Pk|k-1和/>Pk|k-2之间分别存在递归关系,如果使用函数G、H来表示迭代预测进度,则有:
Pk|k-2=H(Pk-1|k-2)
=H2(Pk-2|k-2)
推广到一般情况有:
Pk|k-n=Hn(Pk-n|k-n)
其中n是上一次成功传回的观测数据所对应的时刻和当前时刻之间的时间间隔,随着n的增加,卡尔曼协方差Pk|k-n也增加,即卡尔曼滤波的可靠性变差,因此不对更新方程进行更新。
在本实施例中,执行计算单元根据各个传感器所监测的不同对象,创建多个传输任务,传输任务包括采集传感器自身的状态信息及由传感器监测得到的观测数据。
在本实施例中,在分布式系统的多个执行分支中,每个分支均能独立进行容错性任务调度,并通过总线将多个传输任务的预测结果发送至控制器,以实现分布式系统中的多线程任务调度。
本发明使用传感器获取被测对象的状态数据,首先通过多个传感器获取当前所要监测的信息,随后根据所获取的信息创建相应的多个传输任务,之后执行计算单元应用混合整数规划方法将所得到的任务及其相关参数进行建模,包括列出整体的最差情况执行时间、执行周期、任务数量、成功率等各个限制条件,得到在满足实时性要求下能使得整体可靠性最大化的各个传输任务的副本数量,接着创建相应数量的副本任务发送给传感器执行,后续根据成功传输的传感器数据通过卡尔曼滤波预测方程得到预测结果,并对卡尔曼滤波更新方程的增益矩阵及协方差矩阵进行更新,减少下一次预测误差。如果发生了任务执行失败的情况,则根据最后一次成功传输的数据,并改变相应卡尔曼滤波预测方程进行预测即可,无需对更新方程进行更新。
本发明创建多个任务副本技术来保证系统的高容错性,在满足实时性的同时,使得系统整体的可靠性大幅提高,并且通过卡尔曼滤波进行状态预测计算,提供了稳定、准确的数据,即使任务执行失败还有第二套方案来保障后续程序的执行,提高了整体的效率和节省资源。
实施例2:
本实施例与实施例1相似,所不同之处在于,如果有两个具有依赖关系的传输任务映射在不同的执行计算单元上,则需要通过中央总线进行数据传输。
基于给定的传输任务集N和最大副本数Emax,形成总线任务集Nbus,其中N*Emax为总线任务实例τbus,则维护一个二进制变量矩阵φN×Emax表示总线任务实例是否被执行;每个传输任务后跟一个总线任务实例,二元变量φi表示任务i是否执行总线任务;
在建立的模型中,控制器任务τactuator不存在总线任务实例,有:
对于依赖关系中涉及的所有其他传输任务,当且仅当前驱和后继的传输任务映射到不同的执行计算单元时,才会执行总线任务,则有:
其中传输任务j依赖于传输任务i,二元变量δi表示任务i是否被执行,二元变量σi,m表示任务i是否映射在执行计算单元m上,M表示执行计算单元的个数;
在模型中只考虑前驱的传输任务i是否被执行,当传输任务i未执行时,即δi=0,i没有映射到任何执行计算单元,即σi,m=0,m∈M,这样,φi总是≥0,通过设置上述的总线约束即可完成总线传输结构,实现总线通信。
本实施例解决了由于分布式系统任务间交流导致系统总线产生冲突情况。多处理器的系统大部分使用的是总线来进行数据的传输和通讯,当不同处理器之间同时需要传输数据时则会造成总线的冲突。本发明考虑到这种常见的情况,对具有依赖关系的任务映射到不同处理器(执行计算单元)上,对总线任务的使用进行限制和检测,解决了总线冲突的问题。
实施例3:
本实施例中,提供一种电子设备,可将整个分布式系统进行封装为一台设备,外置多个连接端口,与多个传感器连接,多个执行计算单元布置在设备内通过总线与控制器进行集成为一体,在控制器中设置存储单元,以存储能够执行容错性任务调度方法的执行程序。
其中,可通过控制器与显示屏连接,显示屏用于显示控制器收集到的预测结果,以便操作人员清晰明了进行观察。
在本实施例中,本发明所提出的方法可以扩展应用到更大的范围,不仅是卡尔曼滤波的应用,在现实场景下,许多系统任务的调度都存在间隙错误的情况,本发明的方法都可以应用到其他应用上,提高系统整体的可靠性、稳定性。
显然,本发明的上述实施例仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (10)
1.一种分布式系统的容错性任务调度方法,其特征在于,分布式系统包括控制器及与所述控制器通过总线连接的多个执行分支,每个所述执行分支包括一个执行计算单元及与所述执行计算单元电性连接的传感器,所述的分布式系统进行容错性任务调度的过程如下:
S1、执行计算单元通过混合整数规划方法对传感器的传输任务进行建模,并得到各个传输任务的副本数量;
S2、执行计算单元根据各个传输任务的副本数量创建各个传输任务对应数量的副本任务,并将各个传输任务的副本任务发送至传感器执行;
S3、传感器开始执行当前传输任务,传输任务中的每个副本任务均将传感器的观测数据反馈至执行计算单元;当执行计算单元接收到任一副本任务回传的观测数据时,则判定该次传输任务成功,执行步骤S4;反之则判定该次传输任务失败,执行步骤S5;
S4、执行计算单元根据传感器传回的观测数据,应用卡尔曼滤波预测方程进行预测,并将预测结果发送至控制器,同时对卡尔曼滤波更新方程中的增益矩阵及卡尔曼协方差进行更新;
S5、执行计算单元根据传感器上一次成功执行的传输任务传回的观测数据改变当前时刻的卡尔曼滤波预测方程,并输出预测结果发送至控制器,且不对卡尔曼滤波更新方程中的预测矩阵及卡尔曼协方差进行更新;
S6、重复上述步骤S3-S5,直至传感器将所有传输任务执行完毕。
2.根据权利要求1所述的一种分布式系统的容错性任务调度方法,其特征在于,步骤S1中,通过混合整数规划方法对传感器的传输任务进行建模的过程如下:
将传感器的传输任务集记为N,传输任务记为i,传输任务i被分配到的执行次数记为Ei,即副本数量,因此有公式:
其中Emax是设置的最大执行次数,即传输任务i中包括的最大副本数量;ei,g是个二元变量,值为1表示传输任务i执行g次,反之亦然;由于传输任务i只有一种执行次数,并且至少会执行一次,所以对ei,g有以下约束:
传输任务i的周期随着执行次数的增加而缩小,如下:
其中Ti是传输任务i的起始周期,是传输任务i的缩放周期,缩放周期/>不小于传输任务i的最差情况执行时间Wceti;
建立可靠性约束:
其中λi,g是执行g次后传输任务i的成功率,λi是传输任务i的成功率,是增加副本后的传输任务i的成功率;
建立任务映射约束:
其中M表示执行计算单元的个数;σi,m是个二元变量,值为1表示传输任务i映射到执行计算单元m上,反之亦然;δi是个二元变量,值为1表示传输任务i被执行,反之亦然;表示增加副本后的传输任务集;
建立释放约束:
xi,k≥(k-1)*Ti,k≥1
其中xi,k表示传输任务i在时间k开始执行;
建立完成约束:
其中Wceti是传输任务i的最差情况执行时间;
建立依赖约束:
其中Hyper为所有应用周期的最小公倍数;xi是传输任务i的开始时间;xj是传输任务j的开始时间;
将以上约束条件当作输入,使用MatLab应用进行建模,则输出得到各个传输任务的副本数量。
3.根据权利要求2所述的一种分布式系统的容错性任务调度方法,其特征在于,步骤S2中,对传输任务执行的稳定性进行优化,公式如下:
其中OurTarget表示优化目标,gi表示任务i的执行次数。
4.根据权利要求3所述的一种分布式系统的容错性任务调度方法,其特征在于,步骤S4中,应用卡尔曼滤波形成如下方程:
xk+1=Axk+Buk+wk (1)
yk=Cxk+vk (2)
其中方程(1)、(2)分别是预测过程和观测过程的表达式;xk+1为在时间k+1的真实数据;xk、yk分别是在时间k的真实数据和观测数据;A、C分别为过渡、观测矩阵;B为控制矩阵;uk为控制输入;分别是预测和观测的噪声;
卡尔曼滤波的过程分为两个方程,预测方程和更新方程;
预测方程如下:
在预测阶段,预测结果是基于先前时间戳的预测数据,有公式:
其中表示给定时间k-1的真实数据在时间k的预测结果;Pk|k-1表示在时间k-1的真实数据与在时间k的预测结果的预测误差,即卡尔曼协方差,Pk|k-1的预测公式如下:
Pk|k-1=APk-1|k-1AT+Wk
其中Wk表示预测噪声的协方差;AT为过度矩阵A的转置矩阵。
5.根据权利要求4所述的一种分布式系统的容错性任务调度方法,其特征在于,步骤S4对增益矩阵及卡尔曼协方差进行更新的过程如下;
卡尔曼滤波的更新方程如下:
Pk|k=(I-KC)Pk|k-1
K=Pk|k-1CT(CPk|k-1CT+Vk)-1
其中表示给定时间k的真实数据在时间k的预测结果;Pk|k表示给定时间k的真实数据在时间k的预测误差;K表示增益矩阵;Vk是观测噪声/>的协方差;I表示单位矩阵;
利用前一时刻对现时刻的预测结果和现时刻的真实数据来更新对状态变量的估计,以求出现时刻误差更小的预测结果。
6.根据权利要求5所述的一种分布式系统的容错性任务调度方法,其特征在于,步骤S5中,执行计算单元根据传感器上一次成功执行的传输任务传回的观测数据改变当前时刻的卡尔曼滤波预测方程的过程如下:
根据步骤S4的预测方程中,假设在时间k-1时,传输任务成功,则使用时间k-1的观测数据能预测得到在时间k的预测结果和卡尔曼协方差Pk|k-1;
而当传输任务失败时,在k-1的观测数据是无效的,则使用时间k-2的观测数据先预测得到在时间k-1的预测结果和卡尔曼协方差Pk-1|k-2,所以有如下公式:
Pk-1|k-2=APk-2|k-2AT+Wk-1
代入原有的预测方程,得到用Pk|k-2,即用k-2时刻下的真实数据来预测得到k时刻的预测结果:
Pk|k-2=A(APk-2|k-2AT+Wk-1)AT+Wk
从上式可知,Pk|k-1和/>Pk|k-2之间分别存在递归关系,如果使用函数G、H来表示迭代预测进度,则有:
Pk|k-2=H(Pk-1|k-2)
=H2(Pk-2|k-2)
推广到一般情况有:
Pk|k-n=Hn(Pk-n|k-n)
其中n是上一次成功传回的观测数据所对应的时刻和当前时刻之间的时间间隔,随着n的增加,卡尔曼协方差Pk|k-n也增加,即卡尔曼滤波的可靠性变差,因此不对更新方程进行更新。
7.根据权利要求6所述的一种分布式系统的容错性任务调度方法,其特征在于,如果有两个具有依赖关系的传输任务映射在不同的执行计算单元上,则需要通过中央总线进行数据传输。
8.根据权利要求2所述的一种分布式系统的容错性任务调度方法,其特征在于,基于给定的传输任务集N和最大副本数Emax,形成总线任务集Nbus,其中N*Emax为总线任务实例τbus,则维护一个二进制变量矩阵φN×Emax表示总线任务实例是否被执行;每个传输任务后跟一个总线任务实例,二元变量φi表示任务i是否执行总线任务;
在建立的模型中,控制器任务τactuator不存在总线任务实例,有:
对于依赖关系中涉及的所有其他传输任务,当且仅当前驱和后继的传输任务映射到不同的执行计算单元时,才会执行总线任务,则有:
其中传输任务j依赖于传输任务i,二元变量δi表示任务i是否被执行,二元变量σi,m表示任务i是否映射在执行计算单元m上,M表示执行计算单元的个数;
在模型中只考虑前驱的传输任务i是否被执行,当传输任务i未执行时,即δi=0,i没有映射到任何执行计算单元,即σi,m=0,m∈M,这样,φi总是≥0,通过设置上述的总线约束即可完成总线传输结构,实现总线通信。
9.根据权利要求1所述的一种分布式系统的容错性任务调度方法,其特征在于,所述执行计算单元根据各个传感器所监测的不同对象,创建多个传输任务,传输任务包括采集传感器自身的状态信息及由传感器监测得到的观测数据。
10.根据权利要求1所述的一种分布式系统的容错性任务调度方法,其特征在于,在分布式系统的多个执行分支中,每个分支均能独立进行容错性任务调度,并通过总线将多个传输任务的预测结果发送至控制器,以实现分布式系统中的多线程任务调度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210580103.4A CN114936080B (zh) | 2022-05-25 | 2022-05-25 | 一种分布式系统的容错性任务调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210580103.4A CN114936080B (zh) | 2022-05-25 | 2022-05-25 | 一种分布式系统的容错性任务调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114936080A CN114936080A (zh) | 2022-08-23 |
CN114936080B true CN114936080B (zh) | 2024-04-02 |
Family
ID=82865461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210580103.4A Active CN114936080B (zh) | 2022-05-25 | 2022-05-25 | 一种分布式系统的容错性任务调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114936080B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106772358A (zh) * | 2016-12-20 | 2017-05-31 | 中国航空工业集团公司雷华电子技术研究所 | 一种基于cplex的多传感器分配方法 |
CN114124033A (zh) * | 2021-10-11 | 2022-03-01 | 北京川速微波科技有限公司 | 卡尔曼滤波器的实现方法、装置、存储介质和设备 |
CN114126944A (zh) * | 2019-07-02 | 2022-03-01 | 三菱电机株式会社 | 滚动时域状态估计器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6130275B2 (ja) * | 2013-09-05 | 2017-05-17 | カルソニックカンセイ株式会社 | 推定装置及び推定方法 |
-
2022
- 2022-05-25 CN CN202210580103.4A patent/CN114936080B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106772358A (zh) * | 2016-12-20 | 2017-05-31 | 中国航空工业集团公司雷华电子技术研究所 | 一种基于cplex的多传感器分配方法 |
CN114126944A (zh) * | 2019-07-02 | 2022-03-01 | 三菱电机株式会社 | 滚动时域状态估计器 |
CN114124033A (zh) * | 2021-10-11 | 2022-03-01 | 北京川速微波科技有限公司 | 卡尔曼滤波器的实现方法、装置、存储介质和设备 |
Non-Patent Citations (2)
Title |
---|
卡尔曼滤波与多传感器数据融合研究;李妍;张琦;王藤锦;;新型工业化;20191220(第12期);全文 * |
面向目标跟踪的传感器网络调度方法;易先清;冯明月;汤绍勋;;计算机工程与应用;20091211(第35期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114936080A (zh) | 2022-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Abd Latiff | A checkpointed league championship algorithm-based cloud scheduling scheme with secure fault tolerance responsiveness | |
CN108446761B (zh) | 一种神经网络加速器及数据处理方法 | |
Mills et al. | Shadow computing: An energy-aware fault tolerant computing model | |
CN108108233B (zh) | 任务多副本执行的集群作业调度方法及系统 | |
Liu et al. | Predicting of job failure in compute cloud based on online extreme learning machine: a comparative study | |
US11675654B2 (en) | Systems and methods for error recovery | |
JP2020524313A (ja) | 予測実行タスクの実行時間を組み合わせ最適化するスケジューリング方法 | |
CN110490316B (zh) | 基于神经网络模型训练系统的训练处理方法、训练系统 | |
US8458710B2 (en) | Scheduling jobs for execution on a computer system | |
CN110190991A (zh) | 一种多应用场景下的分布式流处理系统的容错方法 | |
CN111752545A (zh) | 一种支持数据重放的流计算方法 | |
Chen et al. | A distributed prescribed-time optimization analysis for multi-agent systems | |
CN107871159B (zh) | 神经网络设备和操作神经网络设备的方法 | |
CN114936080B (zh) | 一种分布式系统的容错性任务调度方法 | |
Hu et al. | Cloud model-based security-aware and fault-tolerant job scheduling for computing grid | |
CN102799474A (zh) | 一种基于可靠性驱动的云资源容错调度方法 | |
Jin et al. | Event-triggered optimal attitude consensus of multiple rigid body networks with unknown dynamics | |
JP5672521B2 (ja) | コンピュータシステム、およびそのチェックポイントリスタート方法 | |
Amoon | A job checkpointing system for computational grids | |
Mahato et al. | Reliability modeling and analysis for deadline-constrained grid service | |
CN112970037A (zh) | 用于实施神经网络应用的多芯片系统、适用于多芯片系统的数据处理方法、和非暂时性计算机可读介质 | |
Amoon | A fault tolerant scheduling system based on check pointing for computational grids | |
CN113469341A (zh) | 一种基于版本差异的流水线并行训练节点权重分配方法 | |
Hasanbegović et al. | Optimising vehicular system architectures with real-time requirements: An industrial case study | |
CN110764742A (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 | ||
GR01 | Patent grant |