CN115904705B - 一种多处理器限制性抢占最优调度方法 - Google Patents
一种多处理器限制性抢占最优调度方法 Download PDFInfo
- Publication number
- CN115904705B CN115904705B CN202211396785.XA CN202211396785A CN115904705B CN 115904705 B CN115904705 B CN 115904705B CN 202211396785 A CN202211396785 A CN 202211396785A CN 115904705 B CN115904705 B CN 115904705B
- Authority
- CN
- China
- Prior art keywords
- task
- clauses
- time
- hard
- rule
- 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 16
- 235000019580 granularity Nutrition 0.000 description 18
- 230000006872 improvement Effects 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000013509 system migration Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- 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
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Complex Calculations (AREA)
Abstract
本发明公开了一种多处理器限制性抢占最优调度方法,主要解决现有方案无法求取最优解的问题。该方法包括(S1)根据调度问题的限制性抢占属性约束和最小化最大完工时间的调度目标,提出八条编码规则,将问题编码为一系列硬子句和软子句;(S2)将步骤(S1)得到的硬子句和软子句写入.wcnf为后缀的文件,得到PMS问题;(S3)通过调用LSUPlus解算器计算出PMS问题的最优解,得到最优调度方案。通过上述方案,本发明所述方案能确保输出问题最优解,在求解问题精确解和评估近似算法上具有重要意义和价值。
Description
技术领域
本发明属于计算机应用技术领域,具体地讲,是涉及一种多处理器限制性抢占最优调度方法。
背景技术
抢占是缩短系统完工时间和提高调度灵活性的关键因素,它允许通过暂停当前任务的执行将资源释放给更重要的任务。经典的完全可抢占调度模型通常假定抢占开销忽略不计,因此任务可以在任意时刻被抢占。然而,实际研究表明任务抢占和系统间迁移的开销在系统资源总开销中占重要部分,因此过于频繁的抢占势必会降低系统运行效率。限制性抢占调度模型限制抢占必须发生在任务被连续执行一段时间之后,能在缩短任务完成总时间的同时减少抢占开销,从而避免了因为过度抢占而带来的资源浪费问题。
多处理器环境的限制性抢占问题为NP困难问题,因此,实际应用中多利用启发式算法求得可行解,这些算法能在特殊情况下能求得最优解,但在一般情况下得到的近似解并不能稳定接近于最优解。考虑到精确的调度算法既能在系统设计早期预测收益和规避风险,又能在近似算法的评估中起到指导作用,研究如何求解多处理器限制性抢占调度问题的最优解具有重要的理论意义和实用价值。
发明内容
本发明的目的在于提供一种多处理器限制性抢占最优调度方法,主要解决现有技术无法确保输出最优解的问题。
为了实现上述目的,本发明采用的技术方案如下:
一种多处理器限制性抢占最优调度方法,包括如下步骤:
(S1)根据调度问题的限制性抢占属性约束和最小化最大完工时间的调度目标,提出八条编码规则,将问题编码为一系列硬子句和软子句;
(S2)将步骤(S1)得到的硬子句和软子句写入.wcnf为后缀的文件,得到PMS问题;
(S3)通过调用LSUPlus解算器计算出PMS(Partial Maximum Satisfiability,部分最大约束可满足性)问题的最优解,得到最优调度方案。
进一步地,根据调度问题的限制性抢占属性约束和最小化最大完工时间的调度目标,提出八条编码规则,将问题编码为一系列硬子句和软子句;规则如下:
规则1:每个机器同时只能处理一个任务,将该属性编码为硬子句:
其中,CNF(Expr)表示对基数制约公式Expr编码后得到的合取范式,可以调用Python第三方库pysat的WCNFPlus函数来进行自动转换,伪代码为:
from pysat.formula import WCNFPlus
wcnf=WCNFPlus()
wcnf.append([Expr],is_atmost=True)
n表示任务总数,xi,j,t表示布尔变量,如果任务Tj被机器Mi执行,则xi,j,t值为1,否则xi,j,t值为0,m表示机器总数,Cub是任何一种启发式算法(例如:LPT改进算法[1]、2RS算法[2])计算出的近似解,以此作为估算最优解的上界;
[1]K.Ecker and R.Hirschberg.Task scheduling with restrictedpreemptions.PARLE In 1993 Parallel Architectures and Languages Europe,pages464-475,Berlin,Heidelberg,061993.Springer.
[2]K.Pie_nkosz and A.Prus.Task scheduling with restricted preemptionson two parallel processors.In 2015 20th International Conference on Methodsand Models in Automation and Robotics(MMAR),pages 58-61,Poland,08 2015.IEEE.
规则2:每个任务不能并行执行,将该属性编码为硬子句:
规则3:当一个任务被抢占后,它的所有子任务的执行之间之和必须等于该任务的执行时间,将该属性编码为硬子句:
其中,pj是任务Tj的执行时间;
规则4:每个任务必须连续执行至少k个时间单位后才能被抢占,则依次进行如下两次条件判断,将属性编码为硬子句:
判断1:
如果p=pj,,则编码为:
否则,编码为:
判断2:
如果t+p+1≥pj,则编码为:
否则,编码为:
公式中各参数取值范围为:1≤i≤m,1≤j≤n,0≤t<Cub-p-1,0<p<min{k,pj+1}.
其中,k是抢占粒度,任务被抢占时必须连续执行k个时间单位,否则不能被抢占,yj,t是布尔变量,如果任务Tj在时刻t完成,则yj,t值为1,否则yj,t值为0;
规则5:如果一个任务在时刻t完成,则它一定在时刻t+1是完成状态,将该属性编码为硬子句:
规则6:如果一个任务在时刻t完成,则它一定在时刻t之前必定就开始执行了,将该属性编码为硬子句:
规则7:将引入的布尔变量之间的约束编码为硬子句:
其中,Clb是假设抢占粒度无穷小时由McNaughton的反转规则[3]计算得到的任务完成时间,以此作为估算最优解的下界;
[3]McNaughton,R.Scheduling with deadlines and loss functions,Management Science,1959:6,1-11.
规则8:调度目标为最小化所有任务的最大完成时间,将该目标约束编码为软子句:
zt(Clb≤t≤Cub)
其中,zt是布尔变量,如果所有任务都在t或t时刻前完成,则zt值为1,否则zt值为0;
(S2)将步骤(S1)得到的硬子句和软子句写入.wcnf为后缀的文件,得到PMS问题;
(S3)通过调用LSUPlus解算器计算出PMS问题的最优解,得到最优调度方案。
进一步地,所述步骤(S2)中,使用Python代码wcnf.to_file(′maxInstance.wcnf)将(S1)生成的硬子句和软子句写入maxInstance.wcnf文件,得到PMS问题。
与现有技术相比,本发明具有以下有益效果:
(1)本发明通过将任务属性和调度目标分别编码为PMS硬子句和PMS子句,将它们用合取运算符连接之后得到PMS问题,再通过PMS解算器求出最优解的调度方案,本发明所述方案能确保输出问题最优解,对于调度问题重复出现的场合,算法能确保每次计算出的结果都是最优解;
(2)本发明在能准确计算近似解偏离最优解的程度,因此在近似算法评估上具有重要意义和价值。
附图说明
图1为本发明的工作流程图。
图2为不同抢占粒度下,不同调度方法输出解的结果。
图3为不同抢占粒度下,2RS近似解与最优解的差值。
具体实施方式
下面结合附图和实施例对本发明作进一步说明,本发明的实施方式包括但不限于下列实施例。
实施例
如图1所示,一种多处理器限制性抢占最优调度方法,包括如下步骤:
(S1)根据调度问题的限制性抢占属性约束和最小化最大完工时间的调度目标,提出八条编码规则,将问题编码为一系列硬子句和软子句;规则如下:
规则1:每个机器同时只能处理一个任务,将该属性编码为硬子句:
其中,CNF(Expr)表示对基数制约公式Expr编码后得到的合取范式,可以调用Python第三方库pysat的WCNFPlus函数来进行自动转换,伪代码为:
from pysat.formula import WCNFPlus
wcnf=WCNFPlus()
wcnf.append([Expr],is_atmost=True)
n表示任务总数,xi,j,t表示布尔变量,如果任务Tj被机器Mi执行,则xi,j,t值为1,否则xi,j,t值为0,m表示机器总数,Cub是任何一种启发式算法(例如:LPT改进算法[1]、2RS算法[2])计算出的近似解,以此作为估算最优解的上界;
[1]K.Ecker and R.Hirschberg.Task scheduling with restrictedpreemptions.PARLE In 1993 Parallel Architectures and Languages Europe,pages464-475,Berlin,Heidelberg,06 1993.Springer.
[2]K.Pie_nkosz and A.Prus.Task scheduling with restricted preemptionson two parallel processors.In 2015 20th International Conference on Methodsand Models in Automation and Robotics(MMAR),pages 58-61,Poland,082015.IEEE.
规则2:每个任务不能并行执行,将该属性编码为硬子句:
规则3:当一个任务被抢占后,它的所有子任务的执行之间之和必须等于该任务的执行时间,将该属性编码为硬子句:
其中,pj是任务Tj的执行时间;
规则4:每个任务必须连续执行至少k个时间单位后才能被抢占,则依次进行如下两次条件判断,将属性编码为硬子句:
判断1:
如果p=pj,,则编码为:
否则,编码为:
判断2:
如果t+p+1≥pj,则编码为:
否则,编码为:
公式中各参数取值范围为:1≤i≤m,1≤j≤n,0≤t<Cub-p-1,0<p<min{k,pj+1}.
其中,k是抢占粒度,任务被抢占时必须连续执行k个时间单位,否则不能被抢占,yj,t是布尔变量,如果任务Tj在时刻t完成,则yj,t值为1,否则yj,t值为0;
规则5:如果一个任务在时刻t完成,则它一定在时刻t+1是完成状态,将该属性编码为硬子句:
规则6:如果一个任务在时刻t完成,则它一定在时刻t之前必定就开始执行了,将该属性编码为硬子句:
规则7:将引入的布尔变量之间的约束编码为硬子句:
其中,Clb是假设抢占粒度无穷小时由McNaughton的反转规则[3]计算得到的任务完成时间,以此作为估算最优解的下界;
[3]McNaughton,R.Scheduling with deadlines and loss functions,Management Science,1959:6,1-11.
规则8:调度目标为最小化所有任务的最大完成时间,将该目标约束编码为软子句:
zt(Clb≤t≤Cub)
其中,zt是布尔变量,如果所有任务都在t或t时刻前完成,则zt值为1,否则zt值为0;
(S2)使用Python代码wcnf.to_file(′maxInstance.wcnf′)将(S1)生成的硬子句和软子句写入maxInstance.wcnf文件,得到PMS问题。
(S3)通过调用LSUPlus解算器计算出PMS问题的最优解,得到最优调度方案。
上述实施例仅为本发明的优选实施例,并非对本发明保护范围的限制,但凡采用本发明的设计原理,以及在此基础上进行非创造性劳动而做出的变化,均应属于本发明的保护范围之内。
以下用一个简单的应用例来说明本发明提出方法对现有近似算法的评估:
多处理器限制性抢占问题首次定义于1993年,Ecker等人[1]证明该问题是NP困难问题,并给出了一个LPT改进算法求近似解。2015年,Pienkosz等人[2]提出了针对两台并行处理机的2RS启发式算法。他们发现,当抢占粒度k相对较小时,由2RS输出的解等于下限,这意味着由2RS找到的解是最优的。然而,随着抢占粒度的增加,2RS的输出解逐渐大于下限。由于当时缺少最佳解决方案,其输出解的质量是无法估算的。使用本发明提供的方法来获得最佳调度方案,能通过比较近似解和最优解的差距来评估启发式算法的求解质量。下面以评估LPT改进算法和2RS算法为例来阐述评价过程。
在该应用例中,设每个问题实例包含10个任务,需调度至两台并行相同机器上处理,每个任务的处理时间在[10,20]区间内随机选取。抢占粒度的值从5到19以2为增量枚举。每种参数下生成10个问题实例,故共有80个实例被评估。图2显示了不同抢占粒度下,两种启发式算法的输出解,每个数据点代表10个实例的平均值。从图2中可以明显看出,无论抢占粒度如何变化,2RS的解质量始终优于LPT改进算法,但随着抢占粒度的增加,2RS的解质量开始劣化。具体来说,当抢占粒度较小(不大于7)时,2RS能输出最优解,而当抢占粒度大于7时,2RS的输出解偏离最优解。这表明,在处理抢占粒度较大的问题时,2RS的性能较差。
图3描述了每个实例上,2RS输出解和最优解的差异。如图所示,当抢占粒度不大于7时,2RS能求得每个实例的最优解;而当抢占粒度等于9时,在10个实例中,2RS能找到9个实例的最优解。进一步扩大抢占粒度到不小于11时,2RS只能为大约一半的实例计算出最优解。同时从图3还能看到,尽管2RS算法求出最优解的成功率不太令人满意,但2RS近似解距离最优解的最大偏差仅为1.5,这意味着2RS能够获得高质量的近似解,即使这些解并不完全等同于最优解。
本应用例说明,利用本发明提供的精确算法,能获得问题最优解,从而能够准确评估现有的近似算法。利用本实施例提出的精确算法,能求得小规模限制性抢占问题的最优解,在同类调度问题反复出现的应用场合,能带来可观的收益。参考文献:
[1]K.Ecker and R.Hirschberg.Task scheduling with restrictedpreemptions.PARLE In 1993 Parallel Architectures and Languages Europe,pages464-475,Berlin,Heidelberg,061993.Springer.
[2]K.Pie_nkosz and A.Prus.Task scheduling with restricted preemptionson two parallel processors.In 2015 20th International Conference on Methodsand Models in Automation and Robotics(MMAR),pages 58-61,Poland,082015.IEEE.
Claims (2)
1.一种多处理器限制性抢占最优调度方法,其特征在于,包括如下步骤:
(S1)根据调度问题的限制性抢占属性约束和最小化最大完工时间的调度目标,提出八条编码规则,将问题编码为一系列硬子句和软子句;规则如下:
规则1:每个机器同时只能处理一个任务,将属性编码为硬子句:
其中,CNF(Expr)表示对基数制约公式Expr编码后得到的合取范式,n表示任务总数,xi,j,t表示布尔变量,如果任务Tj被机器Mi执行,则xi,j,t值为1,否则xi,j,t值为0,m表示机器总数,Cub是估算最优解的上界;
规则2:每个任务不能并行执行,将属性编码为硬子句:
规则3:当一个任务被抢占后形成多个子任务,它的所有子任务的执行之间之和必须等于该任务的执行时间,将属性编码为硬子句:
其中,pj是任务Tj的执行时间;
规则4:每个任务必须连续执行至少k个时间单位后才能被抢占,依次进行如下两次条件判断,将属性编码为硬子句:
判断1:
如果p=pj,则编码为:
否则,编码为:
判断2:
如果t+p+1≥pj,则编码为:
否则,编码为:
公式中各参数取值范围为:1≤i≤m,1≤j≤n,0≤t<Cub-p-1,0<p<min{k,pj+1}.
其中,k是抢占粒度,任务被抢占时必须连续执行k个时间单位,否则不能被抢占,yj,t是布尔变量,如果任务Tj在时刻t完成,则yj,t值为1,否则yj,t值为0;
规则5:如果一个任务在时刻t完成,则在时刻t+1它是完成状态,将属性编码为硬子句:
规则6:如果一个任务在时刻t完成,则它在时刻t之前必定就开始执行了,将属性编码为硬子句:
规则7:将引入的布尔变量之间的约束编码为硬子句:
其中,Clb是假设抢占粒度无穷小时由McNaughton的反转规则计算得到的任务完成时间,以此作为估算最优解的下界;
规则8:调度目标为最小化所有任务的最大完成时间,将目标约束编码为软子句:
zt(Clb≤t≤Cub)
其中,zt是布尔变量,如果所有任务都在t或t时刻前完成,则zt值为1,否则zt值为0;
(S2)将步骤(S1)得到的硬子句和软子句写入.wcnf为后缀的文件,得到PMS问题;
(S3)通过调用LSUPlus解算器计算出PMS问题的最优解,得到最优调度方案。
2.根据权利要求1所述的一种多处理器限制性抢占最优调度方法,其特征在于,所述步骤(S2)中,使用Python代码wcnf.to_file(′maxInstance.wcnf′)将(S1)生成的硬子句和软子句写入maxInstance.wcnf文件,得到PMS问题。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211396785.XA CN115904705B (zh) | 2022-11-09 | 2022-11-09 | 一种多处理器限制性抢占最优调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211396785.XA CN115904705B (zh) | 2022-11-09 | 2022-11-09 | 一种多处理器限制性抢占最优调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115904705A CN115904705A (zh) | 2023-04-04 |
CN115904705B true CN115904705B (zh) | 2023-10-24 |
Family
ID=86473731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211396785.XA Active CN115904705B (zh) | 2022-11-09 | 2022-11-09 | 一种多处理器限制性抢占最优调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115904705B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111459655A (zh) * | 2020-03-03 | 2020-07-28 | 成都理工大学 | 一种求解多处理器过载调度问题最优解的确定性算法 |
CN113448736A (zh) * | 2021-07-22 | 2021-09-28 | 东南大学 | 一种近似计算任务在多核异构处理平台上基于能量和QoS联合优化的任务映射方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020198995A1 (en) * | 2001-04-10 | 2002-12-26 | International Business Machines Corporation | Apparatus and methods for maximizing service-level-agreement profits |
US8732712B2 (en) * | 2010-06-04 | 2014-05-20 | Board Of Regents Of The University Of Texas System | Synthesis of concurrent schedulers for multicore architectures |
US10802876B2 (en) * | 2013-05-22 | 2020-10-13 | Massachusetts Institute Of Technology | Multiprocessor scheduling policy with deadline constraint for determining multi-agent schedule for a plurality of agents |
US10311125B2 (en) * | 2016-07-19 | 2019-06-04 | International Business Machines Corporation | Simplifying clauses for MAX-SAT |
-
2022
- 2022-11-09 CN CN202211396785.XA patent/CN115904705B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111459655A (zh) * | 2020-03-03 | 2020-07-28 | 成都理工大学 | 一种求解多处理器过载调度问题最优解的确定性算法 |
CN113448736A (zh) * | 2021-07-22 | 2021-09-28 | 东南大学 | 一种近似计算任务在多核异构处理平台上基于能量和QoS联合优化的任务映射方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115904705A (zh) | 2023-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110187965B (zh) | 神经网络的运行优化及数据处理方法、设备及存储介质 | |
Gaussier et al. | Online tuning of EASY-backfilling using queue reordering policies | |
CN110213130A (zh) | 一种基于迭代优化的工控协议格式分析方法 | |
CN113157421B (zh) | 一种基于用户作业流程的分布式集群资源调度方法 | |
CN112231081B (zh) | 云环境下基于pso-ahp的单调速率资源调度方法及系统 | |
CN112990850A (zh) | 一种基于规则引擎的流程实现方法及系统 | |
CN113961439A (zh) | 一种基于smt方法的dag任务wcrt计算方法 | |
CN116700176A (zh) | 一种基于强化学习的分布式阻塞流水车间调度优化系统 | |
CN115904705B (zh) | 一种多处理器限制性抢占最优调度方法 | |
CN111176831A (zh) | 基于多线程共享内存通信的动态线程映射优化方法及装置 | |
CN117555683A (zh) | 基于深度强化学习的云集群资源调度方法 | |
Han et al. | An adaptive scheduling algorithm for heterogeneous Hadoop systems | |
CN116974994A (zh) | 一种基于集群的高效能文件协作系统 | |
CN109308216B (zh) | 一种针对不精确计算的单核系统实时任务调度方法 | |
CN115456188B (zh) | 量子计算任务优化处理方法、装置及量子计算机 | |
CN113504966B (zh) | Gpu集群调度策略模拟方法及gpu集群模拟器 | |
CN112698911B (zh) | 一种基于深度强化学习的云作业调度方法 | |
Chakrabortty et al. | Robust optimization based heuristic approach for solving stochastic multi-mode resource constrained project scheduling problem | |
Wei et al. | Composite rules selection using reinforcement learning for dynamic job-shop scheduling | |
CN107832203B (zh) | 一种移动终端渲染性能诊断方法 | |
CN114860435B (zh) | 基于任务选择过程强化学习的大数据作业调度方法 | |
CN110308988B (zh) | 一种应用于异构计算平台的动态调度方法及系统 | |
CN116107724B (zh) | 一种ai加速核调度管理方法、装置、设备及存储介质 | |
CN118133969B (zh) | 一种大语言模型推理加速方法及系统 | |
CN118069471B (zh) | 一种rpa工作流的日志采样方法、存储介质、设备 |
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 |