CN109165089B - 一种基于MaxSAT最优解的过载实时***不可抢占式调度方法 - Google Patents
一种基于MaxSAT最优解的过载实时***不可抢占式调度方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 15
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
Images
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
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最优解的过载实时***不可抢占式调度方法。
背景技术
实时***在当今的各应用领域占有重要地位,研究过载实时***的最优调度策略在提升***稳定性层面产生着积极影响,具有非常重要理论意义和实用价值。在正常工作负载下,经典的调度算法可以确保在截止时间之前完成所有任务,但在实际应用中,***负载可能因工作环境的不稳定因素而发生变化,一旦***负荷过重,便不存在任何调度算法可以在截止时间内完成所有任务,这种情况便称为***过载。当过载问题发生时,若没有合适的调度方案来处理过载情况,将会导致***性能急剧下降。目前针对过载实时***的调度算法多致力于求取近似最优解,它们虽然能给出比经典调度算法更有效的调度方案,却无法确保输出的近似解能够稳定接近于最优解。针对过载实时***,Cheng等人提出基于可满足模理论(Satisfiability Modulo Theories:SMT)的最优调度算法,但必须循环调用SMT解算器,这在一定程度上增加了计算成本,同时降低了求解效率,不利于大规模推广。
发明内容
本发明的目的在于提供一种基于MaxSAT最优解的过载实时***不可抢占式调度方法,本发明解决了过载实时***中存在的求解最优方案困难和效率低下问题。
为了实现上述目的,本发明采用的技术方案如下:
一种基于MaxSAT最优解的过载实时***不可抢占式调度方法,包括如下步骤:
(S1)确定调度问题,将任务属性编码为MaxSAT硬子句,其中,所述任务属性编码和与之对应的MaxSAT硬子句应同时满足以下规则:
第一种规则
当一个任务τi开始于时刻t或t之后,那么该任务τi一定开始于时刻t-1或t-1之后,将该任务属性编码为如下硬子句:
第二种规则
当一个任务τi结束于时刻t或t之前,那么该任务τi一定结束于时刻t+1或t+1之前,将该任务属性编码为如下硬子句:
第三种规则
当一个任务τi开始于时刻t或t之后,那么该任务τi一定不能结束于t+ci-1,将该任务属性编码为如下硬子句:
第四种规则
当两个任务τ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是布尔变量,t=di-ci+1,ci是任务τi的执行时长,di是任务τi的截止时刻。
再进一步地,所述步骤(S1)中,对于出现过的布尔变量pri,j,将其生成如下MaxSAT硬子句:
再进一步地,所述步骤(S2)中,调度目标满足以下任意一种类型,并将其编码为与之对应的MaxSAT子句:
(1)最大化在截止时刻前完成的任务数量,将该调度目标编码为MaxSAT软子句:
(2)在保证关键任务全部完成的前提下,最大化在截止时刻前完成的非关键任务的数量,将所有关键任务τk的调度目标编码为MaxSAT硬子句:
将所有非关键任务τl的调度目标编码为MaxSAT软子句:
(3)最大化在截止时刻前完成的任务权重之和,将该调度目标编码为MaxSAT带权软子句:
其中,wi表示完成任务τi所获得的收益。
具体地,所述步骤(S3)中,采用合取运算符∧将每个子句进行连接,得到MaxSAT问题。
与现有技术相比,本发明具有以下有益效果:
(1)本发明通过将任务属性和调度目标分别编码为MaxSAT硬子句和MaxSAT子句,将它们用合取运算符连接之后得到MaxSAT问题,再通过MaxSAT解算器求出最优解的调度方案,本发明在求解最优解的过程中不需要循环调用解算器,从而降低了计算成本,提高了求解效率,适于大规模推广应用;
(2)本发明具有很强的可扩展性和执行效率,可以用于解决多目标优化问题,适用于在较大规模的实时***中寻求最优的调度方案,力求在***过载情况下得到最大的效益。
附图说明
图1为本发明的方法流程图。
具体实施方式
下面结合附图说明和实施例对本发明作进一步说明,本发明的方式包括但不仅限于以下实施例。
实施例
如图1所示,一种基于MaxSAT最优解的过载实时***不可抢占式调度方法,该方法的具体步骤如下:
步骤一:确定调度问题,将任务属性编码为MaxSAT硬子句,其中,任务属性编码和与之对应的MaxSAT硬子句应同时满足以下规则:
(1)当一个任务τi开始于时刻t或t之后,那么该任务τi一定开始于时刻t-1或t-1之后,将该任务属性编码为如下硬子句:
(2)当一个任务τi结束于时刻t或t之前,那么该任务τi一定结束于时刻t+1或t+1之前,将该任务属性编码为如下硬子句:
(3)当一个任务τi开始于时刻t或t之后,那么该任务τi一定不能结束于t+ci-1,将该任务属性编码为如下硬子句:
(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硬子句:
本实施例中,基于上述规则,所述步骤一中,在同时满足上述五种规则的前提下,任务属性编码和与之对应的MaxSAT硬子句的规则还包括:
(6)当任务τj依赖于任务τi,那么任务τi先于任务τj执行,将该任务属性编码为如下两个硬子句:
其中,t=di-ci+1,ci是任务τi的执行时长,di是任务τi的截止时刻。
步骤二:将调度目标编码为MaxSAT子句,其中,调度目标满足如下任意一种类型:
针对调度目标(a1):最大化在截止时刻前完成的任务数量,将调度目标编码为MaxSAT如下软子句:
针对调度目标(a2):在保证关键任务全部完成的前提下,最大化在截止时刻前完成的非关键任务的数量,其中:
将所有关键任务τk的调度目标编码为MaxSAT硬子句:
将所有非关键任务τl的调度目标编码为MaxSAT软子句:
针对调度目标(a3):最大化在截止时刻前完成的任务权重之和,将调度目标编码为MaxSAT带权软子句:
其中,wi表示完成任务τi所获得的收益。
步骤三:将步骤一得到的MaxSAT硬子句和步骤二得到的MaxSAT子句,利用合取运算符进行连接,得到MaxSAT问题。具体地,将每个子句用合取运算符∧进行连接,得到的就是MaxSAT问题;
步骤四:通过MaxSAT解算器计算出MaxSAT问题的最优解,最优解包含了每个任务分片的开始执行时刻,由此可以得到最优调度方案。
本发明通过上述方案,解决现有技术中存在的求解最优方案困难和效率低下的问题,使得本发明不仅具有很强的可扩展性和执行效率,还具有很高的实用价值和推广价值。
上述实施例仅为本发明的优选实施方式之一,不应当用于限制本发明的保护范围,但凡在本发明的主体设计思想和精神上作出的毫无实质意义的改动或润色,其所解决的技术问题仍然与本发明一致的,均应当包含在本发明的保护范围之内。
Claims (2)
1.一种基于MaxSAT最优解的过载实时***不可抢占式调度方法,其特征在于,包括如下步骤:
(S1)确定调度问题,将任务属性编码为MaxSAT硬子句,其中,所述任务属性编码和与之对应的MaxSAT硬子句应同时满足以下规则:
第一种规则
当一个任务τi开始于时刻t或t之后,那么该任务τi一定开始于时刻t-1或t-1之后,将该任务属性编码为如下硬子句:
第二种规则
当一个任务τi结束于时刻t或t之前,那么该任务τi一定结束于时刻t+1或t+1之前,将该任务属性编码为如下硬子句:
第三种规则
当一个任务τi开始于时刻t或t之后,那么该任务τi一定不能结束于t+ci-1,将该任务属性编码为如下硬子句:
第四种规则
当两个任务τi和τj占用同一台处理机,且他们的执行时间段重叠,那么τi先于τj执行,或者τj先于τi执行,将该任务属性编码为如下硬子句:
pri,j∨prj,i
其中,pri,j是布尔变量,表示任务τi先于τj执行;
第五种规则
当任务τj依赖于任务τi,那么任务τi先于任务τj执行,将该任务属性编码为如下两个硬子句:
其中,pri,j是布尔变量,t=di-ci+1,ci是任务τi的执行时长,di是任务τi的截止时刻;
第六种规则
对于出现过的布尔变量pri,j,将其生成如下MaxSAT硬子句:
(S2)将调度目标编码为MaxSAT子句,其中,调度目标满足以下任意一种类型,并将其编码为与之对应的MaxSAT子句:
(1)最大化在截止时刻前完成的任务数量,将该调度目标编码为MaxSAT软子句:
(2)在保证关键任务全部完成的前提下,最大化在截止时刻前完成的非关键任务的数量,将所有关键任务τk的调度目标编码为MaxSAT硬子句:
将所有非关键任务τl的调度目标编码为MaxSAT软子句:
(3)最大化在截止时刻前完成的任务权重之和,将该调度目标编码为MaxSAT带权软子句:
其中,wi表示完成任务τi所获得的收益;
(S3)将(S1)得到的MaxSAT硬子句和(S2)得到的MaxSAT子句,利用合取运算符进行连接,得到MaxSAT问题;
(S4)通过MaxSAT解算器计算出MaxSAT问题的最优解,得到最优调度方案。
2.根据权利要求1所述的基于MaxSAT最优解的过载实时***不可抢占式调度方法,其特征在于,所述步骤(S3)中,采用合取运算符∧将每个子句进行连接,得到MaxSAT问题。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110134501B (zh) * | 2019-04-25 | 2023-03-31 | 成都理工大学 | 一种基于smt最优解的过载实时***的调度方法 |
Citations (4)
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)
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 |
-
2018
- 2018-09-21 CN CN201811110298.6A patent/CN109165089B/zh active Active
Patent Citations (4)
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 |