CN109582457A - 片上网络异构多核系统任务调度与映射 - Google Patents
片上网络异构多核系统任务调度与映射 Download PDFInfo
- Publication number
- CN109582457A CN109582457A CN201710902004.2A CN201710902004A CN109582457A CN 109582457 A CN109582457 A CN 109582457A CN 201710902004 A CN201710902004 A CN 201710902004A CN 109582457 A CN109582457 A CN 109582457A
- Authority
- CN
- China
- Prior art keywords
- task
- computing unit
- subtask
- indicates
- particle
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- 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/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/109—Integrated on microchip, e.g. switch-on-chip
-
- 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
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
片上网络异构多核系统任务调度与映射,重新设计了任务模型,使其能真实反映子任务间调度与制约关系。适应性的设计改进粒子群优化算法,使其适用于异构多核任务调度映射问题,并克服了算法本身容易陷入局部最优、后期局部搜索能力差的缺陷。本发明利用其将一个大的任务按照通信及调用关系分割成数个具有高并行性、粒度大小合适的子任务,结合任务性质分配到相应的计算单元上,在任务执行时间短、占用系统资源少、功耗均衡的前提下,进一步降低整个系统的通信延时。
Description
所属技术领域
本发明涉及片上网络的设计,尤其涉及片上网络中任务调度与映射问题。
背景技术
片上网络是一种新型的高性能片上互联方式,其能够将计算与通信分离,使计算与通信 并行化处理,大大提高了计算速度与通信效率。基于片上网络的系统能更好地适应在未来复 杂多核片上系统设计中使用的全局异步局部同步的时钟机制,是新一代复杂计算体系结构的 必然选择。然而,片上网络也给系统设计带来很多新的问题与挑战,任务的调度映射问题成 为研究重点,决定了任务在体系结构上的实现方式、处理性能和效率。调度问题的通用解决 思路是将任务抽象成某种形式的模型来设计调度算法,根据子任务之间的信息,以整个系统 运行时间最短为目标对任务进行分配与调度,其中主要包括任务模型的建立、调度算法的设 计以及映射方法三个关键部分。
对于任务模型方面,最为普遍的是有向无环图(di-rected acyclic graph,DAG)模型。DAG 模型将任务间的关系简单抽象为前后调用关系、数据通信量以及其在不同计算单元上的运算 时间,而任务间的相互依赖关系复杂,其他影响因素例如任务类型、其对应的计算单元的种 类、子任务在不同计算单元上的运行成本等,DAG模型并没有全面包含,且模型较少地考虑 任务在不同计算单元间的迁移成本。
在调度算法方面,从进行调度决策的时机来看,可以分为静态调度和动态调度。静态任 务调度是由编译器在编译时进行调度决策。例如基于列表的算法、聚类算法和基于副本的算 法。静态调度模型有一些缺点,如模型只是基于对处理器间通信和执行时间的近似估计,会 产生不好的调度结果。动态任务调度是根据系统中实际任务运行时的情况实时将其调度到相 应的计算单元上执行,并满足系统所要求的各项约束指标,例如基于遗传算法和蚁群的启发 式任务调度、基于任务池库的动态调度算法、粒子群优化算法以及基于实时性约束的动态调 度算法等。在实际应用中,这些算法本身的问题容易导致运行过程中产生种种弊端。例如遗 传算法参数较多、编程实现比较复杂,且易陷入局部最优;蚁群算法前期不能很好地覆盖全 部集合;粒子群优化算法较遗传算法更加方便高效,但是其初期收敛速度过快,易陷入局部 最优,后期的局部搜索能力较差,收敛速度缓慢。以上种种问题导致应用传统算法进行调度 计算都会导致结果与最优值间存在差距。
对于映射问题就是将任务图中的IP核放置在拓扑结构的资源上的过程,决定了lP核与 网络中的路由器的连接关系。在给定网络拓扑结构和具体应用通信任务图的情况下,IP核在 网络中的相对位置对片上网络系统的性能有着重要的影响。因此,IP核映射是片上网络系统 设计中的一个关键步骤,也是本文研究的重点。随着用户需求的增长,片上网络系统芯片上 IP核的集成密度日益增长,映射问题的搜索空间随着网络规模的增长呈阶乘递增,因此传统 求解方法具有一定的难度,常采用启发式算法解决该类问题。
发明内容
本发明的目的是为解决异构片上网络任务调度问题,使算法调度结果更加高效、实用, 设计了片上网络异构多核系统任务调度与映算法。
本发明解决其技术问题所采用的技术方案是:
本发明重新设计了任务模型,使其能真实反映子任务间调度与制约关系。适应性的设计 改进粒子群优化算法,使其适用于异构多核任务调度映射问题,并克服了算法本身容易陷入 局部最优、后期局部搜索能力差的缺陷。利用其将一个大的任务按照通信及调用关系分割成 数个具有高并行性、粒度大小合适的子任务,结合任务性质分配到相应的计算单元上,在任 务执行时间短、占用系统资源少、功耗均衡的前提下,进一步降低整个系统的通信延时。
所述的任务调度模型将任务抽象为一个五元组ODAG=(V,E,S,U,C),式中:V表示任务节 点集,即顶点v∈V表示一个子任务;E表示边集,边eij∈E表示任务vi到vj存在数据通信, 方向表示数据传递方向;S表示任务类型,其与计算单元的类型对应,即任务只能被分配到与 之类型匹配的计算单元上执行,可以通过矩阵D={da,b}表示,元素da,b=∞表示任务va不适 宜在计算单元pb上执行,da,b=t表示va可以在pb上执行,执行时间为t。元素Ur∈U表示第 r种计算单元的单位时间运行成本。元素Cij∈C表示子任务vi通过边eij到vj的迁移成本,当vi到vj分配到同一个计算单元上时,Cij为0。子任务映射到计算单元上,会形成具有通信关系 的通信核图,可以抽象为一个三元组:CDAG=(P,R,T),式中:P表示通信核图中的计算单元集 合,其中顶点pn(r)∈P,η是计算单元的唯一识别编码,r为类型编码;R表示边集,边rxy∈R 表示计算单元px与py之间存在数据交换;T为计算单元间的通信开销,Txy表示计算单元px与 py之间的通信总量。
所述的调度算法的中编解码中设一个任务中包含N个子任务,系统中有M个可利用的计 算单元,这些计算单元可分为m种,按子任务数与计算单元数的大小关系,并根据计算单元 数与子任务数的大小关系进行编码。
所述的适应度函数为式中:表示第s个粒子的对应映射方案的任务总完 成时间。成本的适应度函数为式中:和分别表示第s个粒子的对 应映射方案的任务总运行成本和迁移成本。根据子任务分配到计算单元所在的位置,定义通 信成本适应度函数为式中,表示第s个粒子的对应映射方案的任务总通信 成本。粒子总的适应度函数为算法选择总适应度高的粒子,为进化 出下一代优秀的粒子提供优良基础。α、β和δ为权重系数,表示在粒子选择时更侧重于哪 方面的性能。
具体实施方式
本发明重新设计了任务模型,使其能真实反映子任务间调度与制约关系。适应性的设计 改进粒子群优化算法,使其适用于异构多核任务调度映射问题,并克服了算法本身容易陷入 局部最优、后期局部搜索能力差的缺陷。利用其将一个大的任务按照通信及调用关系分割成 数个具有高并行性、粒度大小合适的子任务,结合任务性质分配到相应的计算单元上,在任 务执行时间短、占用系统资源少、功耗均衡的前提下,进一步降低整个系统的通信延时。
所述的任务调度模型将任务抽象为一个五元组ODAG=(V,E,S,U,C),式中:V表示任务节 点集,即顶点v∈V表示一个子任务;E表示边集,边eij∈E表示任务vi到vj存在数据通信, 方向表示数据传递方向;S表示任务类型,其与计算单元的类型对应,即任务只能被分配到与 之类型匹配的计算单元上执行,可以通过矩阵D={da,b}表示,元素da,b=∞表示任务va不适 宜在计算单元pb上执行,da,b=t表示va可以在pb上执行,执行时间为t。元素Ur∈U表示第 r种计算单元的单位时间运行成本。元素Cij∈C表示子任务vi通过边eij到vj的迁移成本,当vi到vj分配到同一个计算单元上时,Cij为0。子任务映射到计算单元上,会形成具有通信关系 的通信核图,可以抽象为一个三元组:CDAG=(P,R,T),式中:P表示通信核图中的计算单元 集合,其中顶点pn(r)∈P,η是计算单元的唯一识别编码,r为类型编码;R表示边集,边 rxy∈R表示计算单元px与py之间存在数据交换;T为计算单元间的通信开销,Txy表示计算 单元px与py之间的通信总量。
所述的调度算法的中编解码中设一个任务中包含N个子任务,系统中有M个可利用的计 算单元,这些计算单元可分为m种,按子任务数与计算单元数的大小关系,编码分为以下 3种情况。
1.计算单元数等于子任务数。粒子编码长度等于子任务数,假设N=M=10,粒子(2,3,5, 1,10,8,6,9,7,4)即是一个可行的调度方案。
2.计算单元数大于子任务数。粒子编码长度等于计算单元的数目,编码时首先添加M-N 个虚拟子任务,这些子任务在任意计算单元上的执行时间均为O,它们与其他N个子任务间的 通信量为O。
3.计算单元数小于子任务数。首先采用线性聚簇的思想,将通信量大且能在同一个计算 单元上执行的子任务合并,直到合并后的子任务数等于计算单元数。对于ODAG,首先将所 有子任务中相邻的有通信关系且其对应计算单元类型有交集的子任务按照通信量的大小排 序,然后按照通信量,从大到小进行合并,直到子任务数等于计算单元数。
所述的调度算法中的解码方面,算法结束后,会得到一个最优的计算单元序列,每个计 算单元所在的位置序列即代表其需要执行的子任务编号。对于计算单元数目大于子任务数的 情况,由于虚拟子任务是不占用运算资源和通信资源的,所以运行虚拟子任务的计算单元实 际是不被调用的;对于计算单元数小于子任务数的情况,计算单元的位置序列对应的是合并 后的子任务编号,只需将合并后的子任务编号与合并前的编号对应起来,即可实现解码操作。
由前面的问题模型可知,每个子任务在不同计算单元上的执行时间是已知的,每个计算 单元上任务运行的时间为:式中Ti,x表示子任务vi在第x计算单元上的运行时 间;q表示分配到第x个计算单元上的子任务的数目。用k表示此次调度算法中可调用的计 算单元的总数目,则任务总完成时间为完成任务的总运行成本为假设分配到第x个计算单元上的任务集合为Vx,分配到第y个计算单元上的任务集合为Vy,则计算单元px与py之之间的任务迁移成本为整个任务的迁移成本为拓扑上,计算单元px与py之的通信成本为式中,Txy是px与py之间的通信总量;D(L(px),L(py))是px与py之在拓扑上的映射位置之 间的曼哈顿距离。
所述的适应度函数为式中:表示第s个粒子的对应映射方案的任务总完 成时间。成本的适应度函数为式中:和分别表示第s个粒子的对 应映射方案的任务总运行成本和迁移成本。根据子任务分配到计算单元所在的位置,定义通 信成本适应度函数为式中,表示第s个粒子的对应映射方案的任务总通信 成本。粒子总的适应度函数为算法选择总适应度高的粒子,为进化 出下一代优秀的粒子提供优良基础。α、β和δ为权重系数,表示在粒子选择时更侧重于哪 方面的性能。
在每一次迭代中,粒子依据自身的历史最优位置和整个群体的最优位置来更新速度和位 置。第s个粒子经历过的最好位置记为在整个群体中,所有粒子经历 过的最好位置记为用g表示当前算法的迭代次数,粒子根据下式更新 自己的速度和位置:式中:w用来 控制粒子历史速度对当前速度的影响程度,对于平衡算法全局与局部搜索能力有很大作用。 w较大时算法具有较强的全局搜索能力,w较小时算法有利于局部搜索,采用如下线性递减 惯性权重:ω(g)=ws(ws-wc)(G-g)/G。式中:ws、we分别为初始惯性权重和迭代至最大 次数G时的惯性权重。w随着迭代次数变化,使得算法在开始时搜索较大区域,较快地确定 最优解的大致位置,之后粒子速度减慢,开始细致的局部搜索,避免算法陷入局部最优出现 早熟现象,并在迭代后期仍然能够保持较强的搜索能力,提高了算法性能。
本发明从两方面对所设计的调度映射方案进行对比和评价,一是算法本身的执行速度, 通过对相同规模的任务分别按照遗传算法PSO算法及本发明改进的粒子群算法进行运算。这 部分在Matlab上完成,软件环境是惠普的Z800工作站,为XeonE5530,主频为2.4GHz,内 存为8GB,操作系统为64位Windows7系统,实验中所需不同规模的任务由任务产生工具产 生,粒子数S设置为100,迭代次数均为200次,群体最优值的停滞代数设为5,α、β和 δ均设置为1,加速因子c1=c2=2。
Claims (4)
1.片上网络异构多核系统任务调度与映射设计了任务模型,使其能真实反映子任务间调度与制约关系,适应性的设计改进粒子群优化算法,使其适用于异构多核任务调度映射问题,并克服了算法本身容易陷入局部最优、后期局部搜索能力差的缺陷,利用其将一个大的任务按照通信及调用关系分割成数个具有高并行性、粒度大小合适的子任务,结合任务性质分配到相应的计算单元上,在任务执行时间短、占用系统资源少、功耗均衡的前提下,进一步降低整个系统的通信延时。
2.根据权利要求1所述的片上网络异构多核系统任务调度与映射,其任务调度模型将任务抽象为一个五元组ODAG=(V,E,S,U,C),式中:V表示任务节点集,即顶点v∈V表示一个子任务;E表示边集,边eij∈E表示任务vi到vj存在数据通信,方向表示数据传递方向;S表示任务类型,其与计算单元的类型对应,即任务只能被分配到与之类型匹配的计算单元上执行,可以通过矩阵D={da,b}表示,元素da,b=∞表示任务va不适宜在计算单元pb上执行,da,b=t表示va可以在pb上执行,执行时间为t,元素Ur∈U表示第r种计算单元的单位时间运行成本,元素Cij∈C表示子任务vi通过边eij到vj的迁移成本,当vi到vj分配到同一个计算单元上时,Cij为0,子任务映射到计算单元上,会形成具有通信关系的通信核图,可以抽象为一个三元组:CDAG=(P,R,T),式中:P表示通信核图中的计算单元集合,其中顶点pn(r)∈P,η是计算单元的唯一识别编码,r为类型编码;R表示边集,边rxy∈R表示计算单元px与py之间存在数据交换;T为计算单元间的通信开销,Txy表示计算单元px与py之间的通信总量。
3.根据权利要求1所述的片上网络异构多核系统任务调度与映射,其调度算法的中编解码中设一个任务中包含N个子任务,系统中有M个可利用的计算单元,这些计算单元可分为m种,按子任务数与计算单元数的大小关系,并根据计算单元数与子任务数的大小关系进行编码。
4.根据权利要求1所述的片上网络异构多核系统任务调度与映射,其适应度函数为式中:表示第s个粒子的对应映射方案的任务总完成时间,成本的适应度函数为式中:和分别表示第s个粒子的对应映射方案的任务总运行成本和迁移成本,根据子任务分配到计算单元所在的位置,定义通信成本适应度函数为式中,表示第s个粒子的对应映射方案的任务总通信成本,粒子总的适应度函数为算法选择总适应度高的粒子,为进化出下一代优秀的粒子提供优良基础,α、β和δ为权重系数,表示在粒子选择时更侧重于哪方面的性能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710902004.2A CN109582457A (zh) | 2017-09-29 | 2017-09-29 | 片上网络异构多核系统任务调度与映射 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710902004.2A CN109582457A (zh) | 2017-09-29 | 2017-09-29 | 片上网络异构多核系统任务调度与映射 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109582457A true CN109582457A (zh) | 2019-04-05 |
Family
ID=65914825
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710902004.2A Pending CN109582457A (zh) | 2017-09-29 | 2017-09-29 | 片上网络异构多核系统任务调度与映射 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109582457A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110209478A (zh) * | 2019-05-16 | 2019-09-06 | 重庆邮电大学 | 一种异构多核片上系统任务调度方法和装置 |
CN111273251A (zh) * | 2020-03-09 | 2020-06-12 | 上海无线电设备研究所 | 一种基于多核dsp的粒子群交换长时间积累实现方法 |
CN111666152A (zh) * | 2020-05-18 | 2020-09-15 | 中国电子科技集团公司电子科学研究院 | 面向异构计算平台的任务调度方法、设备及存储介质 |
CN113485818A (zh) * | 2021-08-03 | 2021-10-08 | 北京八分量信息科技有限公司 | 异构任务的调度方法、装置及相关产品 |
-
2017
- 2017-09-29 CN CN201710902004.2A patent/CN109582457A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110209478A (zh) * | 2019-05-16 | 2019-09-06 | 重庆邮电大学 | 一种异构多核片上系统任务调度方法和装置 |
CN111273251A (zh) * | 2020-03-09 | 2020-06-12 | 上海无线电设备研究所 | 一种基于多核dsp的粒子群交换长时间积累实现方法 |
CN111666152A (zh) * | 2020-05-18 | 2020-09-15 | 中国电子科技集团公司电子科学研究院 | 面向异构计算平台的任务调度方法、设备及存储介质 |
CN113485818A (zh) * | 2021-08-03 | 2021-10-08 | 北京八分量信息科技有限公司 | 异构任务的调度方法、装置及相关产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yi et al. | Task optimization and scheduling of distributed cyber–physical system based on improved ant colony algorithm | |
Chen et al. | On-edge multi-task transfer learning: Model and practice with data-driven task allocation | |
Sun et al. | Re-Stream: Real-time and energy-efficient resource scheduling in big data stream computing environments | |
Chen et al. | Data-driven task allocation for multi-task transfer learning on the edge | |
Rekha et al. | Efficient task allocation approach using genetic algorithm for cloud environment | |
CN109582457A (zh) | 片上网络异构多核系统任务调度与映射 | |
Nesmachnow et al. | A parallel micro evolutionary algorithm for heterogeneous computing and grid scheduling | |
CN104657221A (zh) | 一种云计算中基于任务分类的多队列错峰调度模型及方法 | |
CN105159762A (zh) | 基于贪心策略的启发式云计算任务调度方法 | |
CN106250240A (zh) | 一种任务优化调度方法 | |
CN103116525A (zh) | 一种Internet环境下MapReduce计算方法 | |
CN102982389A (zh) | 使用基于MapReduce的蚁群优化技术求解组合优化问题的方法 | |
CN104104621A (zh) | 一种基于非线性降维的虚拟网络资源动态自适应调节方法 | |
CN112306658A (zh) | 一种多能源系统数字孪生应用管理调度方法 | |
Pooranian et al. | Using imperialist competition algorithm for independent task scheduling in grid computing | |
CN109976873B (zh) | 容器化分布式计算框架的调度方案获取方法及调度方法 | |
Zhu et al. | A priority-aware scheduling framework for heterogeneous workloads in container-based cloud | |
CN114662932A (zh) | 一种节点分级的工作流类定时任务调度方法 | |
Garg et al. | Enhancing the discrete particle swarm optimization based workflow grid scheduling using hierarchical structure | |
CN103268261A (zh) | 一种适用于大规模高效能计算机的层次式计算资源管理方法 | |
CN116166396A (zh) | 调度模型的训练方法、装置、电子设备及可读存储介质 | |
Chen et al. | Deep learning workloads scheduling with reinforcement learning on GPU clusters | |
Meng et al. | Improvement of the dynamic priority scheduling algorithm based on a heapsort | |
Yu | [Retracted] Research on Optimization Strategy of Task Scheduling Software Based on Genetic Algorithm in Cloud Computing Environment | |
CN102509177B (zh) | 一种基于云平台的局部加权线性回归预测运算的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190405 |