CN114816739B - 针对负载均衡的片上网络增量任务映射方法 - Google Patents

针对负载均衡的片上网络增量任务映射方法 Download PDF

Info

Publication number
CN114816739B
CN114816739B CN202210385320.8A CN202210385320A CN114816739B CN 114816739 B CN114816739 B CN 114816739B CN 202210385320 A CN202210385320 A CN 202210385320A CN 114816739 B CN114816739 B CN 114816739B
Authority
CN
China
Prior art keywords
task
tasks
function
maximum
load
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
Application number
CN202210385320.8A
Other languages
English (en)
Other versions
CN114816739A (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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN202210385320.8A priority Critical patent/CN114816739B/zh
Publication of CN114816739A publication Critical patent/CN114816739A/zh
Application granted granted Critical
Publication of CN114816739B publication Critical patent/CN114816739B/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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/505Allocation 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 load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种针对负载均衡的片上网络增量任务映射方法,该方法首先输入原始功能映射到各PE上的负载信息和增量任务,在信息输入完毕后主要分为三个阶段进行增量映射,包括排序阶段、最大并行集任务分配和最终分配阶段。本发明通过对任务和PE分别进行优先级排序的方式分配任务使NoC平台资源利用得更加充分,并充分调度NoC平台的任务并行处理能力,提升NoC平台的任务执行效率,减小NoC平台上的核间通信,从而有效降低系统处理任务的延时和功耗。另外,本发明可以有效实现NoC平台的负载均衡,从而尽可能地防止拥塞,减少通信热点,对具体增量任务的分配和执行做出映射决定,从而使系统性能更加优良,充分发挥平台的潜能。

Description

针对负载均衡的片上网络增量任务映射方法
技术领域
本发明涉及增量任务映射领域,具体涉及一种针对负载均衡的片上网络增量任务映射方法。
背景技术
随着集成电路技术的快速发展,多处理器片上系统(Multi-processor System-on-Chip,MPSoC)将在单个芯片中集成数百个内核来提供高吞吐量、低延迟和低能耗从而满足各种实际功能需求。由于MPSoC传统的总线互联结构的总线负载增大以及网络通信性能降低,总线结构已经不再适用于多内核间的交互,因此借鉴计算机网络思路(参见“Mappingand scheduling techniques in NoC:A survey of the state of the art”,D.Belkebirand A.Zga,2019International Conference on Networking and Advanced Systems(ICNAS),2019,pp.1-6),作为一种用于多核间高速通信的新技术,片上网络(Network-on-Chip,NoC)被提出用来满足MPSoC日益增长的通信需求。每个NoC以一种特别结构(典型的如2D-Mesh结构、Torus结构、树形等)的拓扑来将网格相互连接,每个网格由一个处理单元(processor element,PE)、一个路由器、网络交互接口(network interface,NI)和互连链路构成(参见“Research on Network-on-Chip Mapping for Power and DelayOptimization”,H.Zhao,Beijing Industry University,MA thesis,2019)。目前NoC技术广泛采用包含多个PEs系统的可调整通信结构,其中路由器和NI组成网络拓扑的底层通信结构,而NI的作用是将PE连接到网络并提取数据转换的接入点(参见“Using SmartRouting for Secure and DependableNoC-Based MPSoCs”,Fernandes,C.Marcon,R.Cataldo and J.Sepúlveda,IEEE/ACM Transactions on Networking,vol.28,no.3,pp.1158-1171,June 2020)。NoC任务映射(Task Mapping Problem,TMP)是为一组特定要求的任务找到合适的位置,即为每个任务找到其最适合的PE,其结果将极大地对网络性能和系统性能产生影响,因此任务映射是NoC设计的一个关键步骤(参见“Calazans andF.G.Moraes,Dynamic Task Mapping for MPSoCs”,E.L.d.S.Carvalho,N.L.V,IEEEDesign&Test of Computers,vol.27,no.5,pp.26-35,Sept.-Oct.2010)。
随着人们对通信系统性能要求的日益增长,在NoC平台上需要运行更多的功能来满足人们的通信需求,从而充分发掘NoC的潜能、更加高效地处理通信信号,以便更好地为人们提供服务。增量任务映射就是在NoC平台上已有某功能的任务映射结果,需要在此基础上对新增功能的任务进行映射,且不影响原先已映射功能的执行及其性能,因而合理地应用增量任务映射对多个功能的执行能够发挥很好的作用。
随着晶体管技术的发展,单个芯片上可以集成大量PEs。然而,晶体管的功耗并不能随着漏功率的限制而降低,从而导致Dennard Scaling的失效以及暗硅时代的到来。因此,在功耗的限制下,SoC面临如何设计高效的NoC映射算法以充分利用NoC计算和存储资源的挑战。此外,NoC的能耗随着时延的增加而增加,这与通信总曼哈顿距离和传输路径拥塞密切相关。这就需要负载均衡来尽可能地防止拥塞,减少通信热点,为资源有限情况下的功能任务执行提供更好的服务。目前,L.Zhu等人提出了一种基于最小关联度调度的动态负载均衡算法来利用服务器集群中的更多资源(参见“Improved dynamic load balancealgorithm based on Least-Connection Scheduling”,L.Zhu,J.Cui and G.Xiong,2018IEEE 4th In formation Technology and Mechatronics Engineering Conference(ITOEC),2018,pp.1858-1862);K.G.Mallik等提出通过调整接入点选择和单元形状,在拥塞区域引入了负载均衡技术(参见“Energy Efficient Hot Spot Load balance inMobile Cellular Network”,K.G.Mallik and D.De,2012Third InternationalConference on Computer and Communication Tec hnology,2012,pp.261-266)。Y.Liang等提出了一种面向微服务的基于任务链的负载均衡算法(参见“TCLBM:A task chain-based load balance algorithm for microservices”,Y.Li ang and Y.Lan,TsinghuaScience and Technology,vol.26,no.3,pp.251-258,June 2021);H.A.Makasarwala等提出的应用遗传算法解决了网格计算负载均衡问题(参见“Using genetic algorithm forload balance in cloud computing”,H.A.Makasarwala and P.Hazar i,2016 8thInternational Conference on Electronics,Computers and Artificial Intelligence(ECAI),2016,pp.1-6);而C.K.Rath等人提出了一种基于遗传算法的云端负载均衡方法(参见“Dynamic Task Scheduling with Load balance using Genetic Algorithm”,C.K.Rath,P.Biswal and S.S.Suar,2018International Conference on InformationTechnology(ICI T),2018,pp.91-95)。
增量任务映射是针对通信信号处理所提出的一种新的概念,它是在NoC平台上已有某功能的任务映射结果的基础上对新增任务的映射方案做出决定。本发明提出的片上网络增量任务映射方法是基于静态任务调度和多任务流图映射策略的,且在新增任务后不影响原有任务的执行情况及性能。该方法合理借鉴之前的文献“Multiple DAGs SchedulingBased on Lowest Transportation and Completion Time Algorithm on the Cloud”、“Multiple DAGs Dyn amic Workflow Scheduling Based on the Primary BackupAlgorithm in Cloud Computing System”和“Hybrid Scheduling Deadline-ConstrainedMulti-DAGs Based on Reverse HEFT”中针对多有向无环图(Directed Acyclic Graphs,DAGs)的调度方法,重点针对NoC的负载均衡,充分以减小延时功耗为目标进行系统性能优化,对具体增量任务的分配和执行做出映射决定,从而使系统性能更加优良,充分发挥平台的潜能,更加高效、可靠地进行通信信号处理。通过该方法得到的任务映射方案在负载均衡方面具有十分显著的性能优势,且NoC系统在延时和功耗两方面的性能也十分优良。
本发明可广泛应用于无线通信的信号处理领域,例如无线通信的信号解码过程,该过程包括多个具有前后关系的功能模块,即只有在前项功能执行完毕得到最终输出,并将输出数据输入到后项功能模块后,后项功能才能开始执行。比如在接收信号进入解码系统后首先要对其进行滤波,然后再做同步,这里可以先用一般映射方法先将滤波功能对应任务映射到合适的资源节点上,然后在保持预先映射的功能仍然运行在初始资源节点上的条件下,在不影响已映射功能执行的情况下,利用本发明描述的针对负载均衡的片上网络增量任务映射方法将同步功能对应任务映射到资源节点上。
另外,本发明还可广泛应用于飞行器空中表演领域,由于飞行器空中表演时需要随时在多个功能间转换或同时执行,例如前进、直升、转向、俯冲、旋转等飞行功能,同时也涉及雷达定位、信息交互等通信功能,利用本发明提出的针对负载均衡的片上网络增量任务映射方法可以在不影响已映射功能的执行情况下将增量功能映射到合适的资源节点上。
发明内容
本发明提出了一种针对负载均衡的片上网络增量任务映射方法,具体包括以下步骤:
S1)获取资源流图以及待映射功能1和功能2的任务流图;
S2)输入功能1的任务流图,利用遗传算法得到功能1任务的映射方案,得到映射了功能1任务后的NoC平台各PE的负载值,即为功能1映射结果;
S3)将步骤S2)得到的功能1映射结果以及步骤S1)获取的功能2的任务流图作为增量映射功能2任务的输入;
S4)将NoC平台上的所有PE根据负载升序排列,同时将功能2任务根据各任务的权值降序排列,得到排序后的PE集合和功能2的任务集合;
S5)找到功能2任务的最大并行集;
S6)判断功能2任务的最大并行集中的任务数量是否大于NoC平台的PE数量(假设为M),若不大于则执行S7),否则执行S8);
S7)按任务权值排列好的顺序依次将功能2任务的最大并行集任务一对一分配给排序后的PE(即将权值最大的任务分配给负载最低的PE,将权值次大的任务分配给负载次低的PE,以此类推,直至功能2任务的最大并行集中的任务被全部分配给排序后的PE),然后更新当前NoC平台上所有PE的负载并根据更新后的负载对NoC平台上所有PE进行重新排序后执行S9);
S8)将功能2任务的最大并行集中前M个任务按任务的权值排列好的顺序一对一分配给排序后的PE(即将功能2任务的最大并行集中前M个任务中权值最大的任务分配给负载最低的PE,将权值次大的任务分配给负载次低的PE,以此类推,直至功能2任务的最大并行集中前M个任务被全部分配给排序后的PE),更新当前NoC平台上所有PE的负载并根据更新后的负载对NoC平台上所有PE进行重新排序,得到新的排序后的PE集合,然后从功能2任务的最大并行集中删除已分配任务,重复此过程直至功能2任务的最大并行集中所有任务都分配完成,接着执行S9);
S9)将功能2的最大并行集以外的其他所有任务根据关联度进行最终分配,得到功能2任务的完整增量映射结果。
区别于当前使用最广泛的用于单DAG完工时间最小化的调度算法异构最早完成时间(HEFT)算法,本发明提出的增量映射方法不仅根据任务执行成本和通信成本计算权值得到任务被分配的优先级排序,同时还根据NoC平台上各PE被分配的任务量计算得到负载,从而得到PE被选择分配任务的优先级排序,通过这种对任务和PE分别进行优先级排序的方式分配任务可以使NoC平台上的PE负载更加均衡,即PE平均利用率更高,从而使NoC平台资源利用得更加充分;本发明提出的方法中先找到最大并行集按优先级进行分配可以充分调度NoC平台的任务并行处理能力,更好地提升NoC平台的任务执行效率;本发明计算任务关联度向量找到最合适的PE进行任务分配的方法可以尽可能地减小NoC平台上的核间通信,从而有效降低系统处理任务的延时和功耗。另外,本发明提出的增量任务映射方法可以有效实现NoC平台的负载均衡,从而尽可能地防止拥塞,减少通信热点,充分以减小延时功耗为目标进行系统性能优化,对具体增量任务的分配和执行做出映射决定,从而使系统性能更加优良,充分发挥平台的潜能,更加高效、可靠地处理功能任务。
附图说明
图1为NoC任务映射流程示意图
图2为片上网络增量任务映射示意图
图3为增量任务映射结果示意图
图4为本发明针对负载均衡的片上网络增量任务映射方法的流程图
图5为待分配任务数据关联性示意图
图6为本发明实施例增量任务映射解性能对比图
图7为本发明实施例最优解性能对比图
具体实施方式
以下结合附图与附图标记对本发明的实施方式做更详细的说明,使熟悉本领域的技术人员在研读本说明后能据以实施。应当理解本例所描述的实施例仅以解释本发明,并不用与限定本发明。
相对于一般的NoC任务映射,本发明提出了增量任务映射。首先任务映射作为NoC设计的关键之一,一般的任务映射首先将需要在NoC平台上进行处理的应用采用任务流图表征,然后根据合适的约束条件和目标函数对任务流图的每个任务节点进行映射,将任务流图的每个任务节点分配到NoC平台的多个处理单元上进行处理,即将任务流图分配到资源流图中。
其中,任务流图(data flow gragh,DFG)是有向无环的赋权图G1=G(V,E),其中G表示一个图,V是图G中顶点的集合,E是图G中边的集合,G1的每个节点va
Figure BDA0003593406870000051
代表一个任务,任务个数为|V|,节点权值代表该任务所需要的处理时间;每条边ek=ea,b
Figure BDA0003593406870000052
代表一条数据传输通路,直连边数目为|E|,边ek=ea,b(a,b=1,2,...,|V|)的权值代表从节点va到节点vb的有向链路上传输的数据量大小。图1中左图代表一个有7个任务的特殊功能DFG。
资源流图是抽象化NoC结构的有向图G2=G(T,R),其中G表示一个图,其中T是图G中顶点的集合,R是图G中边的集合,G2的每个节点ta′∈T,a′=1,2,...,|T|代表NoC的一个网格,由一个处理单元和一个路由节点连接组成,网格个数为|T|;每条边ra′,b′∈R,a′,b′=1,2,...,|T|代表从节点ta′到节点tb′的单向链路,链路数目为|R|。图1中右图代表一个3×3的2D-Mesh结构的资源流图。
对于增量任务映射,为应对NoC平台在执行功能1的时候有新增功能2需要在该NoC平台上执行,即需要在原先映射了功能1的基础上,在保证功能1任务在NoC平台的执行情况和效果的同时,将新加入的功能2任务映射到该平台上。如图2所示,左图为3×3的2D-MeshNoC平台,其上已映射完毕功能1的9个任务v1~v9,功能2的DFG如图2的右图所示,我们需要将功能2的11个任务t1~t11映射到已映射功能1的NoC平台上,让功能2在该NoC平台上良好运行且不会对功能1的运行造成影响。增量任务映射后得到如图3所示映射结果,此时功能2已成功映射到已映射功能1任务的NoC平台上。
由于增量任务映射之前的NoC平台已经通过遗传算法优化映射了功能1任务,NoC平台在延时和功耗性能上已经达到了最优状态,在增量任务映射后应保持NoC平台执行功能的优良性能,为保证NoC平台的稳定性和高效性,负载均衡问题是增量任务映射的关键所在。根据NoC中PE负载情况分配相应任务,尽量使PE节点的负载相对均衡,即PE资源使用相对均衡,从而避免个别PE过载或过低载使用,实现NoC平台整体的负载均衡。
在这里,本发明首先解释了几个重要的参数:
1.负载均衡度
由于NoC能耗会随着NoC延时的增加而增加,而NoC延时一方面和总的通信曼哈顿距离有关,另一方面受传递路径阻塞延迟的影响。阻塞一般出现在某些链路或交换节点能够提供的带宽不能满足实际需求的情况下,为减少阻塞就需要通信链路负载均衡,利用负载均衡尽可能防止拥塞,从而降低延时和功耗,同时通过负载均衡也可以减少NoC通信热点的出现,提高了通信的可靠性和稳定性。
一个优秀的映射方案可以充分利用设备上的计算和存储资源,实现数据传输的最小化和应用程序执行性能的最大化,利用有限的资源为用户创造更优秀的服务效果,而资源的充分利用也与负载均衡紧密相关,因此负载均衡对于映射性能有着至关重要的影响。这里我们用负载均衡度来表征系统的负载均衡程度,即衡量系统资源的利用情况。
假设NoC平台有M个PE,表示为PEj(j=1,2,...,M);以及N个任务,表示为vi(i=1,2,...,N);单个PE的负载度如式(1)所示,σij表示任务vi是否分配到PEj上:若任务vi分配到PEj上,σij=1;否则σij=0;
Figure BDA0003593406870000071
M个PE的平均负载度如式(2)所示;
Figure BDA0003593406870000072
单个PE的负载均衡度如式(3)所示;
Figure BDA0003593406870000073
其中,|·|表示取绝对值。
NoC平台的负载均衡度如式(4)所示,其表征每个被占用的PE节点的负载度围绕平均负载度的波动情况;
Figure BDA0003593406870000074
负载均衡度越小表示PE节点的任务负载分布越均匀,即负载均衡度U越小,NoC映射策略的PE负载越均衡,系统整体资源利用得越充分。
2.关联度
由于任务间的数据依赖性(即数据关联性),一个任务的执行必须等待其所有前驱任务全部完成并得到其传递的数据后才能开始,而又因为任务的核内通信效率要远远高于核间通信,且消耗更少的能量,除此之外核内任务间的数据传输延时很小可忽略不计,因此合适的任务内核分配能够有效减少任务的核间通信,从而尽可能地减小系统延时及功耗。这里的核内通信指两个有数据依赖关系的任务被分配到同一个PE上而进行的通信,一般核内通信消耗的能量可以忽略不计;而核间通信指两个有数据依赖关系的任务被分配到两个不同PE上而进行的通信,它主要与两个PE间的相隔跳数以及通信数据量的大小有关。
对于待分配任务Tp,如图5所示,任务Tp可能与多个任务存在数据关联性,任务Tp的评价函数如式(5)所示,表示的是任务Tp相对于PEx(PEx表示第x个PE,x的取值范围为[1,M]中任意整数)的数据关联性强度,
Figure BDA0003593406870000075
表示任务Tp与前驱及后继关联任务间的通信时间,其中
Figure BDA0003593406870000081
表示任务Tp分别与m个前驱关联任务Tui′间的通信时间,
Figure BDA0003593406870000082
表示任务Tp分别与n个后继关联任务Tvj′间的通信时间(假设任务Tp有m个前驱任务以及n个后继任务),这里的前驱任务指任务Tp直接关联的所有父节点任务,即任务Tp从前驱任务中获得数据;后继任务指任务Tp直接关联的所有子节点任务,即任务Tp输出数据到后继任务中;参数σ表示与任务Tp的关联任务是否被分配在PEx中,σ的取值为0或1,例如σ1表示任务T1是否被分配在PEx中:若任务T1已被分配在PEx中,则σ1取1;否则σ1取0。
Figure BDA0003593406870000083
σui′表示任务Tp的前驱任务Tui′是否被分配在PEx中,若Tui′分配在PEx中则σui′为1,否则为0;σvj′表示任务Tp的后继任务Tvj′是否被分配在PEx中,若Tvj′分配在PEx中则σvj′为1,否则为0。
由于片上网络上含有多个PE,假设有M个,对于待分配任务Tp,可以通过式(5)获得一个M维的关联度向量,如式(6)所示,其表示任务Tp相对于每个PE的数据关联性强度,任务Tp相对于单个PE的数据关联性强度称为关联度。
R(Tp)=(R0(Tp),R1(Tp),…,RM-1(Tp))  (6)
因此,如图4所示,本发明提出了一种针对负载均衡的片上网络增量任务映射方法,该方法首先要输入原始功能映射到各PE上的负载信息和增量任务,在信息输入完毕后主要分为三个阶段进行增量映射,包括排序阶段、最大并行集任务分配和最终分配阶段。接下来将详细介绍这三个阶段。
1)排序阶段
该阶段将分别对PE和待映射任务进行排序,得到排序后的PE集合和任务集合。为了使任务得到合理分配,我们需要综合考虑任务本身的执行开销以及与邻接任务之间的通信关系,因此要计算每个功能2任务的权值,具体计算方法如下所述:
首先得到每个功能2任务的处理时间及其邻接任务间的通信时间之和,即为功能2中各任务的开销;然后将任务按开销大小升序排列得到一个任务集合,此时的集合对应的任务序号集为A;接着求得每个功能2任务的度数:出度数+入度数,再将任务按度数升序排列,此时得到的集合对应的任务序号集为B;最后将功能2中各任务对应的两个集合A和B的序号取平均即为排序后的任务的权值。例如任务t在A集合中对应的序号为3,在B集合对应的序号为5,则任务t的权值为(3+5)/2=4;
PE排序具体为:将PE按负载从小到大排序,得到排序后的PE集合,该集合包含M个PE。在此PE集合中PE排序越靠前,表示该PE的优先级越高,即越早被选择进行任务映射。
待映射任务排序具体为:将功能2任务按权值从大到小排列,得到排序后的任务集合,其排序越靠前表示该任务优先级越高,即越早进行映射分配,若两任务权值相同,则DFG中序号小的任务优先级更高。
2)最大并行集任务分配阶段
最大并行集表示集合中的各任务间没有数据依赖关系,即彼此间不存在直接通信关系,可同时分配到不同PE上执行且互不影响;
最大入度值表示在DFG中即为指向某一任务的最大边数。
寻找最大并行集的具体步骤为:
首先初始化最大并行集为空集,然后判断功能2DFG的最大入度值Q:若Q为1则表示不存在任务并行集,直接进入阶段三进行任务映射,即进入最终分配阶段;若Q大于1,则要找到所有入度值为Q的最大度任务,将这些任务的所有前驱任务不重复地合并到最大并行任务集;
为了避免使NoC路由陷入死锁,规定任务间不能反向传输数据,DFG对应的邻接矩阵始终为上三角矩阵,只存在序号小的任务向序号大的任务传数据,因此若有多个最大度任务,则需要检查各最大度任务是否与其他最大度任务的前驱任务存在通信关系:若两任务间存在通信关系,则删掉二者中的前驱任务。例如,假设p和q都是最大度任务且都在最大并行集中,但p为q的前驱任务,则在当前最大并行集中删去p。
在排除最大并行集中任务间的所有通信关系后得到最终最大并行集,该最终最大并行集中的任务数量为P。
最大并行集任务分配
最大并行集任务分配将分为两种情况进行:
①若P≤M
当最大并行集任务数不大于PE个数时,按任务权值排列好的顺序依次将功能2的最大并行集任务一对一分配给排序后的PE,接着更新当前NoC平台上所有PE的负载并根据更新后的负载对NoC平台上所有PE进行重新排序,得到新的排序后的PE集合;
②若P>M
当最大并行集任务数大于PE个数时:
21)将功能2任务的最大并行集中前M个任务按任务权值排列好的顺序一对一分配给排序后的PE;
22)更新当前NoC平台上所有PE的负载并根据更新后的负载对NoC平台上所有PE进行重新排序,得到新的排序后的PE集合;
23)最大并行集除去已分配任务,重复步骤21)~23),直到最大并行集任务全部分配完毕。
3)最终分配阶段
此阶段需要对功能2任务除去其最大并行集任务的剩余任务根据关联度进行最终分配,具体步骤如下:
31)按步骤1)得到的待映射任务的优先级顺序依次得到当前未分配任务的关联度向量;
32)若当前未分配任务关联度向量中的关联度全为0,则将该任务分配至当前优先级最高的PE上;若关联度不全为0,则找到关联度向量中关联度最大的PE,若此PE不是所有PE中负载最大的,则将该任务分配到该PE上;若此PE是负载最大的,为了均衡负载,将该任务分配到当前优先级最高的PE上;
33)得到当前PE的负载并更新其优先级进行重新排序,回到步骤31)重复此过程直至功能2任务除去其最大并行集任务的所有剩余任务分配完毕,得到针对负载均衡的片上网络增量任务映射结果,即已映射功能1的NOC平台上得到功能2的任务映射方案。
实施例
本发明通过设置仿真环境及参数并得到仿真结果对本发明提出的方法进行了验证。在设计面向无线通信系统的接收机时会涉及许多通信相关算法,比如信道均衡、信道估计、预编码以及信号检测算法等,在实现这些算法的过程中存在大量的数值运算和矩阵运算。在本发明方法的性能验证中,我们分别从信道均衡和信道估计的经典实现算法中选取一种作为映射的算例进行仿真,分别是最小均方误差-干扰抑制结合(Minimum MeanSquare Error–Interfe rence Rejection Combining,MMSE-IRC)和奇异值分解(SingularValue Decomposition,SV D)算法,先通过针对延时和功耗的双目标遗传算法得到MMSE-IRC的性能最优映射结果,然后再分别用双目标遗传算法、模拟退火算法和本发明提出的针对负载均衡的片上网络增量任务映射方法(即采用ELB算法)在已映射MMSE-IRC任务的片上网络情况下映射SVD任务,并加入随机映射作为对比。
本发明使用的仿真工具是MATLAB R2018a,运行环境为Windows 10。仿真参数设置如下:
NoC系统参数设置:系统时钟频率为500MHz;数据传输速率为8Gbps;电源电压为1.2V;一个flit(通信数据包在传输过程中被均匀地划分成多个微片,即flit)的数据位宽度为32位(以flit为单位衡量缓存buffer的大小);NoC的拓扑结构为4×4二维网格。
双目标遗传算法(GA)参数设置:种群规模为30;迭代次数为100次;基因解的数目是100;选择、交叉和变异的概率分别为0.5、0.8和0.01;
模拟退火算法(SA)参数设置:迭代粒子数为30;初始温度为1000;温度衰减系数为0.9;每个温度下的迭代次数为100;最大迭代次数为100。
仿真性能对比如图6、7所示,图6的左图为针对增量任务映射ELB方法解与GA、SA得到的所有解的延时和功耗仿真结果,右图为各方法每个映射解对应的负载均衡度;图7为ELB方法解与GA、SA的最优解的延时、功耗和负载均衡度的对比。
从图中可以看到,SA得到的增量任务映射解的延时和功耗性能最好:对于映射解的延时性能三种方法差异不太大,其中ELB解延时最大,说明其在延时方面性能不及GA和SA;而对于功耗性能,ELB解表现较为理想,其比GA最优解还要少大约51.64%,并且只比SA最优解多大约8.97%。
由于GA和SA在进行增量映射SVD任务时并没有考虑原本片上网络已映射MMSE-IRC任务具体情况,从图中可以看出在增量映射情况下,这两个算法得到的增量映射解的负载均衡度和随机映射解差不多,而ELB方法充分考虑片上网络的负载均衡,使得其负载均衡度明显小于GA和SA,分别比二者小19.94%和25.25%,其说明通过ELB方法得到的增量映射解负载均衡性能更好。
表1增量任务映射处理时间对比
映射算法 GA SA ELB
处理时间(s) 255.6303 131.2358 0.0956
从表1可以看出,运用ELB方法进行增量任务映射所消耗的处理时间最少,为0.0956s,其与需要多次迭代寻找最优解的GA和SA所消耗的处理时间大约存有三个量级的差距,这说明ELB方法虽然牺牲了一些延时方面的性能,但其映射效率极高,可以即时对新增功能做出快速反应,迅速对增量任务进行针对片上网络负载均衡的映射分配。
以上所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

Claims (1)

1.一种针对负载均衡的片上网络增量任务映射方法,其特征在于,该方法包括以下步骤:
S1)获取资源流图以及待映射功能1和功能2的任务流图;
S2)输入功能1的任务流图,利用遗传算法得到功能1任务的映射方案,并由此得到映射了功能1任务后的片上网络NoC平台各处理单元PE的负载度,即为功能1映射结果;
S3)将步骤S2)得到的功能1映射结果以及步骤S1)获取的功能2的任务流图作为增量映射功能2任务的输入;
S4)将NoC平台上的所有PE根据负载度升序排列,同时将功能2任务根据各任务的权值降序排列,得到排序后的PE集合和排序后的功能2的任务集合;在所述排序后的PE集合中PE排序越靠前,表示其优先级越高;在所述排序后的功能2的任务集合中任务排序越靠前表示该任务优先级越高,若两个任务的权值相同,则功能2的任务流图中序号越小的任务优先级越高;
S5)找到功能2任务的最大并行集;
S6)判断功能2任务的最大并行集中的任务数量是否大于NoC平台的PE数量M,若不大于则执行S7),否则执行S8);
S7)按任务权值排列好的顺序依次将功能2任务的最大并行集任务一对一分配给排序后的PE,即将权值最大的任务分配给负载度最低的PE,将权值次大的任务分配给负载度次低的PE,以此类推,直至功能2任务的最大并行集中的任务被全部分配给排序后的PE,然后更新当前NoC平台上所有PE的负载度并根据更新后的负载度对NoC平台上所有PE进行重新排序后执行S9);
S8)将功能2任务的最大并行集中前M个任务按任务的权值排列好的顺序一对一分配给排序后的PE,即将功能2任务的最大并行集中前M个任务中权值最大的任务分配给负载度最低的PE,将权值次大的任务分配给负载度次低的PE,以此类推,直至功能2任务的最大并行集中前M个任务被全部分配给排序后的PE,更新当前NoC平台上所有PE的负载度并根据更新后的负载度对NoC平台上所有PE进行重新排序,得到新的排序后的PE集合,然后从功能2任务的最大并行集中删除已分配任务,重复上述分配过程直至功能2任务的最大并行集中所有任务都分配完成,接着执行S9);
S9)将功能2的最大并行集以外的其他所有任务根据关联度进行最终分配,得到功能2任务的完整增量映射结果;
其中,任务流图DFG是有向无环的赋权图G1=G(V,E),其中G表示一个图,V是图G中顶点的集合,E是图G中边的集合,G1的每个节点va代表一个任务,任务个数为|V|,
Figure FDA0004105485040000021
节点权值代表该任务所需要的处理时间;每条边ek=ea,b代表一条数据传输通路,直连边数目为|E|,
Figure FDA0004105485040000022
边ek=ea,b的权值代表从节点va到节点vb的有向链路上传输的数据量大小,a,b=1,2,...,|V|;
资源流图是抽象化NoC结构的有向图G2=G(T,R),其中G表示一个图,其中T是图G中顶点的集合,R是图G中边的集合,G2的每个节点ta′∈T,a′=1,2,...,|T|代表NoC的一个网格,由一个处理单元和一个路由节点连接组成,网格个数为|T|;每条边ra′,b′∈R,a′,b′=1,2,...,|T|代表从节点ta′到节点tb′的单向链路,链路数目为|R|;
其中,所述片上网络NoC平台中各处理单元PE的负载度计算方法为:
假设NoC平台上的M个PE分别表示为PEj,j=1,2,...,M;N个任务分别表示为vi,i=1,2,...,N;则PEj的负载度Lj如公式(1)所示,σij表示任务vi是否分配到PEj上:若任务vi分配到PEj上,σij=1;否则σij=0;
Figure FDA0004105485040000023
所述步骤S4)计算功能2任务中各任务的权值的具体方法为:
首先得到每个功能2任务的处理时间及其邻接任务间的通信时间之和,即为功能2中各任务的开销;然后将任务按开销大小升序排列得到一个任务集合,此时的集合对应的任务序号集为A;接着求得每个功能2任务的度数:度数=出度数+入度数,再将任务按度数升序排列,此时得到的集合对应的任务序号集为B;最后将功能2任务中各任务对应的两个集合A和B的序号取平均即为各任务的权值;
所述步骤S5)找到功能2任务的最大并行集的方法为:
所述最大并行集表示集合中的各任务间没有数据依赖关系,即彼此间不存在直接通信关系,各任务能够同时分配到不同PE上执行且互不影响;
最大入度值表示在任务流图中指向某一任务的最大边数;
寻找最大并行集首先初始化最大并行集为空集,然后判断功能2任务流图的最大入度值Q:若Q为1则表示不存在任务并行集,直接进入步骤S9);若Q大于1,则要找到所有入度值为Q的最大度任务,将这些任务的所有前驱任务不重复地合并到最大并行集;
为了避免使NoC路由陷入死锁,规定任务间不能反向传输数据,任务流图对应的邻接矩阵始终为上三角矩阵,只存在序号小的任务向序号大的任务传数据,因此若有多个最大度任务,则需要检查各最大度任务是否与其他最大度任务的前驱任务存在通信关系:若两任务间存在通信关系,则删掉二者中的前驱任务;在排除最大并行集中任务间的所有通信关系后得到需要的最大并行集,该最大并行集中的任务数量为P;
所述步骤S9)的具体步骤为:
31)根据步骤S4)得到的排序后的功能2的任务集合中待映射任务的优先级顺序依次得到当前未分配任务的关联度向量;
32)若当前未分配任务关联度向量中的关联度全为0,则将该当前未分配任务分配至当前优先级最高的PE上;若关联度不全为0,则找到关联度向量中关联度最大的PE,若此PE不是所有PE中负载度最大的,则将该任务分配到该PE上;若此PE是负载度最大的,为了均衡负载,将该任务分配到当前优先级最高的PE上;
33)得到当前PE的负载度并更新其优先级进行重新排序,重复步骤31)-步骤32)直至功能2任务除去其最大并行集任务的所有剩余任务分配完毕,得到针对负载均衡的片上网络增量任务映射结果,即已映射功能1的NOC平台上得到功能2的任务映射方案;
其中,关联度和关联度向量的计算方法为:
对于待分配任务Tp,任务Tp可能与多个任务存在数据关联性,任务Tp的评价函数如公式(2)所示,表示任务Tp相对于PEx的数据关联性强度,PEx表示第x个PE,x的取值范围为[1,M]中任意整数,
Figure FDA0004105485040000031
表示任务Tp与前驱及后继关联任务间的通信时间,其中
Figure FDA0004105485040000032
表示任务Tp分别与m个前驱关联任务Tui′间的通信时间,
Figure FDA0004105485040000033
表示任务Tp分别与n个后继关联任务Tvj′间的通信时间,这里的前驱任务指任务Tp直接关联的所有父节点任务,即任务Tp从前驱任务中获得数据;后继任务指任务Tp直接关联的所有子节点任务,即任务Tp输出数据到后继任务中;
Figure FDA0004105485040000041
σui′表示任务Tp的前驱任务Tui′是否被分配在PEx中:若Tui′分配在PEx中,则σui′为1,否则为0;σvj′表示任务Tp的后继任务Tvj′是否被分配在PEx中:若Tvj′分配在PEx中,则σvj′为1,否则为0;
由于片上网络上含有M个PE,对于待分配任务Tp,通过式(2)能够获得一个M维的关联度向量,其表示为公式(3)的形式,用于描述任务Tp相对于每个PE的数据关联性强度,任务Tp相对于单个PE的数据关联性强度称为关联度,
R(Tp)=(R0(Tp),R1(Tp),…,RM-1(Tp))        (3)。
CN202210385320.8A 2022-04-13 2022-04-13 针对负载均衡的片上网络增量任务映射方法 Active CN114816739B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210385320.8A CN114816739B (zh) 2022-04-13 2022-04-13 针对负载均衡的片上网络增量任务映射方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210385320.8A CN114816739B (zh) 2022-04-13 2022-04-13 针对负载均衡的片上网络增量任务映射方法

Publications (2)

Publication Number Publication Date
CN114816739A CN114816739A (zh) 2022-07-29
CN114816739B true CN114816739B (zh) 2023-04-07

Family

ID=82536740

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210385320.8A Active CN114816739B (zh) 2022-04-13 2022-04-13 针对负载均衡的片上网络增量任务映射方法

Country Status (1)

Country Link
CN (1) CN114816739B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115016947B (zh) * 2022-08-05 2022-10-21 中国空气动力研究与发展中心计算空气动力研究所 负载分配方法、装置、设备及介质
CN116983617B (zh) * 2023-09-25 2024-01-05 深圳云天畅想信息科技有限公司 跨集群资源调度方法、计算机装置及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106610867A (zh) * 2016-12-21 2017-05-03 成都理工大学 一种片上网络任务调度方法及装置
CN107196868A (zh) * 2017-05-19 2017-09-22 合肥工业大学 一种应用于片上网络的负载均衡系统
CN107688709A (zh) * 2017-08-31 2018-02-13 电子科技大学 一种片上网络NoC的寿命优化映射方法
CN108848027A (zh) * 2018-06-27 2018-11-20 电子科技大学 一种面向片上网络的最小故障链路感知映射方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210049465A1 (en) * 2019-08-12 2021-02-18 University Of Southern California Self-optimizing and self-programming computing systems: a combined compiler, complex networks, and machine learning approach

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106610867A (zh) * 2016-12-21 2017-05-03 成都理工大学 一种片上网络任务调度方法及装置
CN107196868A (zh) * 2017-05-19 2017-09-22 合肥工业大学 一种应用于片上网络的负载均衡系统
CN107688709A (zh) * 2017-08-31 2018-02-13 电子科技大学 一种片上网络NoC的寿命优化映射方法
CN108848027A (zh) * 2018-06-27 2018-11-20 电子科技大学 一种面向片上网络的最小故障链路感知映射方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Xiu-Jie XU.Hybrid Scheduling Deadline-Constrained Multi-DAGs Based on Reverse HEFT.2016 International Conference on Information System and Artificial Intelligence.2017,196-202. *

Also Published As

Publication number Publication date
CN114816739A (zh) 2022-07-29

Similar Documents

Publication Publication Date Title
CN114816739B (zh) 针对负载均衡的片上网络增量任务映射方法
Rahbari et al. Task offloading in mobile fog computing by classification and regression tree
Wang et al. Device sampling for heterogeneous federated learning: Theory, algorithms, and implementation
Cui et al. A novel offloading scheduling method for mobile application in mobile edge computing
CN108965014B (zh) QoS感知的服务链备份方法及系统
CN111556516B (zh) 面向时延和能效敏感业务的分布式无线网络任务协同分配方法
Huang et al. DeePar: A hybrid device-edge-cloud execution framework for mobile deep learning applications
Hu et al. Throughput optimized scheduler for dispersed computing systems
Ke et al. Aggregation on the fly: Reducing traffic for big data in the cloud
Reddy et al. An Efficient Application Core Mapping Algorithm for Wireless Network-an-Chip
Jain et al. Optimal task offloading and resource allotment towards fog-cloud architecture
Liu et al. On distributed computation rate optimization for deploying cloud computing programming frameworks
Wang Collaborative task offloading strategy of UAV cluster using improved genetic algorithm in mobile edge computing
Pedarsani et al. Scheduling tasks with precedence constraints on multiple servers
CN111092779B (zh) 网络资源配置方法、装置、计算机设备及可读存储介质
Sun et al. Multi-node acceleration for large-scale GCNs
CN114443236A (zh) 一种任务处理方法、装置、系统、设备及介质
Wei et al. Drl-deploy: adaptive service function chains deployment with deep reinforcement learning
Castiglia et al. Multi-level local sgd for heterogeneous hierarchical networks
Zhang et al. Offloading demand prediction-driven latency-aware resource reservation in edge networks
CN106526450B (zh) 一种多目标NoC测试规划优化方法
CN115509715A (zh) 一种分布式任务调度方法、装置和电子设备
CN114785692A (zh) 一种虚拟电厂聚合调控通信网络流量均衡方法及装置
Tariq et al. A novel meta-heuristic for green computing on vfi-noc-hmpsocs
Wang et al. Device sampling and resource optimization for federated learning in cooperative edge networks

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