CN106970840A - 一种结合任务调度的软硬件划分方法 - Google Patents
一种结合任务调度的软硬件划分方法 Download PDFInfo
- Publication number
- CN106970840A CN106970840A CN201710115285.7A CN201710115285A CN106970840A CN 106970840 A CN106970840 A CN 106970840A CN 201710115285 A CN201710115285 A CN 201710115285A CN 106970840 A CN106970840 A CN 106970840A
- Authority
- CN
- China
- Prior art keywords
- solution
- algorithm
- task
- scheduling
- hardware
- 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.)
- Pending
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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种结合任务调度的软硬件划分方法:选择群体智能优化算法用于软硬件划分,设置软硬件划分算法的参数;算法随机生成一组符合约束条件的解作为初始解;用任务调度算法对每个解进行任务调度,计算调度后每个解所对应的任务实际执行时间,通过这一时间的多少来评估解的质量;根据每个解所对应的任务实际执行时间,对每个解进行迭代更新获得一组新的解;对新的解中的每个解进行任务调度,计算其对应的任务实际执行时间,如果新的解符合约束条件并且优于对应的原始解,则用新的解代替对应的原始解,否则保留对应的原始解或随机生成符合约束条件的解;找出最优解并记录;一次更新迭代完成件;输出当前记录的最优解。本发明有效增加划分方案的实用性与精确性。
Description
技术领域
本发明涉及一种软硬件划分方法。特别是涉及一种用于需要考虑不同处理单元执行先后顺序的复杂嵌入式系统的结合任务调度的软硬件划分方法。
背景技术
软硬件划分问题可以用一个二元组G=<V,E>表示。其中V={V0,V1,…,Vn}是整个系统任务单元的集合,Vi表示第i个任务节点,E={(Vi,Vj)|Vi,Vj∈V}表示Vi与Vj两个任务节点之间的数据依赖关系。每个节点Vi的属性如式(1)所示:
Vi=<Vtype,Ts,Th,C(j),Ah,Ps,Ph…> (1)
Vtype代表节点Vi的实现方式。Vtype={sw,hw}代表节点有软件和硬件两种实现方式,Ts和Th分别代表软件和硬件的执行时间。C(j)表示当节点Vi和Vj实现方式不同时的通信耗时。Ah表示硬件面积。Ps和Ph分别表示软件和硬件的功耗成本。优化目标通常是总任务的实际执行时间T(V),TE(Vi)表示调度后每个任务节点Vi的完成时间。其数学模型如式(2)所示:
软硬件划分技术中的关键是对划分算法的选取。通常情况下,用于软硬件划分的算法包括混洗蛙跳算法(Shuffled Frog Leap Algorithm,SFLA),禁忌搜索算法(TabuSearch,TS),人工蜂群算法(Artificial Bee Colony,ABC),蚁群算法(Ant ColonyOptimization,ACO),粒子群算法(Particle Swarm Optimization,PSO),动态规划算法(Dynamic Programming,DP)等。不同的划分算法会对划分方案的好坏产生较大的影响。
由于不同处理单元之间存在并行性,并且处理单元会受到数量及类型的限制,因此当通过某一软硬件划分方案给任务分配好处理单元之后,不同的任务需要却定其在处理单元上执行的先后顺序。任务的执行顺序不同,完成所有任务所需总耗时便会有差别,即整个任务集的实际执行时间会有所不同。确定任务的在处理器上的执行顺序即为任务调度。
传统的软硬件划分技术通常把软硬件划分过程与任务调度分开考虑,这样就会影响划分方案的实用性与准确性。
发明内容
本发明所要解决的技术问题是,提供一种在软硬件划分的过程中引入任务调度,能够有效增加划分方案实用性与精确性的结合任务调度的软硬件划分方法。
本发明所采用的技术方案是:一种结合任务调度的软硬件划分方法,包括如下步骤:
1)选择群体智能优化算法中的一种算法用于软硬件划分,设置软硬件划分算法的参数,包括算法的最大迭代次数、算法终止条件、算法约束条件以及每一代解的规模,并将任务调度后的执行时间作为寻优目标;
2)算法随机生成一组符合约束条件的解作为初始解,其中,每个解对应一种软硬件划分方案;
3)用任务调度算法对每个解进行任务调度,计算调度后每个解所对应的任务实际执行时间,通过这一时间的多少来评估解的质量;
4)根据每个解所对应的任务实际执行时间,按照所选择的用于软硬件划分算法中的更新规则对每个解进行迭代更新,获得一组新的解;
5)对获得的一组新的解中的每个解进行任务调度,计算调度后每个解所对应的任务实际执行时间,如果新的解符合约束条件并且优于对应的原始解,则用新的解代替对应的原始解,否则保留对应的原始解或随机生成符合约束条件的解;
6)找出最优解,并记录最优解以及所述最优解对应的任务实际执行时间;
7)一次更新迭代完成,判断是否达到算法的最大迭代次数或者算法终止条件,若是,则进行步骤8),若否,则返回步骤4);
8)输出当前记录的最优解。
步骤5)所述的优于原来的解,是指根据调度后的任务执行时间的多少来评估新的解是否优于原来的解。
本发明的一种结合任务调度的软硬件划分方法,在软硬件划分算法的运行过程中引入任务调度,从而有效增加划分方案的实用性与精确性。本发明的方法所获得的解要比只运行软硬件划分算法所获得的解具备更高的质量,前者所获得的方案对应的任务实际执行时间要低于后者。
附图说明
图1是本发明一种结合任务调度的软硬件划分方法的流程图。
具体实施方式
下面结合实施例和附图对本发明的一种结合任务调度的软硬件划分方法做出详细说明。
如图1所示,本发明的一种结合任务调度的软硬件划分方法,包括如下步骤:
1)选择群体智能优化算法中的一种算法用于软硬件划分,设置软硬件划分算法的参数,包括算法的最大迭代次数、算法终止条件、算法约束条件以及每一代解的规模,并将任务调度后的执行时间作为寻优目标,执行时间越小,解的质量越好;
2)算法随机生成一组符合约束条件的解作为初始解,其中,每个解对应一种软硬件划分方案;
3)用任务调度算法对每个解进行任务调度,计算调度后每个解所对应的任务实际执行时间,通过这一时间的多少来评估解的质量;
4)根据每个解所对应的任务实际执行时间,按照所选择的用于软硬件划分算法中的更新规则对每个解进行迭代更新,获得一组新的解;
5)对获得的一组新的解中的每个解进行任务调度,计算调度后每个解所对应的任务实际执行时间,如果新的解符合约束条件并且优于对应的原始解,则用新的解代替对应的原始解,否则保留对应的原始解或随机生成符合约束条件的解,所述的优于原来的解,是指根据调度后的任务执行时间的多少来评估新的解是否优于原来的解;
6)找出最优解,并记录最优解以及所述最优解对应的任务实际执行时间;
7)一次更新迭代完成,判断是否达到算法的最大迭代次数或者算法终止条件,若是,则进行步骤8),若否,则返回步骤4);
8)输出当前记录的最优解。
下面给出具体实例:
实例1
本发明的实施例可以采用群体智能优化算法中性能较好的SFLA算法结合表调度算法中的ETF算法进行实现,具体实施步骤如下:
(1)设置SFLA算法的参数,青蛙数目n=20,分组数目m=4,步长概率为2/7,最大迭代次数为1500次,算法终止条件为150次无效迭代。设置面积约束大小LIM,以任务调度后的调度长度Tsch(V)作为解的适应度函数,即任务实际执行时间。
(2)初始化青蛙种群,即随机生成20个符合约束条件的初始解。
(3)采用ETF算法对初始解进行任务调度,计算每个解对应的调度长度Tsch(V)。
(4)根据每个解对应的调度长度Tsch(V),对所有解从小到大进行排序。
(5)按照排序后的顺序将所有解依次分成4组,根据每个解的调度长度Tsch(V)找出并记录每组中的最优青蛙xib和最差青蛙xiw以及全局最优青蛙xB。
(6)依次对每组内的最差青蛙xiw进行更新。首先以组内最优青蛙xib为引导更新组内最差青蛙xiw,对更新后的解用ETF算法进行任务调度并计算其对应的调度长度Tsch(V)。如果更新后解的调度长度Tsch(V)小于更新前的解的调度长度Tsch(V),则用更新后的解代替更新前的解。若没有获得更优的解,则需要以全局最优青蛙xB为引导更新组内最差青蛙xiw,同样对更新后的解进行任务调度并获得其调度长度Tsch(V),如果调度长度Tsch(V)比更新前小,则用更新后的解替换更新前的解,否则,随机生成一个可行解替代组内最差青蛙xib。
(7)记录本次迭代的最优解以及当前每个解的调度长度Tsch(V)。
(8)一次迭代完成,判断是否达到最大迭代次数或者算法终止条件,若是则进行步骤(9),若否则返回步骤(4)。
(9)输出最终获得的最优解。
本发明的实例1,如果在划分过程中用ETF任务调度算法进行任务调度与不进行任务调度所获得解的质量提升效果如表1所示:
表1SFLA引入ETF算法求解质量提高百分比
可以看出,针对50到1000节点不同的任务规模,本发明的求解质量均比原始算法更优。
实例2
本发明的实施例可以采用群体智能优化算法中的ABC算法结合表调度算法中的ETF算法进行实现,具体实施步骤如下:
(1)设置ABC算法的参数,蜜蜂数量N=15,食物源S=7,最大迭代次数为1500次,算法终止条件为150次无效迭代。设置硬件面积约束为LIM,以任务调度后的调度长度Tsch(V)作为解的适应度函数,即任务实际执行时间。
(2)初始化所有食物源,即随机生成7个符合约束条件的初始解。每一个食物源对应一种软硬件划分方案。
(3)采用ETF算法对初始解进行任务调度,计算每个解对应的调度长度Tsch(V)。
(4)采蜜蜂根据每个食物源对应的调度长度Tsch(V)调整搜索方向,如果搜索到的新的食物源比原来的食物源更优,则用新的食物源代替原来的食物源。否则,仍然保留原来的食物源。
(5)当采蜜蜂完成了对食物源的搜索后,根据调度长度Tsch(V)对每一个食物源的开采概率pi进行计算。观察蜂从采蜜蜂处获得信息,依据开采概率pi对食物源进行更新。
(6)当观察蜂对某一食物源的更新次数超过了算法终止条件并且食物源的调度长度Tsch(V)依然保持不变,那么就放弃该食物源。相应的采蜜蜂转变为侦查蜂,重新搜索新的蜜源取代该食物源。
(7)记录本次迭代的最优解以及每个解的调度长度Tsch(V)。
(8)一次迭代完成,判断是否达到最大迭代次数,若是则进行步骤(9),若否则返回步骤(4)。
(9)输出最终获得的最优解。
本发明的实例2,如果在划分过程中采用ETF任务调度算法进行任务调度与不进行任务
调度所获得的解的质量的提升效果如表2所示。
表2ABC引入ETF算法求解质量提高百分比
可以看出,针对50到1000节点不同的任务规模,本发明的求解质量比原始算法更优。
Claims (2)
1.一种结合任务调度的软硬件划分方法,其特征在于,包括如下步骤:
1)选择群体智能优化算法中的一种算法用于软硬件划分,设置软硬件划分算法的参数,包括算法的最大迭代次数、算法终止条件、算法约束条件以及每一代解的规模,并将任务调度后的执行时间作为寻优目标;
2)算法随机生成一组符合约束条件的解作为初始解,其中,每个解对应一种软硬件划分方案;
3)用任务调度算法对每个解进行任务调度,计算调度后每个解所对应的任务实际执行时间,通过这一时间的多少来评估解的质量;
4)根据每个解所对应的任务实际执行时间,按照所选择的用于软硬件划分算法中的更新规则对每个解进行迭代更新,获得一组新的解;
5)对获得的一组新的解中的每个解进行任务调度,计算调度后每个解所对应的任务实际执行时间,如果新的解符合约束条件并且优于对应的原始解,则用新的解代替对应的原始解,否则保留对应的原始解或随机生成符合约束条件的解;
6)找出最优解,并记录最优解以及所述最优解对应的任务实际执行时间;
7)一次更新迭代完成,判断是否达到算法的最大迭代次数或者算法终止条件,若是,则进行步骤8),若否,则返回步骤4);
8)输出当前记录的最优解。
2.根据权利要求1所述的一种结合任务调度的软硬件划分方法,其特征在于,步骤5)所述的优于原来的解,是指根据调度后的任务执行时间的多少来评估新的解是否优于原来的解。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710115285.7A CN106970840A (zh) | 2017-02-28 | 2017-02-28 | 一种结合任务调度的软硬件划分方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710115285.7A CN106970840A (zh) | 2017-02-28 | 2017-02-28 | 一种结合任务调度的软硬件划分方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106970840A true CN106970840A (zh) | 2017-07-21 |
Family
ID=59330021
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710115285.7A Pending CN106970840A (zh) | 2017-02-28 | 2017-02-28 | 一种结合任务调度的软硬件划分方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106970840A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109978160A (zh) * | 2019-03-25 | 2019-07-05 | 北京中科寒武纪科技有限公司 | 人工智能处理器的配置装置、方法及相关产品 |
CN110928751A (zh) * | 2019-10-12 | 2020-03-27 | 平安国际智慧城市科技股份有限公司 | 任务处理时间自动预测方法、装置、介质及电子设备 |
-
2017
- 2017-02-28 CN CN201710115285.7A patent/CN106970840A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109978160A (zh) * | 2019-03-25 | 2019-07-05 | 北京中科寒武纪科技有限公司 | 人工智能处理器的配置装置、方法及相关产品 |
CN109978160B (zh) * | 2019-03-25 | 2021-03-02 | 中科寒武纪科技股份有限公司 | 人工智能处理器的配置装置、方法及相关产品 |
CN110928751A (zh) * | 2019-10-12 | 2020-03-27 | 平安国际智慧城市科技股份有限公司 | 任务处理时间自动预测方法、装置、介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Guo et al. | Cloud resource scheduling with deep reinforcement learning and imitation learning | |
Meng et al. | A hybrid artificial bee colony algorithm for a flexible job shop scheduling problem with overlapping in operations | |
Wagner et al. | Time series forecasting for dynamic environments: the DyFor genetic program model | |
Carr et al. | Parallel peak pruning for scalable SMP contour tree computation | |
CN110134714A (zh) | 一种适用于大数据迭代计算的分布式计算框架缓存索引 | |
CN107908536B (zh) | Cpu-gpu异构环境中对gpu应用的性能评估方法及系统 | |
Chandra et al. | Web service selection using modified artificial bee colony algorithm | |
CN106371924A (zh) | 一种最小化MapReduce集群能耗的任务调度方法 | |
Srivastava et al. | A parallel framework for constraint-based Bayesian network learning via Markov blanket discovery | |
Zhu et al. | FedOVA: one-vs-all training method for federated learning with non-IID data | |
CN114461368A (zh) | 一种基于协同果蝇算法的多目标云工作流调度方法 | |
US20070094214A1 (en) | Parallelization of bayesian network structure learning | |
CN106970840A (zh) | 一种结合任务调度的软硬件划分方法 | |
Michelakos et al. | A hybrid classification algorithm evaluated on medical data | |
Pan et al. | Overlapping community detection via leader-based local expansion in social networks | |
Jovanovic et al. | Comparison of different topologies for island-based multi-colony ant algorithms for the minimum weight vertex cover problem | |
Avin et al. | Deterministic self-adjusting tree networks using rotor walks | |
Li et al. | Search experience-based search adaptation in artificial bee colony algorithm | |
Liu et al. | Promoting generalization for exact solvers via adversarial instance augmentation | |
Zhang et al. | GraphA: Efficient partitioning and storage for distributed graph computation | |
CN114691327A (zh) | 面向两阶段任务调度的多目标群智能优化方法与系统 | |
Madureira et al. | Ant colony system based approach to single machine scheduling problems: weighted tardiness scheduling problem | |
Lu et al. | A hybrid of fish swarm algorithm and shuffled frog leaping algorithm for attribute reduction | |
CN106383863A (zh) | 一种同构子图查询优化方法 | |
Eiben et al. | Fitness, Selection, and Population Management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170721 |