一种冗余计算机系统任务补偿调度方法.pdf

上传人:Y948****062 文档编号:6019121 上传时间:2019-04-03 格式:PDF 页数:8 大小:548.33KB
返回 下载 相关 举报
摘要
申请专利号:

CN201710038009.5

申请日:

2017.01.18

公开号:

CN106775992A

公开日:

2017.05.31

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06F 9/48申请日:20170118|||公开

IPC分类号:

G06F9/48; G06F9/50

主分类号:

G06F9/48

申请人:

清华大学

发明人:

黄晋; 李增坤; 赵曦滨; 刘炎; 顾明; 孙家广

地址:

100084 北京市海淀区清华园

优先权:

专利代理机构:

北京律谱知识产权代理事务所(普通合伙) 11457

代理人:

罗建书

PDF下载: PDF下载
内容摘要

本发明提供了一种冗余计算机系统任务补偿方法,其中任务根据任务之间资源和时序关系划分为不同的任务类型,系统冗余结构是完全镜像的,具有相同的程序逻辑和数据块,维护系统调度标志,在系统运行过程中,周期性的采集系统任务的已执行数量、已分配的数量,计算系统的负载;根据系统负载调度标志与系统超载阈值判定系统的执行方式;系统按照设计的冗余结构进行表决运行;对系统总任务集进行分配并计算任务集调度补偿代价。该方案充分利用冗余系统的硬件优势。在系统正常运行时,系统利用冗余结构,实现备份恢复、表决等功能,体现出容错计算的特征;在高负载的特殊情况下,经过系统的判定,实现负载分配。

权利要求书

1.一种冗余计算机系统任务补偿方法,其中任务根据任务之间资源和时序关系划分为
不同的任务类型,系统冗余结构是完全镜像的,具有相同的程序逻辑和数据块,维护系统调
度标志,标志为0代表表决调度,标志为1代表补偿调度,默认状态下系统调度标志为0,具体
包括下列步骤:
(1)系统运行过程中,周期性的采集系统任务的已执行数量、已分配的数量,计算系统
的负载;
(2)定义系统负载调度标志,以标识系统负载对系统调度的影响,系统负载调度标志默
认值为系统调度标志值,为0表示系统负载倾向于表决调度,为1表示系统负载倾向于补偿
调度;根据系统负载调度标志与系统超载阈值判定系统的执行方式,如果系统负载调度标
识为0,当系统的负载大于系统的超载阈值上限,系统负载调度标志修改为1;如果系统负载
调度标志为1,当系统的负载小于系统的超载阈值下限,系统负载调度标志修改为0,同时由
于系统任何时候都允许由补偿调度切换回原来的表决调度,所以系统的调度标志此时改为
0,系统真正切换回表决调度;系统负载调度标志为0,执行(3),否则执行(4);
(3)系统按照设计的冗余结构进行表决运行;
(4)对系统总任务集进行分配并计算任务集调度补偿代价,假设有n个冗余结构,冗余
结构1,2,3……n,冗余结构对应的任务集为T1,T2……Tn,初始任务子集都为空,任务子集按
负载降序排列更新;总任务集为J,根据种类,总任务集可分为A,B,C,D,…类,共m个种类子
任务集,J等于所有子任务集的集合,每一类子任务集中任务是相互关联的,需要前面任务
的信息;将总任务集分配给n个冗余结构,保持n个冗余结构任务之间相互独立,同时n个冗
余结构之间任务负载尽可能均衡,即求解J=T1+T2+…Tn:
a)在总任务集中,按照事先知道的任务分类,根据m个种类任务集的任务负载,进行升
序排序,然后前n个依次放入任务集合T1,T2,T3,……Tn,并从总任务集J中移除已分配的种
类任务集,冗余结构对应的任务子集更新负载并排序,如果总任务集不为空,继续a);
b)总任务集J此时分成任务集T1,T2,……Tn……,分别对应每一个冗余结构,计算划分
后调度补偿代价Fcost1;由于冗余结构能够并行运行,Fcost1=MAX(F1,F2,F3……Fn)+a,其中Fn
为子任务集的负载,a与系统有关,表示并行计算结束后所有任务同步的代价,同时原来总
任务集J也有一个系统负载Fj,判断FCOST1与FJ大小,如果前者大于后者,切换失败,系统负载
调度标志重新设为0,执行(3),否则系统调度标志设为1,执行(5);
(5)冗余资源独立完成各自的任务集,进行计算,将任务集的返回结果通过通信的方式
告诉系统,系统正常运用该结果。
2.如权利要求1所示的方法,系统冗余结构是二乘二取二安全冗余结构。

说明书

一种冗余计算机系统任务补偿调度方法

技术领域

本发明涉及冗余计算机的任务调度领域,更具体是一种补偿调度方法。

背景技术

计算机系统在超载的时候,系统的性能会下降,主要表现为任务调度成功率会下
降、任务的响应时间变长等。现有的计算机系统如果发生超载,为了能够保证系统正常进
行,一般做法是牺牲系统的准确性,容忍一些系统任务失败(指系统任务丢弃或者系统任务
无法正常完成)。现有的方法主要有自适应实时调度、基于准入的控制调度。自适应实时调
度通过对任务合理的采样,利用样本任务的调度相关信息预估系统的负载,进而根据一定
规则反馈调节系统的任务量;基于准入的控制调度,在进行计算机系统调度之前,利用规则
或者离线的统计数据,将一些不符合系统要求的系统任务排除在调度之外,形成系统调度
的准入的控制,进而保护了系统的流畅运行。这些方法都是通过离线学习、人为设计的规则
或者系统的实时动态数据,从而规避一些任务,来预防系统进入超载。其存在如下的缺点:
系统任务的抛弃,造成了系统提供的服务的质量的下降,而在一些系统中系统的服务质量
要求严格,比如星载系统控制系统、列控系统;复杂环境下有些系统的任务不能失败,否则
会使系统无法工作。

发明内容

有鉴于此,本发明提供了一种冗余计算机系统任务补偿调度方法

本发明的技术方案是提供一种冗余计算机系统任务补偿方法,其中任务根据任务
之间资源和时序关系划分为不同的任务类型,系统冗余结构是完全镜像的,具有相同的程
序逻辑和数据块,维护系统调度标志,标志为0代表表决调度,标志为1代表补偿调度,默认
状态下系统调度标志为0,具体包括下列步骤:

(1)系统运行过程中,周期性的采集系统任务的已执行数量、已分配的数量,计算
系统的负载;

(2)定义系统负载调度标志,以标识系统负载对系统调度的影响,系统负载调度标
志默认值为系统调度标志值,为0表示系统负载倾向于表决调度,为1表示系统负载倾向于
补偿调度;根据系统负载调度标志与系统超载阈值判定系统的执行方式,如果系统负载调
度标识为0,当系统的负载大于系统的超载阈值上限,系统负载调度标志修改为1;如果系统
负载调度标志为1,当系统的负载小于系统的超载阈值下限,系统负载调度标志修改为0,同
时由于系统任何时候都允许由补偿调度切换回原来的表决调度,所以系统的调度标志此时
改为0,系统真正切换回表决调度;系统负载调度标志为0,执行(3),否则执行(4);

(3)系统按照设计的冗余结构进行表决运行;

(4)对系统总任务集进行分配并计算任务集调度补偿代价,假设有n个冗余结构,
冗余结构1,2,3……n,冗余结构对应的任务集为T1,T2……Tn,初始任务子集都为空,任务子
集按负载降序排列更新;总任务集为J,根据种类,总任务集可分为A,B,C,D,…类,共m个种
类子任务集,J等于所有子任务集的集合,每一类子任务集中任务是相互关联的,需要前面
任务的信息;将总任务集分配给n个冗余结构,保持n个冗余结构任务之间相互独立,同时n
个冗余结构之间任务负载尽可能均衡,即求解J=T1+T2+…Tn:

a)在总任务集中,按照事先知道的任务分类,根据m个种类任务集的任务负载,进
行升序排序,然后前n个依次放入任务集合T1,T2,T3,……Tn,并从总任务集J中移除已分配
的种类任务集,冗余结构对应的任务子集更新负载并排序,如果总任务集不为空,继续a);

b)总任务集J此时分成任务集T1,T2,……Tn……,分别对应每一个冗余结构,计算
划分后调度补偿代价Fcost1;由于冗余结构能够并行运行,Fcost1=MAX(F1,F2,F3……Fn)+a,其
中Fn为子任务集的负载,a与系统有关,表示并行计算结束后所有任务同步的代价,同时原
来总任务集J也有一个系统负载Fj,判断FCOST1与FJ大小,如果前者大于后者,切换失败,系统
负载调度标志重新设为0,执行(3),否则系统调度标志设为1,执行(5);

(5)冗余资源独立完成各自的任务集,进行计算,将任务集的返回结果通过通信的
方式告诉系统,系统正常运用该结果。

进一步地,系统冗余结构是二乘二取二安全冗余结构。

本发明的有益效果在于:

(1)系统可靠性增强。冗余结构的设计,通过表决充分保障了系统正常运行的可靠
性,但是系统超载的时候,已经很难确保系统流畅运行,再进行表决已经失去意义,且可能
造成错误结果。本方案在系统正常运行时采用默认的基于表决的调度方式,保障正常运行
的可靠性;在系统超载的时候,实现优雅的降级,保障系统的正常运行,加强了系统的可靠
性;

(2)系统性能提升。系统对任务的响应时间关乎用户的体验,也关乎系统的安全,
因此减少任务响应时间,提升性能是十分重要的。系统正常运行的时候,系统的响应时间在
合理范围内,但是系统有小概率会遇到负载超载,我们不能因为这个小概率而整体提升硬
件的配置,那样是得不偿失的。在系统超载的时候,该方案充分利用现有硬件资源,采用补
偿调度,放弃此情况下失效的表决,通过任务负载均衡,并行实现任务的调度,减少响应时
间,提升系统性能;

(3)可复用性增强。系统综合了冗余结构的表决调度与补偿调度,通过参数的值和
条件判定调度的方式。该方案可以根据需要灵活设置参数,实现所需要的调度方式,大大增
加了系统的可复用性;

(4)本发明充分利用冗余系统的硬件优势。在系统正常运行时,系统利用冗余结
构,实现备份恢复、表决等功能,体现出容错计算的特征;在高负载的特殊情况下,经过系统
的判定,实现类似的一种负载分配,冗余计算机系统运行另一份任务调度集合,以优先完成
任务调度为主,保证系统的流畅、可靠运行。

附图说明

图1为冗余结构运行任务集示意图;

图2为货运列车运行节能优化控制系统中冗余结构运行任务及示意图。

具体实施方式

为了使本发明的技术方案和优点更加清楚,下面结合附图对本发明做进一步的详
细描述。

本发明从冗余计算的硬件结构出发,提出一种基于冗余结构的调度补偿方法,特
别是在系统超载的时候,保证系统的可靠运行。实际工作中,系统进入高负载条件下,系统
状态会变得相当不稳定,很多任务无法按时完成。在这种情况下,冗余也变得没有意义。换
句话说,我们希望能够在系统正常运行时,系统能够体现出容错计算的特征;在高负载的特
殊情况下,系统利用冗余资源,完成任务调度。

如图1所示,任务集为J=A+B+C+D+……,安全冗余结构在系统正常运行时,冗余板
都运行任务集J,然后进行表决,系统体现出安全计算的特征;在负载超过一定阈值后,与一
般的调度算法优化不同,本方法采取系统结构的优化,将冗余容错结构切换成调度补偿结
构,冗余结构运行任务集J的不同部分,从而辅助完成优化计算任务。

冗余系统的前提条件:

系统的任务可以根据任务之间资源和时序关系(即是否相互独立)划分为不同的
任务类型,任务类型A、任务类型B、……任务类型C,其中任务类型之间相互独立、任务类型
之间耦合。

冗余系统的初始状态:

(1)系统的冗余结构是完全镜像的,即具有相同的程序逻辑和数据块,系统利用冗
余结构做同样的计算,然后进行表决,从而保证安全、可靠,这也是系统默认的调度。。

(2)系统维护一个系统调度标志,标志为0代表表决调度(冗余系统的默认调度),
标志为1代表补偿调度,默认状态下系统调度标志为0。

系统补偿调度步骤:

(1)系统运行过程中,周期性的采集系统任务的已执行数量、已分配的数量,计算
系统的负载。

(2)根据系统负载调度标志与系统超载阈值(根据系统具体的应用设定,一般为
0.7-0.9),判定系统的执行方式。系统负载调度标志表明系统负载对系统调度的影响,是整
个系统调度流程中的重要标志。系统负载调度标志默认值为系统调度标志值,为0表示系统
负载倾向于表决调度,为1表示系统负载倾向于补偿调度,但这只是一方面,系统调度标志
还会参考其他条件。如果系统负载调度标识为0,当系统的负载大于系统的超载阈值上限,
系统负载调度标志修改为1;如果系统负载调度标志为1,当系统的负载小于系统的超载阈
值下限,系统负载调度标志修改为0,同时由于系统任何时候都允许由补偿调度切换回原来
的表决调度,所以系统的调度标志此时改为0,系统真正切换回表决调度。系统负载调度标
志为0,执行(3),否则执行(4)。

(3)系统按照原先设计的冗余结构进行表决运行;

(4)总任务集的分配和计算任务集调度补偿代价方法。假设有n个冗余结构,冗余
结构1,2,3……n,冗余结构对应的任务集为T1,T2……Tn,初始任务子集都为空,任务子集按
负载降序排列更新。总任务集为J,根据种类,总任务集可分为A,B,C,D,…类,共m个种类子
任务集,J=A+B+…,每一类子任务集中任务是相互关联的,需要前面任务的信息。我们需要
将总任务集分配给n个冗余结构,保持n个冗余结构任务之间相互独立(不需要其他任务信
息,避免通信),同时n个冗余结构之间任务负载尽可能均衡。即求解J=T1+T2+…Tn

a)在总任务集中,按照事先知道的任务分类,根据m个种类任务集的任务负载,进
行升序排序,然后前n个依次放入任务集合T1,T2,T3,……Tn,并从总任务集J中移除已分配
的种类任务集,冗余结构对应的任务子集更新负载并排序,如果总任务集不为空,继续a)。

b)总任务集J此时分成任务集T1,T2,……Tn……,分别对应每一个冗余结构。计算
划分后调度补偿代价Fcost1由于冗余结构能够并行运行,Fcost1=MAX(F1,F2,F3……Fn)+a,其
中Fn为子任务集的负载,a与系统有关,表示并行计算结束后,所有任务同步的代价。同时原
来总任务集J也有一个系统负载Fj,判断FCOST1与FJ大小,如果前者大于后者,切换失败,系统
负载调度标志重新设为0,执行(3),否则系统调度标志设为1,执行(5);

(5)冗余资源独立完成各自的任务集,进行计算,将任务集的返回结果通过通信的
方式,告诉系统,系统正常运用该结果。

结合图2,以货运列车运行节能优化控制系统为例进行阐述,在该类系统中以常见
的二乘二取二安全冗余结构为例,说明该调度补偿算法。该列控系统的任务可以根据任务
之间资源和时序关系(即是否相互独立)划分为信号任务A(处理信号解析)、实时计算任务
B,临时优化任务C、状态任务D,其中任务类型之间相互独立、任务类型之间耦合。

列控系统的初始状态:

(1)系统的冗余结构是完全镜像的,即具有相同的程序逻辑和数据块,系统利用冗
余结构做同样的计算,然后进行表决,从而保证安全、可靠,这也是系统默认的调度。

(2)系统维护一个系统调度标志,标志为0代表表决调度(冗余系统的默认调度),
标志为1代表补偿调度,默认状态下系统调度标志为0。

系统补偿调度步骤:

(1)列控系统运行过程中,周期性的采集系统任务的已执行数量nexe、已分配的数
量nallo、系统的负载load=(nallo-nexe)/nallo。

(2)根据系统负载调度标志与系统超载阈值(0.7-0.9),判定系统的执行方式。系
统负载调度标志默认值为系统调度标志值。如果系统负载调度标识为0,当系统的负载大于
系统的超载阈值上限0.9,系统负载调度标志修改为1;如果系统负载调度标志为1,当系统
的负载小于系统的超载阈值下限0.7,系统负载调度标志修改为0,调度标志此时改为0,系
统真正切换回表决调度。系统负载调度标志为0,执行(3),否则执行(4)。

(3)系统按照原先设计的冗余结构进行表决运行;

(4)任务集的分配和计算任务集调度补偿代价方法。冗余结构的数量为4,冗余结
构1,2,3,4初始负载为0,每一个冗余结构对应的任务集为T1,T2,T3,T4,4个任务子集的按负
载降序排列更新。

a)在总任务集中,按照事先知道的任务分类,根据每一类任务集的任务负载,进行
升序排序,然后前4个依次放入任务集合T1,T2,T3,T4,并从总任务集移除已分配任务集;冗
余结构对应任务子集负载更新并排序,如果总任务集不为空,继续a)

b)总任务集J分成任务集T1,T2,T3,T4,分别对应每一个冗余结构。计算划分后调度
补偿代价Fcost1=MAX(FH,FI,FK,FL)+a,其中a=0.2FJ。判断FCOST与FJ大小,如果前者大于后
者,切换失败,系统负载调度标志重新设为0,执行(3),否则系统调度标志设为1,执行(5);

(5)冗余资源独立完成各自的任务集。

虽然上面结合本发明的优选实施例对本发明的原理进行了详细的描述,本领域技
术人员应该理解,上述实施例仅仅是对本发明的示意性实现方式的解释,并非对本发明包
含范围的限定。实施例中的细节并不构成对本发明范围的限制,在不背离本发明的精神和
范围的情况下,任何基于本发明技术方案的等效变换、简单替换等显而易见的改变,均落在
本发明保护范围之内。

一种冗余计算机系统任务补偿调度方法.pdf_第1页
第1页 / 共8页
一种冗余计算机系统任务补偿调度方法.pdf_第2页
第2页 / 共8页
一种冗余计算机系统任务补偿调度方法.pdf_第3页
第3页 / 共8页
点击查看更多>>
资源描述

《一种冗余计算机系统任务补偿调度方法.pdf》由会员分享,可在线阅读,更多相关《一种冗余计算机系统任务补偿调度方法.pdf(8页珍藏版)》请在专利查询网上搜索。

本发明提供了一种冗余计算机系统任务补偿方法,其中任务根据任务之间资源和时序关系划分为不同的任务类型,系统冗余结构是完全镜像的,具有相同的程序逻辑和数据块,维护系统调度标志,在系统运行过程中,周期性的采集系统任务的已执行数量、已分配的数量,计算系统的负载;根据系统负载调度标志与系统超载阈值判定系统的执行方式;系统按照设计的冗余结构进行表决运行;对系统总任务集进行分配并计算任务集调度补偿代价。该方案充。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1