任务调度优化方法技术

技术编号:15220731 阅读:74 留言:0更新日期:2017-04-26 21:40
本发明专利技术涉及工业伺服控制系统领域,公开了一种任务调度优化的方法。所述方法包括任务管理器删除到达任务链表和等待任务链表中所有非可调度与非有效调度的任务要求;在时刻t,对所述结点处理器中是否有任务完成进行判断并找出调度目标任务;找出所有能够处理所述调度目标任务的处理结点并确定候选处理结点;从所述候选处理结点中选择一个负载率最小的结点作为目标处理结点,所述目标处理结点对应的调度任务交给所述局部调度器进行调度。本发明专利技术提出的一种任务调度优化方法,降低了全局系统调度的平均时间负载率和目标处理器结点局部调度的任务拒绝率,从而提高了电机控制系统的效率。

Task scheduling optimization method

The invention relates to the field of industrial servo control system, and discloses a method for optimizing task scheduling. The method includes the task manager to delete the task list and wait for the task list all non schedulable and non effective scheduling requirements; at time t, on whether to complete the task to judge and identify the target task scheduling node processor; find all can handle the scheduling target and processing node to determine a candidate processing node as the target node selection process; from a minimum load rate of node nodes in the processing of candidate scheduling tasks of the target processing node to the local scheduler for scheduling. A task scheduling optimization method of the present invention, reduce the average time of global scheduling load rate and the target processor node local scheduling task rejection rate, so as to improve the efficiency of the motor control system.

【技术实现步骤摘要】

本专利技术涉及工业伺服控制系统领域,尤其涉及一种任务调度优化的方法。
技术介绍
异构计算的实时硬件任务调度目标是在有限约束条件的前提下为实现一定性能指标而尽量减少整个系统的处理时间。基于现场可编程门阵列(Field-ProgrammableGateArray,FPGA)的异构加速电机控制系统的实时硬件任务调度分为全局系统调度和目标处理结点的局部调度,当前算法在处理全局系统调度和目标处理器结点的局部调度时,在平均时间负载率和任务拒绝率上存在着一定的缺陷,比如,最佳适应算法应用于全局系统调度时,每次分配后必须重新排序,这在时间上带来了一定的开销,从而影响电机控制系统的效率。
技术实现思路
本专利技术要解决的技术问题是在传统FPGA实现多轴电机控制基础上,加速系统中算法的实现,从而保证电机控制的响应更好。为解决上述技术问题,本专利技术提供了一种任务调度优化方法,用于基于FPGA的异构加速电机控制系统,其中,所述基于FPGA的异构加速电机控制系统包括任务管理器、全局调度器、结点处理器、局部资源管理器、局部调度器,其特征在于,所述方法包括下述步骤:S1,所述任务管理器删除到达任务链表和等待任务链表中所有非可调度与非有效调度的任务要求;S2,在时刻t,对所述结点处理器中是否有任务完成进行判断并找出调度目标任务;S3,找出所有能够处理所述调度目标任务的处理结点并确定候选处理结点;S4,从所述候选处理结点中选择一个负载率最小的结点作为目标处理结点,所述目标处理结点对应的调度任务交给所述局部调度器进行调度。在一些实施例中,所述S2包括:当所述结点处理器中没有任务完成时,所述全局调度器仅调度所述到达任务链表中的任务;当所述结点处理器中有任务完成时,所述全局调度器从有序的所述等待任务链表中取出一个S/LST最大的可重调度任务Tb,所述Tb为调度目标任务。在一些实施例中,所述全局调度器仅调度所述到达任务链表中的任务包括:所述全局调度器从有序的到达任务链表中取出一个S/LST最大的有效调度任务Ta,所述Ta为调度目标任务。在一些实施例中,当所述Tb为调度目标任务时,扫描所有所述局部资源管理器所管理的有序全局最大空闲块链表L2,找出所有能够处理所述调度目标任务Tb的最大空闲块所在的处理结点,所述处理结点为候选处理结点。在一些实施例中,当所述Ta为调度目标任务时,扫描所有所述局部资源管理器所管理的有序全局最大空闲块链表L1,找出所有能够处理所述调度目标任务Ta的最大空闲块所在的处理结点,所述处理结点为候选处理结点。在一些实施例中,所述等待任务链表为空或没有可调度的任务时,所述全局调度器调度所述到达任务链表中的任务。在一些实施例中,所述到达任务链表为空或所述到达任务链表中没有到达任务需要调度时,所述全局调度器等待下一个调度时刻。在一些实施例中,所述等待任务链表和所述到达任务链表都没有任务需要调度时,所述全局调度器不调度任何任务直到下一调度时刻有任务到来或系统中有任务完成。本专利技术的有益效果在于通过提出一种任务调度优化方法,降低了全局系统调度的平均时间负载率和目标处理器结点局部调度的任务拒绝率。【附图说明】图1示出了本专利技术实施例提出的一种任务调度优化方法流程图;图2示出了本专利技术实施例提出的另一种任务调度优化方法流程图;图3示出了本专利技术实施例提出的另一种任务调度优化方法流程图。【具体实施方式】为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。此外,下面所描述的本专利技术各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。实施例当前伺服电机控制系统,其主要由数字信号处理器(digitalsignalprocessor,DSP)架构或DSP+FPGA架构来实现电机伺服控制,其中三环控制在DSP内部实现,而当前DSP针对单一电机具有很好的控制响应,但针对多轴而言,DSP的控制响应优势不能体现,而在FPGA内部实现则有很大优势,本专利技术正是基于这种FPGA的异构硬件加速电机控制系统,从而在传统FPGA实现多轴电机控制上面,加速系统中算法的实现,从而保证电机控制的响应更好。一种任务调度优化方法,用于基于FPGA的异构加速电机控制系统,其中,所述基于FPGA的异构加速电机控制系统包括任务管理器、全局调度器、结点处理器、局部资源管理器、局部调度器。其中,全局调度器用于全局系统调度的实时硬件任务调度,局部调度器用于目标处理节点的局部调度。如图1所示,所述任务调度优化方法包括以下步骤:S1,所述任务管理器删除到达任务链表和等待任务链表中所有非可调度与非有效调度的任务要求。所述任务管理器是构成所述全局处理器的一部分,任务管理器用来管理达任务链表和等待任务链表,所述的达任务链表和等待任务链表都是硬件任务链表并且所述两个任务链表都是按照任务的S/LST(S是任务T的面积,LST是任务T的最迟开始时间)由大到小的顺序排列的,所述两个任务链表中存在非可调度与非有效调度的任务。S2,在时刻t,对所述结点处理器中是否有任务完成进行判断并找出调度目标任务。上述在时刻t对所述结点处理器中是否有任务完成进行判断主要包括两种情况,如图2所示,当所述结点处理器中没有任务完成时,所述全局调度器仅调度所述到达任务链表中的任务,具体的,所述全局调度器从有序的到达任务链表中取出一个S/LST最大的有效调度任务Ta,所述Ta为调度目标任务。当所述结点处理器中有任务完成时,所述全局调度器从有序的所述等待任务链表中取出一个S/LST最大的可重调度任务Tb,所述Tb为调度目标任务。上述结点处理器由局部调度器、局部放置器、局部装载器、局部资源管理器和一个可重构器件FPGA构成。局部调度器调用局部放置器为任务在可重构器件FPGA上寻找放置位置并确定任务的启动时间,接受的任务由装载器在启动时间将其装载到可重构器件中运行。所述全局调度器的作用是在所有局部资源管理器中查找能够处理硬件任务的处理结点,并把其调度到处理结点的局部调度器中。S3,找出所有能够处理所述调度目标任务的处理结点并确定候选处理结点。当所确定的调度任务不同时所确定的处理结点也不一样,按照上述S2,所述S3可分为两种情况来讨论,如图3所示:当所述Ta为调度目标任务时,扫描所有所述局部资源管理器所管理的有序全局最大空闲块链表L1,找出所有能够处理所述调度目标任Ta的最大空闲块所在的处理结点,所述处理结点为候选处理结点。当所述Tb为调度目标任务时,扫描所有所述局部资源管理器所管理的有序全局最大空闲块链表L2,找出所有能够处理所述调度目标任务Tb的最大空闲块所在的处理结点,所述处理结点为候选处理结点。上述有序全局最大空闲块链表是用来存储调度任务的链表,且按照处理完成任务所组成的有序链表或者按照执行完毕时间的降序来排列。所述每个最大空闲块对应一个处理结点。使用所述最大空闲块形来管理可重构资源是非常有效的,通过对任务的添加和删除动态地更新最大空闲块能够提高任务分配空闲资源的成功率。所述最大空闲块的管理是基于扫描列算法也即是根据FPGA上扫描列与扫描起始点来管理所有最大空本文档来自技高网...
任务调度优化方法

【技术保护点】
一种任务调度优化方法,用于基于FPGA的异构加速电机控制系统,其中,所述基于FPGA的异构加速电机控制系统包括任务管理器、全局调度器、结点处理器、局部资源管理器、局部调度器,其特征在于,所述方法包括下述步骤:S1,所述任务管理器删除到达任务链表和等待任务链表中所有非可调度与非有效调度的任务要求;S2,在时刻t,对所述结点处理器中是否有任务完成进行判断并找出调度目标任务;S3,找出所有能够处理所述调度目标任务的处理结点并确定候选处理结点;S4,从所述候选处理结点中选择一个负载率最小的结点作为目标处理结点,所述目标处理结点对应的调度任务交给所述局部调度器进行调度。

【技术特征摘要】
1.一种任务调度优化方法,用于基于FPGA的异构加速电机控制系统,其中,所述基于FPGA的异构加速电机控制系统包括任务管理器、全局调度器、结点处理器、局部资源管理器、局部调度器,其特征在于,所述方法包括下述步骤:S1,所述任务管理器删除到达任务链表和等待任务链表中所有非可调度与非有效调度的任务要求;S2,在时刻t,对所述结点处理器中是否有任务完成进行判断并找出调度目标任务;S3,找出所有能够处理所述调度目标任务的处理结点并确定候选处理结点;S4,从所述候选处理结点中选择一个负载率最小的结点作为目标处理结点,所述目标处理结点对应的调度任务交给所述局部调度器进行调度。2.如权利要求1所述的任务调度优化方法,其特征在于,所述S2包括:当所述结点处理器中没有任务完成时,所述全局调度器仅调度所述到达任务链表中的任务;当所述结点处理器中有任务完成时,所述全局调度器从有序的所述等待任务链表中取出一个S/LST最大的可重调度任务Tb,所述Tb为调度目标任务。3.如权利要求2所述的任务调度优化方法,其特征在于,所述全局调度器仅调度所述到达任务链表中的任务包括:所述全局调度器从有序的到达任务链表中取出一个S\...

【专利技术属性】
技术研发人员:田瑞雪徐方曲道奎邹风山姚承博王宇卓
申请(专利权)人:沈阳新松机器人自动化股份有限公司中国科学院国有资产经营有限责任公司
类型:发明
国别省市:辽宁;21

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1