CN109409691B - 一种无能量存储单元的能量收集嵌入式系统作业调度方法 - Google Patents
一种无能量存储单元的能量收集嵌入式系统作业调度方法 Download PDFInfo
- Publication number
- CN109409691B CN109409691B CN201811153972.9A CN201811153972A CN109409691B CN 109409691 B CN109409691 B CN 109409691B CN 201811153972 A CN201811153972 A CN 201811153972A CN 109409691 B CN109409691 B CN 109409691B
- Authority
- CN
- China
- Prior art keywords
- job
- energy
- value
- scheduling
- current
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06312—Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
-
- 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
-
- 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)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Educational Administration (AREA)
- Development Economics (AREA)
- Game Theory and Decision Science (AREA)
- General Engineering & Computer Science (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Supply And Distribution Of Alternating Current (AREA)
Abstract
本发明公开了一种无能量存储单元的能量收集嵌入式系统作业调度方法,包括以下步骤:1、系统中的能量管理器实时监测系统运行状态,收集实时的系统状态信息及作业运行状态信息;2、能量管理器判断是否需要重新进行作业调度;3、根据作业选取算法,在作业集中选取作业;4、使用作业分配算法分配选中作业至各处理器,更新作业运行状态信息中作业的调度结果参数值;5、各处理器根据作业运行状态信息中作业的调度结果参数值执行作业;6、返回步骤1周期性地执行。本发明的技术效果是:在作业调度的过程中考虑作业能耗及系统收集的能量之间的约束,结合作业之间及处理器之间的约束,采用强化学习得到最优的作业调度方案,提高了系统的能量利用率。
Description
技术领域
本发明属于嵌入式系统技术领域,具体涉及一种无蓄电池的能量收集嵌入式系统作业调度方法。
背景技术
近年来,随着嵌入式系统的发展,嵌入式设备被广泛应用。延长使用寿命、缩小设备体积以及减轻设备重量是其研究重点。对比传统的使用蓄电池供电的嵌入式设备,自供电的能量收集嵌入式设备使用能量收集技术从环境中收集能量,可以在偏远、恶劣的环境下工作,拥有更长的寿命、更低的维护成本、更小的体积,越来越受到使用者的欢迎。传统的能量收集系统由能量采集电路、能量存储单元以及嵌入式系统组件组成。然而,能量存储单元中能量转移与转化引起的低能量效率,使得无能量存储单元的能量收集系统成为新的研究热点。虽然能量收集的能量来源是无限的,但在一定时间段内设备可用的能量是有限的。采用能量收集的自治嵌入式系统的能量供给在很大程度上受外界环境的影响,其能量供给在时间上分布严重不均使得传统的作业调度算法不再适用于此类系统。对于此类系统,充分利用有限的收集能量,在满足能量约束的条件下满足作业完成的时间限制,是其作业调度方法的关键。因此,根据能量供给来调整作业调度方案,在能量供给充足时执行更多作业,在能量供给不足时减少作业,能缓解系统能量供需上的差异,从而提高系统能量使用效率。
现有的针对能量收集嵌入式系统的作业调度方法,主要适用于带能量存储单元的能量收集嵌入式系统并集中于在能量约束下最大化系统性能,或者最小化系统能耗,没有考虑无能量存储单元的能量收集嵌入式系统,并且缺少对环境变化的反馈。当环境发生较大的变化,这些方法无法适时做出应对。因此,无能量存储单元的能量收集嵌入式系统必须能动态地根据外界环境以及系统状态来调度作业。
发明内容
本发明所要解决的技术问题就是提供一种无能量存储单元的能量收集嵌入式系统的作业调度方法,它能充分利用系统收集的能量,提高系统的服务质量,减少系统执行的作业的错失率,还能动态适应环境和作业随时间的变化。
本发明所要解决的技术问题是通过这样的技术方案实现的,它包括以下步骤:
步骤1、系统中的能量管理器实时监测系统运行状态,收集实时的系统状态信息及作业运行状态信息;系统状态信息包含能量信息、各处理器状态信息和当前作业周期的剩余时间;作业运行状态信息包含各作业的调度结果参数值、作业剩余执行时间、执行该作业所消耗的功率;
步骤2、能量管理器判断是否需要重新进行作业调度,如果是,则执行步骤3;否则执行步骤5;
步骤3、根据作业选取算法,结合根据步骤1采集到的系统状态信息中的能量信息以及作业运行状态信息,在作业集中选取作业;
步骤4、根据步骤3选中的作业的参数以及步骤1采集到的当前处理器的状态信息,使用作业分配算法分配选中作业至各处理器,更新作业运行状态信息中作业的调度结果参数值;
步骤5、各处理器根据作业运行状态信息中作业的调度结果参数值执行作业;
步骤6、返回步骤1周期性地执行,直至系统停止。
本发明的技术效果是:
本发明针对无能量存储单元的能量收集嵌入式系统,使系统根据实时系统状态调整作业调度方案,提高系统的能量利用率。
附图说明
本发明的附图说明如下:
图1为本发明应用的一种无能量存储单元的能量收集嵌入式系统框图;
图2为本发明的流程图;
图3为本发明的作业选取算法的流程图;
图4为本发明的作业分配算法的流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明:
为了能够使无能量存储单元的能量收集嵌入式系统(简称“系统”)充分利用有限的收集到的能量,系统一般设有一个能量管理单元。该能量管理单元根据当前系统收集的能量以及当前系统需要完成的作业来调整作业的调度方案。在制定作业调度方案时,需要满足作业的能耗以及系统可用能量之间的约束条件,还需考虑作业以及处理器的约束条件。
本发明所应用的能量收集嵌入式系统框图如图1所示,该系统由一个能量收集电路、一个能量管理器和若干负载组成。能量收集电路通过将太阳能转化为电能,供系统使用,当前作业周期系统收集能量的功率为Ph(t);能量管理器通过调度作业管理系统能量消耗,最大化完成作业消耗的能量的比例,当前作业周期系统消耗能量的功率为Pn(t);负载为用于完成作业的部件(包括处理器等),系统的作业集为T={τ1,…,τL}。作业集中的当前作业τi为五元组其,中STi表示作业完成需要的时间,PTi表示作业执行时消耗的功率,SLi表示作业剩余执行时间,DTi表示当前作业周期结束时间,ETi表示作业的调度结果参数值。只有能量收集电路产生的能量大于负载消耗的能量,系统才能正常运行。如果一个作业正在处理器中运行,只有作业完成所需的剩余时间小于作业的截止时间,同时系统产生的能量大于执行改作业消耗的功率,该作业才可以完成。
本发明以系统的能量利用率为优化目标,提供一种无能量存储单元的能量收集嵌入式系统的作业调度方法,如图2所示,包含以下步骤:
步骤201、能量管理器实时监测系统状态,收集实时的系统状态信息及作业运行状态信息;
系统状态信息包含系统采集到的能量信息、各处理器状态信息和当前作业周期的剩余时间,用于描述系统的状态。能量信息包含当前周期系统收集能量的功率Ph(t)和当前周期系统消耗能量的功率Pn(t);处理器状态信息为当前处理器是否空闲以及其正在执行的作业的编号;当前作业周期的剩余时间为当前作业周期的剩余时间为当前作业周期结束时间DTi减去已执行的时间。
作业运行状态信息包含各作业的调度结果参数值、作业剩余执行时间、执行该作业所消耗的功率。作业的调度结果参数值ETi为该作业是否执行以及执行该作业的处理器的编号;作业剩余执行时间SLi为各作业完成所需的执行时间STi减去已执行的时间,执行该作业所消耗的功率为PTi。
步骤202、能量管理器判断是否需要重新进行作业调度,如果是,则执行步骤203;否则执行步骤205;
作业调度是由三个预设的作业调度状态标志位决定:1、能量变化标志位,标记当前采集到的能量与上一时刻采集到的能量之间的变化值是否大于预设值;2、作业无法完成标志位,标记当前是否有作业无法根据调度方案执行完成;3、作业完成标志位,标记当前是否所有作业都已按调度方案执行完成。三个标志位在每次系统采集实时信息后按规则更新。
能量变化标志位使用当前系统收集能量的功率与上一次记录的系统收集能量的功率相减的结果的绝对值,减去预设的能量变化阈值,若相减结果为正,能量变化标志位标记是,反之标记为否。作业无法完成标志位使用作业运行状态信息中的作业剩余执行时间以及当前作业周期剩余时间,比较各个作业的剩余执行时间是否大于当前作业周期剩余时间,若存在任意作业的剩余执行时间大于当前作业周期剩余时间,作业无法完成标志位标为是,若所有作业的剩余执行时间都小于当前作业周期剩余时间,作业无法完成标志位标为否。作业完成标志位使用作业运行状态信息中的作业剩余执行时间,若所有作业的剩余执行时间均为0,则作业完成标志位标记为是,若存在任意作业的剩余执行时间大于0,作业完成标志位标记为否。三者之中任意一个标志位标为是,表示系统正在使用的作业调度方案已不适用于当前的系统状态,即为需要重新调度作业。
步骤203、根据作业选取算法,结合根据步骤201采集到的系统状态信息中的能量信息以及作业运行状态信息,在作业集中选取作业并更新作业运行状态信息中作业的调度结果参数值;
作业选取算法的输入是系统收集能量的功率以及作业运行的状态信息;输出为作业选取结果。作业选取结果包含当前作业周期作业集中的各项作业是否被系统选择执行,选取结果以作业运行状态信息中作业的调度结果参数值体现,此步骤更新的作业运行状态信息中作业的调度结果参数值无法在执行作业时直接被使用,而是作为作业分配算法的输入。被选中的作业在其作业运行状态信息中作业的调度结果参数值设为正无穷,未选中的作业的作业运行状态信息中作业的调度结果参数值为0。
步骤204、根据步骤203得到的作业选取结果,步骤201采集到的系统状态信息中的处理器状态信息使用作业分配算法分配选中的作业至各处理器,更新作业运行状态信息中作业的调度结果参数值。
作业分配算法的输入是作业选取结果以及处理器状态信息;输出为作业分配结果。作业分配结果包含作业集中各项作业被分配至哪个处理器执行,作业分配结果以作业运行状态信息中作业的调度结果参数值体现,此次更新的作业运行状态信息中作业的调度结果参数值能直接在作业执行时使用,是作业执行方案的依据;此步骤更新的作业运行状态信息中作业的调度结果参数值为分配的执行该作业的处理器的编号;例如分配给处理器2去执行的作业,调度结果参数值为2;如果当前所有处理器都无法执行作业某项作业,则其调度结果参数值为0。
步骤205、各处理器根据作业运行状态信息中作业的调度结果参数值执行作业;
步骤206、判断系统是否停止;若是,则执行步骤207;若否,则执行步骤201;
判断系统是否停止的依据为当前系统是否继续运行,即判断当前系统的消耗功率是否小于系统能量收集功率以及当前作业周期剩余时间是否大于0。
步骤207、程序结束。
能量管理器通过运行上述所有步骤完成一个作业周期内的作业调度;能量管理器在系统运行期间持续工作,根据系统收集能量的状态以及作业执行状态的组合的变化,动态调整作业调度方案,避免系统使用不合适的作业调度方案,浪费有限的收集的能量,导致低的服务质量。
由于本发明持续收集系统状态信息,能量管理器可以快速对系统状态的变化做出反应,根据不同的系统状态选择最优的作业调度方案,因此本方法发明能使无能量存储单元的能量收集嵌入式系统能快速适应外界环境变化引起的不稳定能量供给。
上述步骤203中,作业选取算法其流程如图3所示,该流程包括以下步骤:
步骤301、建立作业选取规则表格Q;
步骤302、建立资格迹表格e;
资格迹表格e的大小与作业选取规则表格Q一致,其中所有单元的初始数值均为0。
步骤303、匹配并记录系统作业调度输入状态作为作业选取的输入;
下面举例介绍系统作业调度输入状态匹配过程。假设当前系统收集能量的功率划分为3个等级状态,各个等级状态的收集能量功率范围如下表所示:
能量状态 | 收集能量功率范围(mW) |
S1 | 0≤P<sub>n</sub>(t)<200 |
S2 | 200≤P<sub>n</sub>(t)<400 |
S3 | P<sub>n</sub>(t)≥400 |
假设当前系统作业集中有两个作业,作业1和作业2。作业完成情况由作业运行状态信息中的调度结果参数值和剩余执行时间共同决定,当调度结果参数值为正整数,即已分配至处理器执行,且剩余执行时间为0的作业为已完成作业,否则视该作业为未完成作业。作业完成状态所对应的作业完成情况如下表所示:
作业完成状态 | 作业完成情况 |
L1 | 作业1及作业2均未完成 |
L2 | 作业1已完成、作业2未完成 |
L3 | 作业1未完成、作业2已完成 |
L4 | 作业1及作业2均已完成 |
在此案例中,共有12个系统作业调度输入状态,各系统作业调度输入状态如下表所示:
系统作业调度输入状态 | E1 | E2 | E3 | E4 | E5 | E6 | E7 | E8 | E9 | E10 | E11 | E12 |
能量状态 | S1 | S1 | S1 | S1 | S2 | S2 | S2 | S2 | S3 | S3 | S3 | S3 |
作业完成状态 | L1 | L2 | L3 | L4 | L1 | L2 | L3 | L4 | L1 | L2 | L3 | L4 |
因此,当步骤201采集到的系统状态信息中的能量信息为功率为332mW,则当前系统的能量状态为S2。当前作业运行状态信息中的作业1的调度结果参数值为1,剩余执行时间为0,作业2的调度结果参数值为0。则当前作业1已分配至处理器1执行且已完成。作业2未分配至处理器,未被执行,因此未完成。根据上述作业完成状态划分规则,作业完成状态为L2。因此,步骤303输入的系统作业调度输入状态为状态E6。
步骤304、记录当前系统作业调度输入状态,并计算当前作业选取方案的奖励值;
根据步骤303得到的输入以及步骤201采集到的作业调度结果参数值,按公式(1)用能量利用率来衡量系统不同能量状态下不同的作业选取方案的奖励值:
式(1)中,R为当前系统作业调度输入状态下选取当前作业调度方案的奖励值,暂存于系统寄存器中;
a为放大倍数;
Pn-T(t)为作业执行功率的总和,为各处理器执行的作业消耗的功率之和;
Pn(t)为当前周期系统消耗能量的功率,由当前系统的电压和电流相乘得到;
t‘为当前调度方案执行时间;
b为矫正参数;
在放大倍数a以及矫正参数b的共同作用下,奖励值的范围在-500~500之间;且当能量利用率高于70%时,所得的奖励值为0,能量利用率越高,奖励值越大;当能量利用率低于70%时,系统将得到负的奖励值作为惩罚,能量利用率越低,奖励值越小,奖励值的绝对值越大。
步骤305、挑选作业选取方案;
在作业选取规则表格Q中,选中与步骤303得到的状态相同的一行。
步骤306、生成一个0~1之间随机数,并比较该随机数与预先设置的阈值ε的大小;若随机数大于ε,则执行步骤307;否则执行步骤308;
阈值ε为系统随机获取作业选取方案的概率。通过生成0~1之间的随机数,系统能以ε的概率随机选中作业选取方案,以1-ε的概率选取最优的作业选取方案。不仅可以避免个别作业选取方案从未被选中,更能加快对各系统作业调度输入状态下选取各作业选取方案的奖励值与回报值的更新速度,提高系统的自适应性。
步骤307、选取并记录步骤305选中的结果中数值最大的项所对应的作业选取结果作为输出;
步骤308、随机选取并记录步骤305选中的结果中的项所对应的作业选取结果作为输出;
下面举例介绍作业选取的过程。假设系统作业调度输入状态划分与上述案例相同,共12个系统作业调度输入状态,系统中的作业集有2个作业。所有可能的作业选取方案共4种如下表所示:
因此作业选取规则表格Q有12行4列,假设某一时刻系统中作业选取规则表格Q如下表所示:
A1 | A2 | A3 | A4 | |
E1 | 124 | 45 | 145 | 14 |
E2 | 140 | 84 | 108 | 112 |
E3 | 17 | 108 | 9 | 61 |
E4 | 75 | 51 | 77 | 43 |
E5 | 50 | 32 | 9 | 68 |
E6 | 7 | 22 | 107 | 148 |
E7 | 34 | 92 | 97 | 96 |
E8 | 70 | 57 | 59 | 73 |
E9 | 54 | 28 | 149 | 99 |
E10 | 67 | 123 | 55 | 135 |
E11 | 88 | 106 | 145 | 12 |
E12 | 3 | 143 | 119 | 48 |
作业选取规则表格Q中的各单元的数值代表在各系统作业调度输入状态下选择作业选取方案的价值,价值越高表示作业选取方案越适合该系统作业调度输入状态,不同系统作业调度输入状态选择不同作业选取方案对得到不同价值,算法在不同系统作业调度输入状态选择最高的价值对应的作业选取方案,由此得到作业选取的规则。在系统建立时该表格中各单元的数值初始化为0,并根据算法在系统运行过程中不断更新各单元的数值。
假设系统作业调度输入状态为E6,则步骤305从作业选取规则表格Q挑选出E6对应的行,即[7,22,107,148]。假设阈值ε的值设为0.01,当前系统生成随机数为0.23。则系统进入步骤307,选取步骤305筛选出的[7,22,107,148]中最大项148对应的作业选取方案A4作为输出。因此系统所选的作业选取方案为既选取作业1又选取作业2。
步骤309、计算当前系统作业调度输入状态与当前作业选取方案的回报值,回报值按如下公式计算:
δ=R+γ·Q(s',a')-Q(s,a) (2)
式(2)中,δ为当前系统作业调度输入状态与当前作业选取方案的回报值,暂存于系统的寄存器中;
γ为衰减系数,其取值范围在0~1之间,其值越大则作业选取规则表格Q中各单元的数值衰减速率约慢,即被选中的系统作业调度输入状态与作业选取方案对后续的影响更大;
s‘为步骤303匹配的当前系统作业调度输入状态对应的数字,如E6中的6;
a‘为步骤307或者步骤308中选取的输出结果对应的数字,如A4中的4;
s为记录的上一系统作业调度输入状态对应的数字,即上一次执行该算法时获取的s‘;
a为上一作业选取方案对应的数字,即上一次执行该算法时获取的a‘;
Q(s,a)为作业选取规则表格Q中第s行a列的单元的数值,Q(s',a')同理;
R为当前系统作业调度输入状态下选取当前作业调度方案的奖励值。
步骤310、增加上一系统作业调度输入状态s与上一作业选取方案a的资格迹,该资格迹数值按如下公式计算:
e(s,a)=e(s,a)+1 (3)
式(3)中,e(s,a)为资格迹表格e中第s行a列的单元的数值,其中的s、a与步骤309相同。资格迹指系统作业调度输入状态与作业选取方案的传导径迹,其实质是表示过去经历过的系统作业调度输入状态与作业选取方案的选择中哪些对现在的系统作业调度输入状态与作业选取方案的选择有影响,其单元的数值表示影响的程度,各单元的值非负,若值为0,则表示无影响,若值为正表示有影响,数值越大表示影响程度越大。通过对每次选中的系统作业调度输入状态及作业选取方案的资格迹进行加1操作,该系统作业调度输入状态及作业选取方案的资格迹增加,其对之后的系统作业调度输入状态与作业选取方案的选择的影响增加。
步骤311、更新资格迹表格e;
遍历资格迹表格e,其中各单元的数值按如下公式计算:
e(i,j)=γ·λ·e(i,j) (4)
式(4)中,e(i,j)为资格迹表格e中第i行j列的单元的数值。γ为步骤309使用的衰减系数。λ为更新率,取值范围在0~1之间,λ越大,资格迹中各单元的数值更新越慢,选中的系统作业调度输入状态及作业选取方案对后续系统作业调度输入状态与作业选取方案的选择的影响越大。每次执行该算法,各系统作业调度输入状态与作业选取方案的资格迹以γ·λ的速度衰减;通过此方法更新资格迹表格e,最近选取的系统作业调度输入状态与作业选取方案的资格迹将大于未被选取的系统作业调度输入状态与作业选取方案的资格迹,资格迹越大表示该系统作业调度输入状态与作业选取方案对后续系统作业调度输入状态与作业选取方案的选择的影响越大;距离上一次被选取的时间越长,资格迹越小直至衰减至0。
步骤312、更新作业选取规则表格Q;
遍历作业选取规则表格Q,其中各单元的数值按如下公式计算:
Q(i,j)=Q(i,j)+α·δ·e(i,j) (5)
式(5)中,Q(i,j)为作业选取规则表格Q中第i行j列的单元的数值,δ步骤309计算的回报值,α为学习速率;通过更新作业选取规则表格Q,该算法通过到上一次输出结果的反馈调整作业选取规则表格Q中各单元格的数值,从而不断调整作业选取规则;反馈为α·δ·e(i,j),由回报值和资格迹组成,通过学习速率的大小决定反馈所占的比重。
步骤313、程序结束。
在作业选取算法中,能量管理器返回并记录系统作业调度输入状态以及该状态下得到的作业调度方案的价值,不断更新各状态下作业调度方案选取规则,从而达到高可用性和高适应性。
上述步骤204中,作业分配算法其流程如图4所示,该流程包括以下步骤:
步骤401、建立作业分配价值表格H;
作业分配价值表格H的行数为作业集中作业数L,列数为系统中处理器数量M,其中所有单元的初始数值均为0;
步骤402、获取步骤203的作业选取结果以及收集的处理器状态信息;
步骤403、判断是否有选中未分配作业需要分配;若是,执行步骤404;否则执行步骤409;
步骤404、建立分配暂存表格T;
根据步骤402的作业选取结果,对首个选中未分配的作业,即作业状态信息中的作业调度结果参数值为正无穷的作业,选取其对应的作业分配价值表格H中的行,按照各单元的数值对该行进行降序排列,并将结果另存于分配暂存表格T。作业分配价值表格H中各单元的数值为将该作业分配至该处理器的行为的价值,价值越高表示当前将该作业分配至该处理器越合适,将不同的作业分配至不同的处理器得到不同的价值,算法将各作业分配至获取的价值最高的处理器,由此得到作业分配的规则。
步骤405、判断分配暂存表格T是否为空;若是,执行步骤403;若否,执行步骤406;
当分配暂存表格T为空时表示该作业无合适处理器执行,即该作业分配结果为未分配处理器执行该作业,该作业的调度结果参数值为0。
步骤406、判断分配暂存表格T的首个单元分配结果是否可行;若是,执行步骤408;否则执行步骤407;
选取分配暂存表格T的首个单元,根据步骤402收集的处理器状态信息,判断该单元对应的处理器当前是否空闲或正在执行该作业,若是,则认为该处理器当前能用于执行该作业,该作业的调度结果参数值为该处理器编号。
下面举例介绍分配暂存表格T的建立分配结果是否可行的过程。假设系统中有2个处理器,处理器1空闲,处理器2正在执行作业2,系统的作业集有2个作业,作业1的调度结果参数值为0,作业2的调度结果参数值为正无穷。因此,系统的作业分配价值表格H有2行2列,假设某一时刻系统中作业分配价值表格H如下表所示:
处理器1 | 处理器2 | |
作业1 | 0.52 | 0.18 |
作业2 | 0.34 | 0.99 |
作业分配价值表格H的各单元的数值在系统建立时均初始化为0,并根据算法不断更新各单元的数值。
由于作业1未被选中,因此,作业2为首个选中未分配作业,根据作业分配价值表格H中作业2所在的行降序排列后的作业2的分配暂存表格T为:
0.99 | 0.34 |
首个单元格为0.99,对应的处理器为处理器2,当前处理器正在执行作业2,则该分配结果可行,处理器2将继续执行作业2,算法进入步骤407。
步骤407、剔除T中首个单元格,执行步骤406;
步骤408、增加当前作业与选中的处理器配对的价值;
价值按如下公式计算:
H(i,j)=H(i,j)+1 (6)
式(6)中,H(i,j)为作业分配价值表格H中第i行j列的单元的数值;通过增加选中的作业与处理器对应的作业分配价值表格H中的单元的数值,即将该作业分配至该处理器执行的价值,该算法能提高下一次执行时再次将该作业分配至该处理器的概率,从而提高作业执行时的资源命中率,减少作业执行时重新获取资源的开销。
步骤409、更新作业分配价值表格H,执行步骤403;
作业分配价值表格H的各单元的数值按如下公式计算:
H(i,j)=μ·H(i,j) (7)
式(7)中,μ为更新率,可取(0,1)之间任意数值,μ越大,作业分配价值的更新率越慢,作业分配价值衰减越慢,μ越小,作业分配价值的更新率越快,作业分配价值衰减越快,系统越倾向于选取最近执行且仅执行某作业的处理器;
步骤410、输出作业分配结果;
步骤411、程序结束。
本发明的优点是:
1、对环境变化的适应性强。
本发明通过能量管理器持续获取的信息更新系统状态和调整作业调度方案选取的策略,因此可以应对环境变化引起的系统收集能量变化导致的系统状态与作业调度方案不匹配问题。
2、提高了能量利用率
对于不同能量状态,本发明选取能量利用率最高,即作业选取规则表格中数值最大的作业选取方案以及作业分配价值表格中数值最高的作业分配方案组成的作业调度方案,保证系统尽可能多地将能量用于完成各项作业。
Claims (5)
1.一种无能量存储单元的能量收集嵌入式系统作业调度方法,其特征是:包括以下步骤:
步骤1、系统中的能量管理器实时监测系统运行状态,收集实时的系统状态信息及作业运行状态信息;系统状态信息包含能量信息、各处理器状态信息和当前作业周期的剩余时间;作业运行状态信息包含各作业的调度结果参数值、作业剩余执行时间、执行该作业所消耗的功率;
步骤2、能量管理器判断是否需要重新进行作业调度,如果是,则执行步骤3;否则执行步骤5;
步骤3、根据作业选取算法,结合根据步骤1采集到的系统状态信息中的能量信息以及作业运行状态信息,在作业集中选取作业,包括以下步骤:
步骤301、建立作业选取规则表格Q,其行数为划分的系统能量状态数与所有作业完成状态的总数量2L的乘积,其列数为所有作业选取结果数2L,L为作业集中的作业数;步骤302、建立资格迹表格e,其大小与作业选取规则表格Q一致,其中所有单元的初始数值均为0;
步骤304、记录当前系统作业调度输入状态,并计算当前作业选取方案的奖励值;
用能量利用率来衡量系统不同能量状态下不同的作业选取方案的奖励值:
式(1)中,R为当前系统作业调度输入状态下选取当前作业调度方案的奖励值;a为放大倍数;
Pn-T(t)为作业执行功率的总和;
Pn(t)为当前周期系统消耗能量的功率;
t'为当前调度方案执行时间;
b为矫正参数;
步骤305、在作业选取规则表格Q中选中与步骤303得到的状态输入相同的一行;
步骤306、生成一个0~1之间随机数并判断其是否大于预先设置的阈值ε;若是,则执行步骤307;否则执行步骤308;
步骤307、选取并记录步骤305选中的结果中数值最大的项所对应的作业选取结果作为输出;
步骤308、随机选取并记录步骤305选中的结果中的项所对应的作业选取结果作为输出;
步骤4、根据步骤3选中的作业的参数以及步骤1采集到的当前处理器的状态信息,使用作业分配算法分配选中作业至各处理器,更新作业运行状态信息中作业的调度结果参数值;
步骤5、各处理器根据作业运行状态信息中作业的调度结果参数值执行作业;
步骤6、返回步骤1周期性地执行,直至系统停止。
2.根据权利要求1所述的无能量存储单元的能量收集嵌入式系统作业调度方法,其特征是:步骤1中,所述能量信息包含当前周期系统收集能量的功率Ph(t)和当前周期系统消耗能量的功率Pn(t);所述处理器状态信息为当前处理器是否空闲以及其正在执行的作业的编号;所述当前作业周期的剩余时间为当前作业周期结束时间DTi减去已执行的时间;
所述作业的调度结果参数值ETi为该作业是否执行以及执行该作业的处理器的编号;所述作业剩余执行时间SLi为作业完成所需的执行时间STi减去已执行的时间;执行该作业所消耗的功率为PTi;
设置作业集为T={τ1,…,τL},当前作业τi为五元组τi=(STi,PTi,SLi,DTi,ETi),L为作业集中的作业数。
3.根据权利要求2所述的无能量存储单元的能量收集嵌入式系统作业调度方法,其特征是,步骤2中,作业调度是由三个预设的作业调度状态标志位决定:1、能量变化标志位,标记当前采集到的能量与上一时刻采集到的能量之间的变化值是否大于预设值;2、作业无法完成标志位,标记当前是否有作业无法根据调度方案执行完成;3、作业完成标志位,标记当前是否所有作业都已按调度方案执行完成;三者之中任意一个标志位标为是,则需要重新调度作业。
4.根据权利要求3所述的无能量存储单元的能量收集嵌入式系统作业调度方法,其特征是,在步骤3中,还包括更新规则表格Q的步骤:
步骤309、计算当前系统作业调度输入状态与当前选取方案的回报值,回报值按如下公式计算:
δ=R+γ·Q(s',a')-Q(s,a) (2)
式(2)中,δ为当前系统作业调度输入状态与当前选取方案的回报值;
γ为衰减系数;
s'为步骤303匹配的当前系统作业调度输入状态对应的数字,
a'为步骤307或者步骤308中选取的输出结果对应的数字,
s为上一次执行该算法时获取的s';
a为上一次执行该算法时获取的a';
Q(s,a)为作业选取规则表格Q中第s行a列的单元的数值;
Q(s',a')为作业选取规则表格Q中第s'行a'列的单元的数值;
步骤310、增加上一系统作业调度输入状态s与上一作业选取方案a的资格迹,该资格迹数值按如下公式计算:
e(s,a)=e(s,a)+1 (3)
式(3)中,e(s,a)为资格迹表格e中第s行a列的单元的数值;
步骤311、更新资格迹表格e;
遍历资格迹表格e,其中各单元的数值按如下公式计算:
e(i,j)=γ·λ·e(i,j) (4)
式(4)中,e(i,j)为资格迹表格e中第i行j列的单元的数值,γ为衰减系数,λ为更新率;
步骤312、更新作业选取规则表格Q;
遍历作业选取规则表格Q,其中各单元的数值按如下公式计算:
Q(i,j)=Q(i,j)+α·δ·e(i,j) (5)
式(5)中,Q(i,j)为作业选取规则表格Q中第i行j列的单元的数值,δ为步骤309计算的回报值,α为学习速率。
5.根据权利要求4所述的无能量存储单元的能量收集嵌入式系统作业调度方法,其特征是,在步骤4中,作业分配算法的步骤包括:
步骤401、建立作业分配价值表格H,
作业分配价值表格H的行数为作业集中作业数L、列数为系统中处理器数量M,所有单元的初始数值均为0;
步骤402、获取步骤203的作业选取结果以及收集的处理器状态信息;
步骤403、判断是否有选中未分配作业需要分配;若是,执行步骤404;否则执行步骤409;
步骤404、建立分配暂存表格T
根据步骤402的作业选取结果,对首个选中未分配的作业,选取其对应的作业分配价值表格H中的行,按照各单元数值进行降序排列,并将结果另存于分配暂存表格T;
步骤405、判断分配暂存表格T是否为空;若是,执行步骤403;若否,执行步骤406;步骤406、判断首个分配单元是否可行;若是,执行步骤408;否则执行步骤407;
在分配暂存表格T的首个单元,根据步骤402收集的处理器状态信息,判断该单元对应的处理器当前是否空闲或正在执行该作业,若是,则认为该处理器当前能用于执行该作业,该作业的调度结果参数值为该处理器编号;
步骤407、剔除T中首个单元格,执行步骤406;
步骤408、增加当前作业与选中的处理器配对的价值,
价值按如下公式计算:
H(i,j)=H(i,j)+1 (6)
式(6)中,H(i,j)为作业分配价值表格H中第i行j列的单元的数值;
步骤409、更新作业分配价值表格H的各单元的数值,执行步骤403,
各单元的数值按如下公式计算:
H(i,j)=μ·H(i,j) (7)
式(7)中,μ为更新率;
步骤410、输出作业分配结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811153972.9A CN109409691B (zh) | 2018-09-30 | 2018-09-30 | 一种无能量存储单元的能量收集嵌入式系统作业调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811153972.9A CN109409691B (zh) | 2018-09-30 | 2018-09-30 | 一种无能量存储单元的能量收集嵌入式系统作业调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109409691A CN109409691A (zh) | 2019-03-01 |
CN109409691B true CN109409691B (zh) | 2022-10-11 |
Family
ID=65465689
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811153972.9A Active CN109409691B (zh) | 2018-09-30 | 2018-09-30 | 一种无能量存储单元的能量收集嵌入式系统作业调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109409691B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210082705A (ko) * | 2019-12-26 | 2021-07-06 | 삼성전자주식회사 | 미리 정의된 시간을 사용한 스토리지 장치의 작업 스케쥴링 방법 및 이를 이용한 스토리지 시스템의 구동 방법 |
CN114744705B (zh) * | 2022-04-01 | 2023-05-12 | 上海飒智智能科技有限公司 | 一种自动化生产线移动机器人能量管理方法及管理装置 |
CN118521123B (zh) * | 2024-07-19 | 2024-10-18 | 中国人民解放军火箭军工程大学 | 考虑健康退化的工业设备作业调度方法、系统及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103455131A (zh) * | 2013-08-20 | 2013-12-18 | 北京航空航天大学 | 一种基于概率的嵌入式系统中能耗最小化的任务调度方法 |
CN103914345A (zh) * | 2013-12-16 | 2014-07-09 | 西北工业大学 | 一种面向能量收集系统的嵌入式操作系统任务调度方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2525917B (en) * | 2014-05-09 | 2021-08-11 | Arm Ip Ltd | Energy-based scheduling of operations to be executed by a data processing apparatus |
-
2018
- 2018-09-30 CN CN201811153972.9A patent/CN109409691B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103455131A (zh) * | 2013-08-20 | 2013-12-18 | 北京航空航天大学 | 一种基于概率的嵌入式系统中能耗最小化的任务调度方法 |
CN103914345A (zh) * | 2013-12-16 | 2014-07-09 | 西北工业大学 | 一种面向能量收集系统的嵌入式操作系统任务调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109409691A (zh) | 2019-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109409691B (zh) | 一种无能量存储单元的能量收集嵌入式系统作业调度方法 | |
US9148018B2 (en) | Power supply device, power storage device, and power control device | |
Chen | Two-level hierarchical approach to unit commitment using expert system and elite PSO | |
US10483761B2 (en) | Power management device, power management system, server, power management method, and program | |
CN104009494B (zh) | 一种环境经济发电调度方法 | |
CN111725826B (zh) | 一种基于高比例光伏接入电力系统的储能综合定容方法 | |
CN110969362B (zh) | 一种云计算系统下多目标任务调度方法及系统 | |
CN110598941A (zh) | 一种基于仿生策略的粒子群优化制造系统双目标排产方法 | |
CN109768560B (zh) | 提供多服务的蓄电池的充放电控制装置及方法 | |
CN106410781A (zh) | 一种电力用户需求响应潜力确定方法 | |
CN111833205B (zh) | 一种大数据场景下的移动充电桩群体智能调度方法 | |
CN114004065A (zh) | 基于智能算法和环境约束下的变电站工程多目标优化方法 | |
CN111859242A (zh) | 一种家庭电力能效优化方法及系统 | |
CN115587645A (zh) | 一种考虑充电行为随机性的电动汽车充电管理方法及系统 | |
CN111027875A (zh) | 一种基于自适应任务池的智能仓储多机器人任务分配方法 | |
CN117254464B (zh) | 一种储能系统的控制方法及系统 | |
CN108062721B (zh) | 工业园区综合能源系统收益分配方法、装置和系统 | |
Sarkar et al. | Concurrent carbon footprint reduction (c2fr) reinforcement learning approach for sustainable data center digital twin | |
CN103164757A (zh) | 一种装备维修任务调度方法 | |
CN112052987A (zh) | 一种计及风电的综合能源系统优化规划方法及系统 | |
Ge et al. | Research on online scheduling method for flexible assembly workshop of multi-agv system based on assembly island mode | |
CN111221656A (zh) | 一种基于机器学习技术的多线程应用程序动态调度方法 | |
CN118132254B (zh) | 一种用于能耗预测的边端协同ai模型构建系统及方法 | |
CN117933668B (zh) | 基于电网负荷与电价的智慧停车场充电调度方法及系统 | |
CN118014168B (zh) | 一种基于粒子群算法的企业运营管理优化方法 |
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 |