CN109165089B - 一种基于MaxSAT最优解的过载实时***不可抢占式调度方法 - Google Patents

一种基于MaxSAT最优解的过载实时***不可抢占式调度方法 Download PDF

Info

Publication number
CN109165089B
CN109165089B CN201811110298.6A CN201811110298A CN109165089B CN 109165089 B CN109165089 B CN 109165089B CN 201811110298 A CN201811110298 A CN 201811110298A CN 109165089 B CN109165089 B CN 109165089B
Authority
CN
China
Prior art keywords
task
maxsat
clause
time
hard
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
Application number
CN201811110298.6A
Other languages
English (en)
Other versions
CN109165089A (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.)
Chengdu Univeristy of Technology
Original Assignee
Chengdu Univeristy of Technology
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 Chengdu Univeristy of Technology filed Critical Chengdu Univeristy of Technology
Priority to CN201811110298.6A priority Critical patent/CN109165089B/zh
Publication of CN109165089A publication Critical patent/CN109165089A/zh
Application granted granted Critical
Publication of CN109165089B publication Critical patent/CN109165089B/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
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于MaxSAT最优解的过载实时***不可抢占式调度方法,包括如下步骤:(S1)确定调度问题,将任务属性编码为MaxSAT硬子句;(S2)将调度目标编码为MaxSAT子句;(S3)将(S1)得到的MaxSAT硬子句和(S2)得到的MaxSAT子句,利用合取运算符进行连接,得到MaxSAT问题;(S4)通过MaxSAT解算器计算出MaxSAT问题的最优解,得到最优调度方案。本发明通过上述方案,解决了过载实时***中存在的求解最优方案困难和效率低下问题,最终提高了目标任务调度方法的效率,从而使得本发明不仅具有很强的可扩展性和执行效率,还具有很高的实用价值和推广价值。

Description

一种基于MaxSAT最优解的过载实时***不可抢占式调度方法
技术领域
本发明属于计算机应用领域,具体涉及一种基于MaxSAT最优解的过载实时***不可抢占式调度方法。
背景技术
实时***在当今的各应用领域占有重要地位,研究过载实时***的最优调度策略在提升***稳定性层面产生着积极影响,具有非常重要理论意义和实用价值。在正常工作负载下,经典的调度算法可以确保在截止时间之前完成所有任务,但在实际应用中,***负载可能因工作环境的不稳定因素而发生变化,一旦***负荷过重,便不存在任何调度算法可以在截止时间内完成所有任务,这种情况便称为***过载。当过载问题发生时,若没有合适的调度方案来处理过载情况,将会导致***性能急剧下降。目前针对过载实时***的调度算法多致力于求取近似最优解,它们虽然能给出比经典调度算法更有效的调度方案,却无法确保输出的近似解能够稳定接近于最优解。针对过载实时***,Cheng等人提出基于可满足模理论(Satisfiability Modulo Theories:SMT)的最优调度算法,但必须循环调用SMT解算器,这在一定程度上增加了计算成本,同时降低了求解效率,不利于大规模推广。
发明内容
本发明的目的在于提供一种基于MaxSAT最优解的过载实时***不可抢占式调度方法,本发明解决了过载实时***中存在的求解最优方案困难和效率低下问题。
为了实现上述目的,本发明采用的技术方案如下:
一种基于MaxSAT最优解的过载实时***不可抢占式调度方法,包括如下步骤:
(S1)确定调度问题,将任务属性编码为MaxSAT硬子句,其中,所述任务属性编码和与之对应的MaxSAT硬子句应同时满足以下规则:
第一种规则
当一个任务τi开始于时刻t或t之后,那么该任务τi一定开始于时刻t-1或t-1之后,将该任务属性编码为如下硬子句:
Figure BDA0001808922430000021
其中,
Figure BDA0001808922430000022
是布尔变量,表示任务τi在t或t-1时刻之后开始执行,ci是任务τi的执行时长,di是任务τi的截止时刻,n是***任务的总数;
第二种规则
当一个任务τi结束于时刻t或t之前,那么该任务τi一定结束于时刻t+1或t+1之前,将该任务属性编码为如下硬子句:
Figure BDA0001808922430000023
其中,
Figure BDA0001808922430000024
是布尔变量,表示任务τi在t或t时刻之前完成,ci是任务τi的执行时长,di是任务τi的截止时刻,n是***任务的总数;
第三种规则
当一个任务τi开始于时刻t或t之后,那么该任务τi一定不能结束于t+ci-1,将该任务属性编码为如下硬子句:
Figure BDA0001808922430000025
其中,
Figure BDA0001808922430000026
是布尔变量,ci是任务τi的执行时长,di是任务τi的截止时刻,n是***任务的总数;
第四种规则
当两个任务τi和τj占用同一台处理机,且他们的执行时间段重叠,那么τi先于τj执行,或者τj先于τi执行,将该任务属性编码为如下硬子句:
pri,j∨prj,i
其中,pri,j是布尔变量,表示任务τi先于τj执行;
(S2)将调度目标编码为MaxSAT子句;
(S3)将(S1)得到的MaxSAT硬子句和(S2)得到的MaxSAT子句,利用合取运算符进行连接,得到MaxSAT问题;
(S4)通过MaxSAT解算器计算出MaxSAT问题的最优解,得到最优调度方案。
进一步地,所述步骤(S1)中,在同时满足四种规则的前提下,任务属性编码和与之对应的MaxSAT硬子句的规则还包括:当任务τj依赖于任务τi,那么任务τi先于任务τj执行,将该任务属性编码为如下两个硬子句:
pri,j
Figure BDA0001808922430000031
其中,pri,j是布尔变量,t=di-ci+1,ci是任务τi的执行时长,di是任务τi的截止时刻。
再进一步地,所述步骤(S1)中,对于出现过的布尔变量pri,j,将其生成如下MaxSAT硬子句:
Figure BDA0001808922430000032
其中,ri+ci≤t≤di-ci+1,
Figure BDA0001808922430000033
Figure BDA0001808922430000034
是布尔变量,ci是任务τi的执行时长,di是任务τi的截止时刻。
再进一步地,所述步骤(S2)中,调度目标满足以下任意一种类型,并将其编码为与之对应的MaxSAT子句:
(1)最大化在截止时刻前完成的任务数量,将该调度目标编码为MaxSAT软子句:
Figure BDA0001808922430000035
(2)在保证关键任务全部完成的前提下,最大化在截止时刻前完成的非关键任务的数量,将所有关键任务τk的调度目标编码为MaxSAT硬子句:
Figure BDA0001808922430000036
将所有非关键任务τl的调度目标编码为MaxSAT软子句:
Figure BDA0001808922430000037
(3)最大化在截止时刻前完成的任务权重之和,将该调度目标编码为MaxSAT带权软子句:
Figure BDA0001808922430000041
其中,wi表示完成任务τi所获得的收益。
具体地,所述步骤(S3)中,采用合取运算符∧将每个子句进行连接,得到MaxSAT问题。
与现有技术相比,本发明具有以下有益效果:
(1)本发明通过将任务属性和调度目标分别编码为MaxSAT硬子句和MaxSAT子句,将它们用合取运算符连接之后得到MaxSAT问题,再通过MaxSAT解算器求出最优解的调度方案,本发明在求解最优解的过程中不需要循环调用解算器,从而降低了计算成本,提高了求解效率,适于大规模推广应用;
(2)本发明具有很强的可扩展性和执行效率,可以用于解决多目标优化问题,适用于在较大规模的实时***中寻求最优的调度方案,力求在***过载情况下得到最大的效益。
附图说明
图1为本发明的方法流程图。
具体实施方式
下面结合附图说明和实施例对本发明作进一步说明,本发明的方式包括但不仅限于以下实施例。
实施例
如图1所示,一种基于MaxSAT最优解的过载实时***不可抢占式调度方法,该方法的具体步骤如下:
步骤一:确定调度问题,将任务属性编码为MaxSAT硬子句,其中,任务属性编码和与之对应的MaxSAT硬子句应同时满足以下规则:
(1)当一个任务τi开始于时刻t或t之后,那么该任务τi一定开始于时刻t-1或t-1之后,将该任务属性编码为如下硬子句:
Figure BDA0001808922430000042
其中,
Figure BDA0001808922430000051
是布尔变量,表示任务τi在t或t-1时刻之后开始执行,ci是任务τi的执行时长,di是任务τi的截止时刻,n是***任务的总数;
(2)当一个任务τi结束于时刻t或t之前,那么该任务τi一定结束于时刻t+1或t+1之前,将该任务属性编码为如下硬子句:
Figure BDA0001808922430000052
其中,
Figure BDA0001808922430000053
是布尔变量,表示任务τi在t或t时刻之前完成,ci是任务τi的执行时长,di是任务τi的截止时刻,n是***任务的总数;
(3)当一个任务τi开始于时刻t或t之后,那么该任务τi一定不能结束于t+ci-1,将该任务属性编码为如下硬子句:
Figure BDA0001808922430000054
其中,
Figure BDA0001808922430000055
是布尔变量,ci是任务τi的执行时长,di是任务τi的截止时刻,n是***任务的总数;
(4)当两个任务τi和τj占用同一台处理机,且他们的执行时间段重叠,那么τi先于τj执行,或者τj先于τi执行,将该任务属性编码为如下硬子句:
pri,j∨prj,i
其中,pri,j是布尔变量,表示任务τi先于τj执行;
(5)当任务τi开始于时刻t或t之后,且任务τi先于任务τj执行,那么τj必须在τi完成后才能开始执行,对于(4)~(6)中出现过的布尔变量pri,j,生成如下MaxSAT硬子句:
Figure BDA0001808922430000056
其中,ri+ci≤t≤di-ci+1,
Figure BDA0001808922430000057
Figure BDA0001808922430000058
是布尔变量,ci是任务τi的执行时长,di是任务τi的截止时刻。
本实施例中,基于上述规则,所述步骤一中,在同时满足上述五种规则的前提下,任务属性编码和与之对应的MaxSAT硬子句的规则还包括:
(6)当任务τj依赖于任务τi,那么任务τi先于任务τj执行,将该任务属性编码为如下两个硬子句:
pri,j
Figure BDA0001808922430000061
其中,t=di-ci+1,ci是任务τi的执行时长,di是任务τi的截止时刻。
步骤二:将调度目标编码为MaxSAT子句,其中,调度目标满足如下任意一种类型:
针对调度目标(a1):最大化在截止时刻前完成的任务数量,将调度目标编码为MaxSAT如下软子句:
Figure BDA0001808922430000062
针对调度目标(a2):在保证关键任务全部完成的前提下,最大化在截止时刻前完成的非关键任务的数量,其中:
将所有关键任务τk的调度目标编码为MaxSAT硬子句:
Figure BDA0001808922430000063
将所有非关键任务τl的调度目标编码为MaxSAT软子句:
Figure BDA0001808922430000064
针对调度目标(a3):最大化在截止时刻前完成的任务权重之和,将调度目标编码为MaxSAT带权软子句:
Figure BDA0001808922430000065
其中,wi表示完成任务τi所获得的收益。
步骤三:将步骤一得到的MaxSAT硬子句和步骤二得到的MaxSAT子句,利用合取运算符进行连接,得到MaxSAT问题。具体地,将每个子句用合取运算符∧进行连接,得到的就是MaxSAT问题;
步骤四:通过MaxSAT解算器计算出MaxSAT问题的最优解,最优解包含了每个任务分片的开始执行时刻,由此可以得到最优调度方案。
本发明通过上述方案,解决现有技术中存在的求解最优方案困难和效率低下的问题,使得本发明不仅具有很强的可扩展性和执行效率,还具有很高的实用价值和推广价值。
上述实施例仅为本发明的优选实施方式之一,不应当用于限制本发明的保护范围,但凡在本发明的主体设计思想和精神上作出的毫无实质意义的改动或润色,其所解决的技术问题仍然与本发明一致的,均应当包含在本发明的保护范围之内。

Claims (2)

1.一种基于MaxSAT最优解的过载实时***不可抢占式调度方法,其特征在于,包括如下步骤:
(S1)确定调度问题,将任务属性编码为MaxSAT硬子句,其中,所述任务属性编码和与之对应的MaxSAT硬子句应同时满足以下规则:
第一种规则
当一个任务τi开始于时刻t或t之后,那么该任务τi一定开始于时刻t-1或t-1之后,将该任务属性编码为如下硬子句:
Figure FDA0003119533140000011
其中,
Figure FDA0003119533140000012
是布尔变量,表示任务τi在t或t-1时刻之后开始执行,ci是任务τi的执行时长,di是任务τi的截止时刻,n是***任务的总数;
第二种规则
当一个任务τi结束于时刻t或t之前,那么该任务τi一定结束于时刻t+1或t+1之前,将该任务属性编码为如下硬子句:
Figure FDA0003119533140000013
其中,
Figure FDA0003119533140000014
是布尔变量,表示任务τi在t或t时刻之前完成,ci是任务τi的执行时长,di是任务τi的截止时刻,n是***任务的总数;
第三种规则
当一个任务τi开始于时刻t或t之后,那么该任务τi一定不能结束于t+ci-1,将该任务属性编码为如下硬子句:
Figure FDA0003119533140000015
其中,
Figure FDA0003119533140000016
是布尔变量,ci是任务τi的执行时长,di是任务τi的截止时刻,n是***任务的总数;
第四种规则
当两个任务τi和τj占用同一台处理机,且他们的执行时间段重叠,那么τi先于τj执行,或者τj先于τi执行,将该任务属性编码为如下硬子句:
pri,j∨prj,i
其中,pri,j是布尔变量,表示任务τi先于τj执行;
第五种规则
当任务τj依赖于任务τi,那么任务τi先于任务τj执行,将该任务属性编码为如下两个硬子句:
pri,j
Figure FDA0003119533140000021
其中,pri,j是布尔变量,t=di-ci+1,ci是任务τi的执行时长,di是任务τi的截止时刻;
第六种规则
对于出现过的布尔变量pri,j,将其生成如下MaxSAT硬子句:
Figure FDA0003119533140000022
其中,ri+ci≤t≤di-ci+1,
Figure FDA0003119533140000023
Figure FDA0003119533140000024
是布尔变量,ci是任务τi的执行时长,di是任务τi的截止时刻;
(S2)将调度目标编码为MaxSAT子句,其中,调度目标满足以下任意一种类型,并将其编码为与之对应的MaxSAT子句:
(1)最大化在截止时刻前完成的任务数量,将该调度目标编码为MaxSAT软子句:
Figure FDA0003119533140000025
(2)在保证关键任务全部完成的前提下,最大化在截止时刻前完成的非关键任务的数量,将所有关键任务τk的调度目标编码为MaxSAT硬子句:
Figure FDA0003119533140000026
将所有非关键任务τl的调度目标编码为MaxSAT软子句:
Figure FDA0003119533140000027
(3)最大化在截止时刻前完成的任务权重之和,将该调度目标编码为MaxSAT带权软子句:
Figure FDA0003119533140000031
其中,wi表示完成任务τi所获得的收益;
(S3)将(S1)得到的MaxSAT硬子句和(S2)得到的MaxSAT子句,利用合取运算符进行连接,得到MaxSAT问题;
(S4)通过MaxSAT解算器计算出MaxSAT问题的最优解,得到最优调度方案。
2.根据权利要求1所述的基于MaxSAT最优解的过载实时***不可抢占式调度方法,其特征在于,所述步骤(S3)中,采用合取运算符∧将每个子句进行连接,得到MaxSAT问题。
CN201811110298.6A 2018-09-21 2018-09-21 一种基于MaxSAT最优解的过载实时***不可抢占式调度方法 Active CN109165089B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811110298.6A CN109165089B (zh) 2018-09-21 2018-09-21 一种基于MaxSAT最优解的过载实时***不可抢占式调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811110298.6A CN109165089B (zh) 2018-09-21 2018-09-21 一种基于MaxSAT最优解的过载实时***不可抢占式调度方法

Publications (2)

Publication Number Publication Date
CN109165089A CN109165089A (zh) 2019-01-08
CN109165089B true CN109165089B (zh) 2021-10-29

Family

ID=64880028

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811110298.6A Active CN109165089B (zh) 2018-09-21 2018-09-21 一种基于MaxSAT最优解的过载实时***不可抢占式调度方法

Country Status (1)

Country Link
CN (1) CN109165089B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110134501B (zh) * 2019-04-25 2023-03-31 成都理工大学 一种基于smt最优解的过载实时***的调度方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6031984A (en) * 1998-03-09 2000-02-29 I2 Technologies, Inc. Method and apparatus for optimizing constraint models
CN101887383A (zh) * 2010-06-30 2010-11-17 中山大学 一种进程实时调度方法
CN107589993A (zh) * 2017-08-15 2018-01-16 郑州云海信息技术有限公司 一种基于linux实时操作***的动态优先级调度算法
CN108256649A (zh) * 2018-01-16 2018-07-06 成都理工大学 一种基于MaxSAT最优解的联盟结构形成方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160275224A1 (en) * 2015-03-20 2016-09-22 Arani Sinha Apparatus and method for generating a reduced number of test vectors and inserting test points for a logic circuit

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6031984A (en) * 1998-03-09 2000-02-29 I2 Technologies, Inc. Method and apparatus for optimizing constraint models
CN101887383A (zh) * 2010-06-30 2010-11-17 中山大学 一种进程实时调度方法
CN107589993A (zh) * 2017-08-15 2018-01-16 郑州云海信息技术有限公司 一种基于linux实时操作***的动态优先级调度算法
CN108256649A (zh) * 2018-01-16 2018-07-06 成都理工大学 一种基于MaxSAT最优解的联盟结构形成方法

Also Published As

Publication number Publication date
CN109165089A (zh) 2019-01-08

Similar Documents

Publication Publication Date Title
EP2895968B1 (en) Optimal data representation and auxiliary structures for in-memory database query processing
CN108762221B (zh) 含有不可控事件的自动制造***的无死锁控制方法
CN105117461B (zh) 一种基于改进的遗传算法的查询优化方法
CN109165089B (zh) 一种基于MaxSAT最优解的过载实时***不可抢占式调度方法
CN110110402B (zh) 基于二叉决策图的资源分配***可达状态的快速求解方法
CN108460052B (zh) 一种自动创建索引的方法、装置及数据库***
CN113535972A (zh) 一种融合上下文语义的知识图谱链路预测模型、方法及装置
CN105653640A (zh) 一种基于信任机制的协同过滤推荐方法
CN110489606B (zh) 一种分组Hilbert编码和解码方法
CN102868757B (zh) 一种基于QoS指标的动态Web服务组合方法
Baek et al. Comment on “Six-state clock model on the square lattice: Fisher zero approach with Wang-Landau sampling”
CN113094932A (zh) 变电工程造价的获取方法、装置、设备和存储介质
CN109358954B (zh) 一种基于MaxSAT最优解的过载实时***可抢占式调度方法
CN101878646B (zh) 视频压缩的系数的联合幅度和位置编码的方法及装置
CN104679775B (zh) 一种基于Huffman表的数据处理方法
CN112651552A (zh) 一种基于电力大数据产业结构优化方法、装置及存储介质
CN110349635A (zh) 一种基因测序数据质量分数的并行压缩方法
CN110134501B (zh) 一种基于smt最优解的过载实时***的调度方法
CN104182909A (zh) 一种水电***优化调度的多核并行逐次逼近方法
CN107807963B (zh) 一种基于分治策略的输电网线路汇集区快速搜索的方法
CN105512087B (zh) 一种资源约束性多节点计算***的可靠性评估方法
CN115859132B (zh) 一种基于神经网络模型的大数据风险管控方法及***
CN110895567A (zh) 一种实体嵌入方法及装置
CN111818043B (zh) 基于密母算法的双网耦合拓扑结构设计方法
CN103794219A (zh) 一种基于m码字***的矢量量化码本生成方法

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