CN112199172A - 一种面向异构多核处理器的混合式任务调度方法 - Google Patents

一种面向异构多核处理器的混合式任务调度方法 Download PDF

Info

Publication number
CN112199172A
CN112199172A CN202011027749.7A CN202011027749A CN112199172A CN 112199172 A CN112199172 A CN 112199172A CN 202011027749 A CN202011027749 A CN 202011027749A CN 112199172 A CN112199172 A CN 112199172A
Authority
CN
China
Prior art keywords
task
algorithm
task scheduling
list
sparrow
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
Application number
CN202011027749.7A
Other languages
English (en)
Other versions
CN112199172B (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.)
Guilin University of Technology
Original Assignee
Guilin University 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 Guilin University of Technology filed Critical Guilin University of Technology
Priority to CN202011027749.7A priority Critical patent/CN112199172B/zh
Publication of CN112199172A publication Critical patent/CN112199172A/zh
Application granted granted Critical
Publication of CN112199172B publication Critical patent/CN112199172B/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供了一种面向异构多核处理器的混合式任务调度方法。该方法以麻雀搜索算法为基础进行优化,在异构多核环境下的任务调度中,对HEFT算法中任务节点的优先级别进行排序,构造一个任务调度列表,同时设计合理的任务分配编码方案,将麻雀搜索空间映射到离散空间,使麻雀搜索算法适用于离散的异构多核任务调度问题研究上。本发明将HEFT算法与麻雀搜索算法混合,将HEFT算法获得的任务列表加入到麻雀搜索算法的初始化种群中,利用麻雀搜索算法寻优能力强,收敛速度快,性能稳定等优势,执行算法的迭代,从列表中取出优先级最高的任务,将其分配给启动时间最早的处理核上。本发明有效缩短任务执行时间,提升异构多核环境下的任务调度效率。

Description

一种面向异构多核处理器的混合式任务调度方法
技术领域
本发明涉及操作系统领域,具体为一种表调度算法和麻雀搜索算法混合的任务调度方法。
背景技术
随着高性能计算的发展和AI、机器学习、云技术等技术的兴起,结构单一的处理器系统,无法同时满足应用程序的并行计算等多样化需求。因此异构多核处理器应运而生,逐步进入市场。异构多核处理器是由多种类型和不同计算能力的处理核心组成的非对称多核处理器,如何协调这些处理核心间的工作,将任务合理划分,分配到处理器上执行,提升异构多核环境下的任务调度效率,是操作系统领域研究的重点。
任务调度技术的好坏决定系统执行效率的高低,在异构多核处理器间任务调度的研究领域中,传统的任务调度技术一般是基于列表调度算法或者粒子群算法和遗传算法来迭代寻找最优解,在满足任务间依赖的条件下取得任务的最短完成时间。列表调度技术具有时间复杂度和空间复杂度低的优点,但是对于解质量的优劣无法保证。粒子群算法和遗传算法等智能优化算法通过不断搜索邻域来寻找最优解,在一定迭代中找得优质解的能力较强,深受异构多核处理器任务调度研究领域的欢迎。然而,遗传算法操作复杂,实时性差,难以保证寻优时间;粒子群算法虽然操作简单,容易实现,但易出现粒子陷入“早熟”现象和后期陷入局部最优等困境。麻雀搜索算法具有数学模型简单,调用参数少,收敛速度快,寻优能力强等特点,具有较高的全局探索能力和局部开发能力。基于上述背景,我们将列表调度算法与麻雀搜索算法相结合,设计出一种更好的面向异构多核处理器的混合式任务调度方法来缩短总的任务调度长度,提高异构多核环境下的任务调度效率,提升操作系统的性能。
(1)异构多核处理器
异构多核处理器是由多种类型和不同计算能力的处理核心组成的非对称多核处理器,异由核架构模型,任务调度模型和任务调度算法三个部分组成,系统模型是根据系统的硬件环境搭建的数学模型,反映了处理核心的处理指令、执行操作,时间控制和数据处理能力的相关信息;任务调度模型是指根据子任务之间的约束关系和任务本身的调度属性建立的数据模型,它反映了任务的自身信息和任务间执行的顺序;任务调度算法指在系统模型和任务模型间建立起映射关系的约束规则。
(2)HEFT算法
表调度算法HEFT算法的基本思想是以最早完成时间最短为目标,对任务节点的优先级别进行排序,构造一个任务调度序列,从列表中取出优先级最高的任务,将其分配给启动时间最早的处理核上,重复以上步骤,直至多有任务被调度完毕。算法分为两个阶段,在任务排序阶段,通过计算任务节点的优先权值,对他们进行排序构建一个任务调度列表。在任务分配阶段任务分配至处理核心上执行时要对整个DAG图进行遍历,考虑任务间的依赖关系将任务分配到适合的计算内核上,实现任务的总的完成时间最短的目标。
(3)麻雀搜索算法(SSA)
麻雀搜素算法(SSA)主要模拟麻雀群觅食的过程,麻雀是群居类鸟类动物,根据其觅食特点,可分为探索者(发现者)和加入者(追随者),定义为发现者-加入者行为策略,同时叠加了麻雀侦查预警机制。所有麻雀都只有一个属性:位置,代表麻雀找到食物的位置,每只麻雀有三种可能行为:1.作为发现者:负责寻找食物和引导整个群体的移动;2.作为加入者:过追随发现者来获取食物;3.警戒侦查:发现危险,告知同伴,并且放弃食物,转移到新的觅食区域。除此以外,有研究表明,麻雀深谙行为策略,可在发现者和加入者两种角色中任意转换。
发明内容
为提高异构多核环境下的任务调度效率,本发明提出了一种面向异构多核处理器的混合式任务调度算法。这种算法通过将表调度算法以及麻雀搜索算法混合,使用麻雀搜索算法进行迭代寻优前,对HEFT算法获得的任务调度列表进行编码,实现了麻雀与任务调度列表之间的映射。
本发明的技术方案为:
在HEFT算法中构建一个任务调度列表。在使用麻雀搜索算法进行迭代寻优前,要考虑任务调度的性质,设计合理的编码方案以完成麻雀与任务调度列表之间的映射。随机产生一定的麻雀数量,初始化种群,这些麻雀即为任务调度的探索空间;对种群中的麻雀进行发现者位置的更新,跟随者位置更新和侦查预警等操作,计算每一只麻雀的适应度值,在每一次迭代中,选取适应度值较大的麻雀作为发现者,将适应度值较小的麻雀从发现者行列中剔除。更新发现者-跟随者模式。经过多次迭代进化,最终选择种群中适应度值最高的麻雀位置作为任务调度中的最优解的编码。技术方案流程如下:
步骤1:遍历整个DAG图,标记出关键路径;
步骤2:计算当前任务到出口任务的通信开销和当前任务在处理器上执行的处理开销以及任务在不同处理器上执行时间的方差;
步骤3:计算步骤2中三者和的最大值作为ranku,对参数ranku采取非递增的次序方式进行排序构造任务调度列表;
步骤4:对HEFT算法获得的任务调度列表,设计合理的编码方案以完成麻雀与任务调度列表之间的映射;
步骤5:随机产生一定的麻雀数量,初始化种群;
步骤6:计算种群中每只麻雀的的适应度值;将种群分为发现者和追随者,设置麻雀的Xbest
步骤7:计算麻雀的适应度fitness(),将种群分为发现者和加入者,设置麻雀的Xbest
步骤8:更新发现者、加入者意识到危险的麻雀位置;
步骤9:判断是否达到intermax,若达到,输出最优位置最优解作为任务调度最优解的编码;否则转步骤(3)进行下一轮搜索;
步骤10:将步骤9得到的最优解分配到最早开始时间最早的处理器上执行,每一次任务分配执行后将其从调度列表中删除;判断任务调度列表是否为空,若列表非空则转到步骤4;若列表为空,则算法结束,任务调度全部完成。
附图说明
图1为任务调度模型,其中TM表示任务调度模型,PM表示核架构模型,TPA(表示任务调度算法;
图2为基于麻雀搜索算法任务调度的流程图;
图3为SSA算法、GA算法和IPSO算法在100个任务和5个处理器条件下适应度值—迭代次数曲线;
图4为使用以上三种算法在5个处理器和5个不同任务规模下的最优调度长度结果;
图5为在不同任务数情况下三种算法的平均调度长度对比,即算法的平均执行时间。
具体实施方式
下面将结合附图、表和具体实例对本发明作进一步详细描述。
步骤1:遍历整个DAG图,标记出关键路径;
步骤2:计算当前任务到出口任务的通信开销和当前任务在处理器上执行的处理开销以及任务在不同处理器上执行时间的方差;
步骤3:计算步骤2中三者和的最大值作为ranku,对参数ranku采取非递增的次序方式进行排序构造任务调度列表;
步骤4:对HEFT算法获得的任务调度列表,设计合理的编码方案以完成麻雀与任务调度列表之间的映射,包括如下子步骤:
步骤4.1:编码方案
对HEFT算法获得的任务调度列表,设计合理的编码表,由随机函数随机产生小于任务总数的正整数序列,将每一只麻雀觅食位置的矢量信息转换成满足一定互联结构的任务调度序列表。麻雀觅食位置矢量定义为一个矩阵X。
Figure BDA0002702614480000041
对于任务i赋予的1~d的随机数,表示任务i的优先权Pi,从而将群体中麻雀觅食的一个连续位置向量Xi=[Xi,1,Xi,2,Xi,3,...Xi,d]转化为一个任务优先级序列π=(p1,p2,p3,...pd)。每一个潜在解都是有效的,麻雀搜索算法在搜索进程中不会被修改信息.参照表1是P1,P2两个处理器上任务分配时的编码方案。
表1任务分配编码方案
任务Ti T4 T9 T2 T5 T1 T6 T7 T8 T3
优先级 1 2 3 4 5 6 7 8 9
步骤4.2:解码方案
在得到麻雀觅食位置的信息之后,根据其适应度的好坏将麻雀分类成发现者和跟随者。以确定发现者未来新的觅食方向。本文将调度长度makespan,即任务调度的全部完成时间作为目标函数。makespan越小,全部任务的最晚完成时间越短,调度方案可行性越高。目标函数公式如下:
f(x)=max{eft(Ti)}i=1,2,3...n; (2)
其中,eft(Ti)表示任务Ti的最早执行完成时间.在计算调度长度时需要对编码方案进行解码,参照任务优先级规则排列任务的调度序列,要求前驱任务被执行完之后下一个任务才能调度;并且在满足任务间约束依赖的条件下,高优先任务被执行完后,下一级任务才会被执行,由此可以确定一个任务调度列表。
经过以上分析可知,最后一个任务执行完成的时间就是全部任务完成的时间,用eft(Ti)表示。ci,j表示任务在处理器上的通信开销。若任务为入口任务节点。则任务的全部完成时间为
Figure BDA0002702614480000042
若任务存在先序任务节点,则任务完成的全部时间为任务Ti的直接前驱任务Tj的计算产生的开销与任务间通信开销和的最大值。计算公式如下:
Figure BDA0002702614480000051
其中,
Figure BDA0002702614480000052
表示任务Ti接收到其直接前驱任务Tj发送的数据的最晚完成时间。任务优先级值和处理器数目被取余操作以获得对处理器的任务分配。任务分配解码方案如表2所示:
表2任务分配解码方案
任务Ti T1 T2 T6 T3 T5 T7 T4 T8 T9
处理器 P1 P1 P2 P1 P2 P2 P1 P2 P1
步骤5:随机产生一定的麻雀数量,初始化种群;
步骤6:计算种群中每只麻雀的的适应度值;将种群分为发现者和追随者,设置麻雀的Xbest
步骤7:计算麻雀的适应度fitness(),将种群分为发现者和加入者,设置麻雀的Xbest
步骤8:更新发现者、加入者意识到危险的麻雀位置;
步骤9:判断是否达到intermax,若达到,输出最优位置最优解作为任务调度最优解的编码;否则转步骤(3)进行下一轮搜索;
步骤10:将步骤9得到的最优解分配到最早开始时间最早的处理器上执行,每一次任务分配执行后将其从调度列表中删除;判断任务调度列表是否为空,若列表非空则转到步骤4;若列表为空,则算法结束,任务调度全部完成。

Claims (1)

1.一种面向异构多核处理器的混合式任务调度方法,其特征在于:通过将表调度算法与麻雀搜索算法相结合,缩短总的任务调度时间,包括以下步骤:
步骤1:遍历整个DAG图,标记出关键路径;
步骤2:计算当前任务到出口任务的通信开销和当前任务在处理器上执行的处理开销以及任务在不同处理器上执行时间的方差;
步骤3:计算步骤2中三者和的最大值作为ranku,对参数ranku采取非递增的次序方式进行排序构造任务调度列表;
步骤4:对HEFT算法获得的任务调度列表,设计合理的编码方案以完成麻雀与任务调度列表之间的映射;
步骤5:随机产生一定的麻雀数量,初始化种群;
步骤6:计算种群中每只麻雀的的适应度值;将种群分为发现者和追随者,设置麻雀的Xbest
步骤7:计算麻雀的适应度fitness(),将种群分为发现者和加入者,设置麻雀的Xbest
步骤8:更新发现者、加入者意识到危险的麻雀位置;
步骤9:判断是否达到intermax,若达到,输出最优位置最优解作为任务调度最优解的编码;否则转步骤(3)进行下一轮搜索;
步骤10:将步骤9得到的最优解分配到最早开始时间最早的处理器上执行,每一次任务分配执行后将其从调度列表中删除;判断任务调度列表是否为空,若列表非空则转到步骤4;若列表为空,则算法结束,任务调度全部完成。
CN202011027749.7A 2020-09-25 2020-09-25 一种面向异构多核处理器的混合式任务调度方法 Active CN112199172B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011027749.7A CN112199172B (zh) 2020-09-25 2020-09-25 一种面向异构多核处理器的混合式任务调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011027749.7A CN112199172B (zh) 2020-09-25 2020-09-25 一种面向异构多核处理器的混合式任务调度方法

Publications (2)

Publication Number Publication Date
CN112199172A true CN112199172A (zh) 2021-01-08
CN112199172B CN112199172B (zh) 2024-05-24

Family

ID=74007375

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011027749.7A Active CN112199172B (zh) 2020-09-25 2020-09-25 一种面向异构多核处理器的混合式任务调度方法

Country Status (1)

Country Link
CN (1) CN112199172B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112764903A (zh) * 2021-01-22 2021-05-07 西安电子科技大学 异构环境下带有特殊任务的任务调度方法、系统及应用
CN112862212A (zh) * 2021-03-09 2021-05-28 无锡弘宜智能科技有限公司 基于改进麻雀搜索算法的多agv调度方法、装置及设备
CN113902174A (zh) * 2021-09-16 2022-01-07 燕山大学 一种阻塞流水车间调度问题的改进麻雀搜索优化方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101604258A (zh) * 2009-07-10 2009-12-16 杭州电子科技大学 一种嵌入式异构多处理器系统的任务调度方法
US20130159330A1 (en) * 2011-12-14 2013-06-20 Joseph Smith System and Methods for Tasking, Collecting, and Dispatching Information Reports
CN104252383A (zh) * 2014-09-16 2014-12-31 江苏科技大学 基于混沌粒子群算法的可重构计算的软硬件任务划分方法
CN107578178A (zh) * 2017-09-11 2018-01-12 合肥工业大学 基于变邻域搜索和引力搜索混合算法的调度方法及系统
US20180136976A1 (en) * 2016-11-14 2018-05-17 King Abdulaziz University Temporal task scheduling in a hybrid system
US20180300174A1 (en) * 2017-04-17 2018-10-18 Microsoft Technology Licensing, Llc Efficient queue management for cluster scheduling
CN111027665A (zh) * 2019-12-02 2020-04-17 浙江工业大学 一种基于改进混沌蝙蝠群算法的云制造调度方法
CN112181598A (zh) * 2020-10-12 2021-01-05 内蒙古农业大学 基于改进遗传算法的云计算任务调度方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101604258A (zh) * 2009-07-10 2009-12-16 杭州电子科技大学 一种嵌入式异构多处理器系统的任务调度方法
US20130159330A1 (en) * 2011-12-14 2013-06-20 Joseph Smith System and Methods for Tasking, Collecting, and Dispatching Information Reports
CN104252383A (zh) * 2014-09-16 2014-12-31 江苏科技大学 基于混沌粒子群算法的可重构计算的软硬件任务划分方法
US20180136976A1 (en) * 2016-11-14 2018-05-17 King Abdulaziz University Temporal task scheduling in a hybrid system
US20180300174A1 (en) * 2017-04-17 2018-10-18 Microsoft Technology Licensing, Llc Efficient queue management for cluster scheduling
CN107578178A (zh) * 2017-09-11 2018-01-12 合肥工业大学 基于变邻域搜索和引力搜索混合算法的调度方法及系统
CN111027665A (zh) * 2019-12-02 2020-04-17 浙江工业大学 一种基于改进混沌蝙蝠群算法的云制造调度方法
CN112181598A (zh) * 2020-10-12 2021-01-05 内蒙古农业大学 基于改进遗传算法的云计算任务调度方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李静梅;张博;: "一种粒子群优化的异构多处理器任务调度算法", 小型微型计算机系统, no. 05 *
翟文正;胡越黎;冉峰;: "异构多核DAG任务模型的微粒群优化调度算法", 计算机工程与设计, no. 07 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112764903A (zh) * 2021-01-22 2021-05-07 西安电子科技大学 异构环境下带有特殊任务的任务调度方法、系统及应用
CN112862212A (zh) * 2021-03-09 2021-05-28 无锡弘宜智能科技有限公司 基于改进麻雀搜索算法的多agv调度方法、装置及设备
CN113902174A (zh) * 2021-09-16 2022-01-07 燕山大学 一种阻塞流水车间调度问题的改进麻雀搜索优化方法
CN113902174B (zh) * 2021-09-16 2024-04-26 燕山大学 一种阻塞流水车间调度问题的改进麻雀搜索优化方法

Also Published As

Publication number Publication date
CN112199172B (zh) 2024-05-24

Similar Documents

Publication Publication Date Title
CN112199172A (zh) 一种面向异构多核处理器的混合式任务调度方法
Lee et al. Cost-aware Bayesian optimization
Talbi Automated design of deep neural networks: A survey and unified taxonomy
CN110008023B (zh) 基于遗传算法的云计算系统预算约束随机任务调度方法
Min-Allah et al. Cost efficient resource allocation for real-time tasks in embedded systems
Chen et al. Task scheduling in grid based on particle swarm optimization
Moreira et al. Graph partitioning with acyclicity constraints
CN112434779B (zh) 一种基于改进蚁群算法的紧耦合任务分配方法
Shojaee et al. A new cat swarm optimization based algorithm for reliability-oriented task allocation in distributed systems
Miglani et al. Modified particle swarm optimization based upon task categorization in cloud environment
CN114461386A (zh) 任务分配方法及任务分配装置
US11714834B2 (en) Data compression based on co-clustering of multiple parameters for AI training
US20070094214A1 (en) Parallelization of bayesian network structure learning
CN112256422B (zh) 基于q学习的异构平台任务调度方法及系统
CN108415773B (zh) 一种基于融合算法的高效软硬件划分方法
Deniziak et al. Hardware/software co-synthesis of distributed embedded systems using genetic programming
CN112035234A (zh) 分布式批量作业分配方法及装置
CN115756646A (zh) 一种基于工业互联网的边缘计算任务卸载优化方法
CN116484948A (zh) 事件预测方法、装置及电子设备
CN115617510A (zh) 一种基于信息素遗传蚁群算法的服务器动态均衡方法及系统
CN114980216A (zh) 基于移动边缘计算的依赖型任务卸载系统及方法
CN108415783B (zh) 一种基于改进蜂群算法的异构多核任务分配方法
CN113407336A (zh) 基于禁忌搜索优化算法的全比较数据分发方法
Srikanth et al. Task scheduling model
Rashid et al. A modified artificial bee colony algorithm to optimise integrated assembly sequence planning and assembly line balancing

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