CN106775992A - 一种冗余计算机系统任务补偿调度方法 - Google Patents
一种冗余计算机系统任务补偿调度方法 Download PDFInfo
- Publication number
- CN106775992A CN106775992A CN201710038009.5A CN201710038009A CN106775992A CN 106775992 A CN106775992 A CN 106775992A CN 201710038009 A CN201710038009 A CN 201710038009A CN 106775992 A CN106775992 A CN 106775992A
- Authority
- CN
- China
- Prior art keywords
- task
- load
- redundancy structure
- collection
- schedule flag
- 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
Links
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
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明提供了一种冗余计算机系统任务补偿方法,其中任务根据任务之间资源和时序关系划分为不同的任务类型,系统冗余结构是完全镜像的,具有相同的程序逻辑和数据块,维护系统调度标志,在系统运行过程中,周期性的采集系统任务的已执行数量、已分配的数量,计算系统的负载;根据系统负载调度标志与系统超载阈值判定系统的执行方式;系统按照设计的冗余结构进行表决运行;对系统总任务集进行分配并计算任务集调度补偿代价。该方案充分利用冗余系统的硬件优势。在系统正常运行时,系统利用冗余结构,实现备份恢复、表决等功能,体现出容错计算的特征;在高负载的特殊情况下,经过系统的判定,实现负载分配。
Description
技术领域
本发明涉及冗余计算机的任务调度领域,更具体是一种补偿调度方法。
背景技术
计算机系统在超载的时候,系统的性能会下降,主要表现为任务调度成功率会下降、任务的响应时间变长等。现有的计算机系统如果发生超载,为了能够保证系统正常进行,一般做法是牺牲系统的准确性,容忍一些系统任务失败(指系统任务丢弃或者系统任务无法正常完成)。现有的方法主要有自适应实时调度、基于准入的控制调度。自适应实时调度通过对任务合理的采样,利用样本任务的调度相关信息预估系统的负载,进而根据一定规则反馈调节系统的任务量;基于准入的控制调度,在进行计算机系统调度之前,利用规则或者离线的统计数据,将一些不符合系统要求的系统任务排除在调度之外,形成系统调度的准入的控制,进而保护了系统的流畅运行。这些方法都是通过离线学习、人为设计的规则或者系统的实时动态数据,从而规避一些任务,来预防系统进入超载。其存在如下的缺点:系统任务的抛弃,造成了系统提供的服务的质量的下降,而在一些系统中系统的服务质量要求严格,比如星载系统控制系统、列控系统;复杂环境下有些系统的任务不能失败,否则会使系统无法工作。
发明内容
有鉴于此,本发明提供了一种冗余计算机系统任务补偿调度方法
本发明的技术方案是提供一种冗余计算机系统任务补偿方法,其中任务根据任务之间资源和时序关系划分为不同的任务类型,系统冗余结构是完全镜像的,具有相同的程序逻辑和数据块,维护系统调度标志,标志为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)冗余资源独立完成各自的任务集。
虽然上面结合本发明的优选实施例对本发明的原理进行了详细的描述,本领域技术人员应该理解,上述实施例仅仅是对本发明的示意性实现方式的解释,并非对本发明包含范围的限定。实施例中的细节并不构成对本发明范围的限制,在不背离本发明的精神和范围的情况下,任何基于本发明技术方案的等效变换、简单替换等显而易见的改变,均落在本发明保护范围之内。
Claims (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)冗余资源独立完成各自的任务集,进行计算,将任务集的返回结果通过通信的方式告诉系统,系统正常运用该结果。
2.如权利要求1所示的方法,系统冗余结构是二乘二取二安全冗余结构。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710038009.5A CN106775992B (zh) | 2017-01-18 | 2017-01-18 | 一种冗余计算机系统任务补偿调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710038009.5A CN106775992B (zh) | 2017-01-18 | 2017-01-18 | 一种冗余计算机系统任务补偿调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106775992A true CN106775992A (zh) | 2017-05-31 |
CN106775992B CN106775992B (zh) | 2020-03-27 |
Family
ID=58944248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710038009.5A Active CN106775992B (zh) | 2017-01-18 | 2017-01-18 | 一种冗余计算机系统任务补偿调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106775992B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1633131A (zh) * | 2005-01-14 | 2005-06-29 | 清华大学 | 一种iSCSI存储系统的实现方法 |
CN101452406A (zh) * | 2008-12-23 | 2009-06-10 | 北京航空航天大学 | 一种对操作系统透明的机群负载平衡方法 |
-
2017
- 2017-01-18 CN CN201710038009.5A patent/CN106775992B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1633131A (zh) * | 2005-01-14 | 2005-06-29 | 清华大学 | 一种iSCSI存储系统的实现方法 |
CN101452406A (zh) * | 2008-12-23 | 2009-06-10 | 北京航空航天大学 | 一种对操作系统透明的机群负载平衡方法 |
Non-Patent Citations (2)
Title |
---|
张锦 等: "《一种多实时任务的输出抖动补偿方法》", 《计算机与网络》 * |
黄晋 等: "《Experimental Study on the Modulation Nonlinearity of DFB Laser and DFB/EA Integrated Device》", 《POSTER SPEAKER》 * |
Also Published As
Publication number | Publication date |
---|---|
CN106775992B (zh) | 2020-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lerch et al. | Cognitive support for real-time dynamic decision making | |
EP3847549A1 (en) | Minimizing impact of migrating virtual services | |
US20150113539A1 (en) | Method for executing processes on a worker machine of a distributed computing system and a distributed computing system | |
CN104781786A (zh) | 使用延迟重构程序顺序的选择逻辑 | |
CN109376009A (zh) | 一种共享资源的方法及装置 | |
CN109117269A (zh) | 一种分布式系统虚拟机调度方法、装置和可读存储介质 | |
CN109947532A (zh) | 一种教育云平台中的大数据任务调度方法 | |
CN111950706A (zh) | 基于人工智能的数据处理方法、装置、计算机设备及介质 | |
CN115543577A (zh) | 基于协变量的Kubernetes资源调度优化方法、存储介质及设备 | |
CN114859883A (zh) | 一种检修机器人多机协作控制方法、系统及储存介质 | |
CN106775992A (zh) | 一种冗余计算机系统任务补偿调度方法 | |
Allen et al. | Improving the resilience and performance of organizations using multi-agent modelling of a complex production–distribution systems | |
CN111988412A (zh) | 一种多租户服务资源需求智能预测系统及方法 | |
CN116738239A (zh) | 模型训练方法、资源调度方法及装置、系统、设备及介质 | |
CN104834565B (zh) | 一种系统服务动态部署方法及装置 | |
CN112966785B (zh) | 一种智能化星座状态识别方法和系统 | |
CN112862385B (zh) | 集散货分拣方法、装置及存储介质 | |
Aboalkhair et al. | Nonparametric predictive inference for reliability of a k-out-of-m: G system with multiple component types | |
Agarwal et al. | Fault Tolerance in Cloud: A Brief Survey | |
CN114296872B (zh) | 用于容器集群管理系统的调度方法及装置 | |
CN117252402B (zh) | 机场值机柜台航司分配规划方法、装置、设备及存储介质 | |
CN115660535B (zh) | 物流信息的预测方法、装置和计算机可读存储介质 | |
CN113554447A (zh) | 运输业载预测方法、预测装置、电子设备及存储介质 | |
WO2023275976A1 (ja) | 情報処理装置、プログラム及び情報処理方法 | |
Wu et al. | Operational reconfigurability in command and control |
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 |