CN115712507B - 一种计算船舶网关任务优先级的方法 - Google Patents
一种计算船舶网关任务优先级的方法 Download PDFInfo
- Publication number
- CN115712507B CN115712507B CN202211504192.0A CN202211504192A CN115712507B CN 115712507 B CN115712507 B CN 115712507B CN 202211504192 A CN202211504192 A CN 202211504192A CN 115712507 B CN115712507 B CN 115712507B
- Authority
- CN
- China
- Prior art keywords
- task
- priority
- time
- calculating
- gateway
- 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
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 58
- 230000004044 response Effects 0.000 claims abstract description 44
- 230000002068 genetic effect Effects 0.000 claims abstract description 25
- 238000004364 calculation method Methods 0.000 claims description 26
- 230000008569 process Effects 0.000 claims description 15
- 230000035772 mutation Effects 0.000 claims description 11
- 230000001186 cumulative effect Effects 0.000 claims description 7
- 238000009396 hybridization Methods 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 4
- 230000003068 static effect Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000000875 corresponding effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- 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
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种计算船舶网关任务优先级的方法,该方法的具体步骤包括:S1:创建初始种群;S2:适应度计算:依据S1设定的任务优先级分配任务集,计算网关中各任务所需的响应时间,并计算得到任务集中所有任务完成所需的最大响应时间即适应度;S3:利用遗传算法更改S1中任务优先级分配任务集的优先级来降低适应度;S4:迭代:S5:网关CPU执行基于S4得到的最优的任务优先级分配任务集。本发明通过在进行分配策略时先计算适应度,保证遗传算法的有效性;再利用遗传算法选出最优的任务优先级分配任务集,相比于轮询调度、RM调度,适应度函数和遗传算法的配合使用使任务的平均响应时间更小,CPU使用效率更高,调度性能更优,处理任务的速度更快,更适合网关程序。
Description
背景技术
本发明涉及设计网关系统任务调度策略领域,具体为一种计算船舶网关任务优先级的方法。
技术领域
随着计算机技术、传感器技术、信息处理技术的迅速发展,电力系统自动化水平不断提升,船舶电网结构日趋复杂,网关作为一种重要的通信设备。将各种通讯方式或通信协议转换为统一格式并发送给上位机程序或将各命令下达给各设备,不仅要完成正常的通信协议转换功能,还要保证传输数据的实时性,可靠性。
为保证数据传输的有效性,网关必须在规定时间内完成任务,合适的调度策略可以提高CPU利用率,提高网关执行效率。合理分配任务的优先级不仅能保证在截止期限之前完成任务,还能减少任务响应时间保证实时性,减少CPU空闲时间,提高设备性能。
常用的调度算法分为静态调度算法和动态调度算法。静态调度算法是指在任务执行过程中,每个任务的优先级不会改变,动态调度算法是指在任务执行过程中,某些任务的优先级会改变。静态调度算法建立在确定性系统模型基础上,它要求对任务集和任务约束有确定的了解,如任务的截止期限、执行时间等。该算法的特点是在系统运行过程中,无法对调度分配进行修正,任务的优先级在调度过程中固定不变。网关接收各设备发送的报文周期固定,采用静态调度算法为主。
常用的静态调度算法有先来先服务算法(first come first served,FCFS)、轮询(polling server,PS)算法、速率单调(Rate Monotonic,简称RM)调度算法。先来先服务,即按照任务到来的时刻依次处理任务。如果某一项任务占用了较长的时间,那其他任务获得的处理器时间就会减少,若发送了某个控制命令,该命令有可能无法在规定时间内完成。轮询算法保证每个任务拥有固定的执行时间,任务占有CPU资源的时间消耗完,将这个任务挂起并等待下一周期执行时刻。此算法保证了任务执行时间的公平,但也存在命令无法马上执行的问题,遇到较为重要的任务时,不能够及时响应。
RM算法根据任务的周期来分配优先级,周期越小,任务的优先级越高。n个独立的周期任务可被RM调度的条件为,CPU利用率u满足u≤n(2^(1/n)-1)。RM算法被证明是一种最优的静态算法,但是不能获得较高的处理器利用率,最大的处理器利用率只能达到69%。对网关来讲,效率太低,甚至不能在规定时间内完成报文处理转发任务。
发明内容
针对现有的操作系统只提供基础的调度策略,导致CPU利用率较低,部分任务时延较高的问题,本发明提供了一种计算船舶网关任务优先级的方法,根据任务本身的特点制定合适的调度策略,即获取最优的任务优先级分配任务集,使任务的平均响应时间更小,CPU使用效率更高,调度性能更优,处理任务的速度更快,更适合网关程序。
具体方案如下所述,
一种计算船舶网关任务优先级的方法,具体步骤为:
S1:创建初始种群:随机设定一个任务优先级分配任务集作为初始种群,所述任务优先级分配任务集由网关执行的各任务的优先级构成,所述各任务符合自身优先级范围要求;
S2:适应度计算:依据S1设定的任务优先级分配任务集,计算网关中各任务所需的响应时间,并计算得到任务集中所有任务完成所需的最大响应时间即适应度;
S3:获得最优的任务优先级分配任务集:利用遗传算法分析S2得到的适应度判断是否为最优的任务优先级分配任务集,若是则输出结果;若不是,更改S1中任务优先级分配任务集的优先级来降低适应度;通过遗传算法中选择、杂交、变异算法得到最优的任务优先级分配任务集,即本次计算的适应度最优;
S4:迭代:重复S2-S3步骤进行迭代计算最终得到最优的任务优先级分配任务集;
S5:网关CPU执行基于S4得到的最优的任务优先级分配任务集。
优选地,所述S1中的初始种群包括任务集Γ={τi|1≤i≤n}和任务集中单个任务的优先级,所述任务集为网关中各模块包含的所有任务,所述单个任务τi中的信息包括该任务的周期Ti、执行时间Ci、截止期限Di。
优选地,所述截止期限Di可以小于等于周期Ti,也可以大于周期Ti;所述任务τi的第k次请求称为任务实例τik,k从1开始,所述任务实例为每一次执行的任务。
优选地,所述任务集中的任务优先级按照从低到高的顺序排列,即若i<j,则τi的优先级低于τj,所述τj为S1所述任务集中优先级为j的单个任务,若两个任务优先级相等,则采用轮询调度算法计算该任务的最大响应时间,轮询的时间片大小为20ms。
优选地,任务实例τik的截止期限为dik、到达时刻为aik、释放时刻为rik、完成时刻为Fi(k)、响应时间为Ri(k);其中,dik、aik、Ri(k)的计算方法为,
dik=(k-1)*Ti+Di
aik=(k-1)*Ti
Ri(k)=Fi(k)-aik
所述k为第k次任务请求,所述Ti为第i个任务的周期。
优选地,计算S2中网关的各模块任务中第一次任务的响应时间Ri(k)的方法为,
其中,Ci为该任务实例执行时间、πi(k)为累计剩余执行时间、rik为任务实例释放时刻、Fi(k)为任务实例完成时刻、Ii(t1,t2)为在[t1,t2]时间段内优先级高于等于i的任务实例τik所需要的CPU时间,其中,在t1=rik时,t2=Fi(k);在t1=Fi(k-1)时,t2=Fi(k);hp(i)表示优先级高于i的任务集合。为t2除以Tj向上取整,/>为t1除以Tj向上取整,Cj为任务优先级为j的任务的执行时间。
当Fi(k-1)<rik时,表示上一个任务实例己经完成且不会对本次任务造成影响;
当Fi(k-1)≥rik时,表示上一个任务实例还未完成,本次任务实例又释放。
优选地,所述πi(t)为在时刻t时,t之前释放的所有优先级高于等于i的任务实例还需要的CPU时间;当t=0时,不存在高优先级任务实例未执行完的情况,即πi(t)=0;当t≠0时,若高优先级任务实例在时刻t还未执行完,则会推迟在t时刻释放的低优先级任务实例的执行。
Ri表示任务τi在最坏情况下的响应时间,即最大响应时间,通过迭代可以求出所述最大响应时间:
Ri=max{Ri(k)}
Ri(k)为响应时间。
优选地,Ri(k)≥Ci且Ri(k)≤Ri,Ri(k)的迭代计算方法为,
当Fi(k-1)<rik时,
当Fi(k-1)≥rik时,
其中,Ci为该任务实例执行时间、是迭代结果、πi(k)为累计剩余执行时间、rik为任务实例释放时刻;
当时,停止迭代计算;
若任务无法调度;
若且/>时,/>
dik为第i个任务第k次请求的截止期限。
优选地,所述任务实例完成时刻Fi(k)的计算方法为,
Fi(k)=Ri(k)+rik
Ri(k)为响应时间,rik为任务实例释放时刻,所述其中hi为优先级i的任务的超周期,Ti为任务i的周期。
优选地,τik的累积剩余执行时间πi(k)的计算方法为:
当Fi(k-1)≥rik时,πi(k)=Fi(k-1)-rik;
优选地,当Fi(k-1)<rik时,τik的累积剩余执行时间πi(k)的计算方法为:利用CPU使用时间函数Lei(t)与CPU生成负载函数Loadi(t)的差值来计算任务τi在时刻t等待CPU使用权的时间,其中每1时刻执行1次任务请求,即在执行k次任务请求时t=k,πi(k)=Loadi(k)-Lei(k);其中,规定Loadi(t)≥Lei(t),且两个函数必有交点。
所述CPU生成负载函数Loadi(t)可通过计算某一时间段的所有任务求得,所述Loadi(t)中的跳变点为在a时刻有优先级高于i的任务释放时CPU使用时间增加的点(a,Load(a)min)。
优选地,求解时间函数Lei(t)的方法为:
A1:在坐标系中表示Loadi(t)和时间函数Lei(t):在x轴为时刻,y轴为CPU使用时间的坐标系上,记录函数Loadi(t)及其跳变点;时间函数为Lei(t)=t-b,所述Lei(t)表示的含义为CPU每1时刻执行1次任务请求,所述b为t的函数;
A2:在[Fi(k-1),rik]的时间段内,该时间函数所需要满足的条件有:Loadi(t)和Lei(t)两个函数在坐标系中必有交点;
A3:根据A2中的条件可求得在[Fi(k-1),rik]时间段内b的值以及Lei(t)。
优选地,所述遗传算法进行选择、杂交、变异来改变任务的优先级的方法为:
所述选择的过程为:通过比例选择方式选择个体,所述个体为一种任务优先级分配任务集,个体被选择的概率与这种任务优先级分配任务集的适应度正相关;
所述杂交过程中采用单点交叉算法;
所述变异过程中采用基本位变异算法;若个体新特征超过规定优先级范围,
则淘汰该个体并采用上一代个体继续进化。
若个体新特征超过规定优先级范围,则淘汰该个体并采用上一代个体继续进化。
遗传算法适应度函数设置为:
所述pi代表第i个任务的优先级,i取值范围为1、2…n;
遗传算法的约束条件为:
所述Di表示任务i的截止期限,即所有任务需要在截止期限之内完成。
优选地,各任务的优先级范围为0-255。
本发明提供了一种计算船舶网关任务优先级的方法,根据任务本身的特点包括优先级范围要求、相应时间制定合适的调度策略,具体为,随机设定一个任务优先级分配任务集作为初始种群,进行适应度计算得到该任务集中所有任务完成所需的最大响应时间,在利用遗传算法搜索到最优的任务优先级分配任务集。利用适应度函数的设计保证遗传算法的有效性,相比于轮询调度、RM调度,适应度函数和遗传算法的配合使用使任务的平均响应时间更小,CPU使用效率更高,调度性能更优,处理任务的速度更快,更适合网关程序。
附图说明
图1是一种计算船舶网关任务优先级的方法流程图。
图2是负载函数Loadi(t)和时间函数Lei(t)的关系图。
具体实施方式
下面结合附图和实施例对本发明进行更具体的描述。
如图1所示,一种计算船舶网关任务优先级的方法,具体步骤为:
S1:创建初始种群:随机设定一个任务优先级分配任务集作为初始种群,所述任务优先级分配任务集由网关执行的各任务的优先级构成,所述各任务符合自身优先级范围要求;
S2:适应度计算:依据S1设定的任务优先级分配任务集,计算网关中各任务所需的响应时间,并计算得到任务集中所有任务完成所需的最大响应时间即适应度;
S3:获得最优的任务优先级分配任务集:利用遗传算法分析S2得到的适应度判断是否为最优的任务优先级分配任务集,若是则输出结果;若不是,更改S1中任务优先级分配任务集的优先级来降低适应度;通过遗传算法中选择、杂交、变异算法得到最优的任务优先级分配任务集,即本次计算的适应度最优;
S4:迭代:重复S2-S3步骤进行迭代计算最终得到最优的任务优先级分配任务集;
S5:网关CPU执行基于S4得到的最优的任务优先级分配任务集。
优选地,所述S1中的初始种群包括任务集Γ={τi|1≤i≤n}和任务集中单个任务的优先级,所述任务集为网关中各模块包含的所有任务,所述单个任务τi中的信息包括该任务的周期Ti、执行时间Ci、截止期限Di。
优选地,所述截止期限Di可以小于等于周期Ti,也可以大于周期Ti;所述任务τi的第k次请求称为任务实例τik,k从1开始,所述任务实例为每一次执行的任务。
优选地,所述任务集中的任务优先级按照从低到高的顺序排列,即若i<j,则τi的优先级低于τj,所述τj为S1所述任务集中优先级为j的单个任务,若两个任务优先级相等,则采用轮询调度算法计算该任务的最大响应时间,轮询的时间片大小为20ms。
优选地,任务实例τik的截止期限为dik、到达时刻为aik、释放时刻为rik、完成时刻为Fi(k)、响应时间为Ri(k);其中,dik、aik、Ri(k)的计算方法为,
dik=(k-1)*Ti+Di
aik=(k-1)*Ti
Ri(k)=Fi(k)-aik
所述k为第k次任务请求,所述Ti为第i个任务的周期。
优选地,计算S2中网关的各模块任务中第一次任务的响应时间Ri(k)的方法为,
其中,Ci为该任务实例执行时间、πi(k)为累计剩余执行时间、rik为任务实例释放时刻、Fi(k)为任务实例完成时刻、Ii(t1,t2)为在[t1,t2]时间段内优先级高于等于i的任务实例τik所需要的CPU时间;其中,在t1=rik时,t2=Fi(k);在t1=Fi(k-1)时,t2=Fi(k);hp(i)表示优先级高于i的任务集合。为t2除以Tj向上取整,/>为t1除以Tj向上取整,Cj为任务优先级为j的任务的执行时间。
当Fi(k-1)<rik时,表示上一个任务实例己经完成且不会对本次任务造成影响;
当Fi(k-1)≥rik时,表示上一个任务实例还未完成,本次任务实例又释放。
优选地,所述πi(t)为在时刻t时,t之前释放的所有优先级高于等于i的任务实例还需要的CPU时间;当t=0时,不存在高优先级任务实例未执行完的情况,即πi(t)=0;当t≠0时,若高优先级任务实例在时刻t还未执行完,则会推迟在t时刻释放的低优先级任务实例的执行。
Ri表示任务τi在最坏情况下的响应时间,即最大响应时间,通过迭代可以求出所述最大响应时间:
Ri=max{Ri(k)}
Ri(k)为响应时间。
优选地,Ri(k)≥Ci且Ri(k)≤Ri,Ri(k)的迭代计算方法为,
当Fi(k-1)<rik时,
当Fi(k-1)≥rik时,
其中,Ci为该任务实例执行时间、是迭代结果、πi(k)为累计剩余执行时间、rik为任务实例释放时刻;
当时,停止迭代计算;
若任务无法调度;
若且/>时,/>
dik为第i个任务第k次请求的截止期限。
优选地,所述任务实例完成时刻Fi(k)的计算方法为,
Fi(k)=Ri(k)+rik
Ri(k)为响应时间,rik为任务实例释放时刻,所述其中hi为优先级i的任务的超周期,Ti为任务i的周期。
优选地,τik的累积剩余执行时间πi(k)的计算方法为:
当Fi(k-1)≥rik时,πi(k)=Fi(k-1)-rik;
优选地,当Fi(k-1)<rik时,τik的累积剩余执行时间πi(k)的计算方法为:利用CPU使用时间函数Lei(t)与CPU生成负载函数Loadi(t)的差值来计算任务τi在时刻t等待CPU使用权的时间,其中每1时刻执行1次任务请求,即在执行k次任务请求时t=k,πi(k)=Loadi(k)-Lei(k);其中,规定Loadi(t)≥Lei(t),且两个函数必有交点。
所述CPU生成负载函数Loadi(t)可通过计算某一时间段的所有任务求得,所述Loadi(t)中的跳变点为在a时刻有优先级高于i的任务释放时CPU使用时间增加的点(a,Load(a)min)。
优选地,求解时间函数Lei(t)的方法为:
A1:在坐标系中表示Loadi(t)和时间函数Lei(t):在x轴为时刻,y轴为CPU使用时间的坐标系上,记录函数Loadi(t)及其跳变点;时间函数为Lei(t)=t-b,所述Lei(t)表示的含义为CPU每1时刻执行1次任务请求,所述b为t的函数;
A2:在[Fi(k-1),rik]的时间段内,该时间函数所需要满足的条件有:Loadi(t)和Lei(t)两个函数在坐标系中必有交点;
A3:根据A2中的条件可求得在[Fi(k-1),rik]时间段内b的值以及Lei(t)。
优选地,所述遗传算法进行选择、杂交、变异来改变任务的优先级的方法为:
所述选择的过程为:通过比例选择方式选择个体,所述个体为一种任务优先级分配任务集,个体被选择的概率与这种任务优先级分配任务集的适应度正相关;
所述杂交过程中采用单点交叉算法;
所述变异过程中采用基本位变异算法;若个体新特征超过规定优先级范围,
则淘汰该个体并采用上一代个体继续进化。
若个体新特征超过规定优先级范围,则淘汰该个体并采用上一代个体继续进化。
遗传算法适应度函数设置为:
所述pi代表第i个任务的优先级,i取值范围为1、2…n;
遗传算法的约束条件为:
所述Di表示任务i的截止期限,即所有任务需要在截止期限之内完成。
优选地,各任务的优先级范围为0-255。
任务响应时间求解的具体过程如下:
首先根据公式计算第一个任务的响应时间,然后运用for循环计算其他次任务的响应时间。第二次以后的任务响应时间,需要看前一次任务完成时间的情况,根据公式迭代计算求解。第一种情况直接按公式求解即可,第二种情况需要求解所述的直线。直线求解思路如下:
(1)根据所有任务的到达时刻记录函数Loadi(t)的跳变点。
(2)根据任务执行时间计算直线范围。
(3)将(rik,Ai(k))代入方程f(t)=t-b,得到截距b。
(4)比较在[Fi(k-1),rik]时间段内Loadi(t)与f(t)的值,从t=rik开始比较。若Loadi(t)<f(t),将直线下移至离rik最近的跳变时刻,重新计算b。若Loadi(t)≥f(t),判断剩余时刻是否始终满足Loadi(t)≥f(t),若满足则该直线为所求直线,若不满足将直线移至下一跳变时刻,重新计算b。
(5)重复步骤(4)直到找到所求直线。根据所求直线计算累积剩余执行时间πi(k),利用πi(k)迭代求解任务响应时间。
任务数据结构如下:
算法伪代码如下:
输入:任务集Γ,任务数为n,i为τi在任务集合中的下标,
输出:任务Γi的请求响应时间
begin
计算CPU使用率u,若u>1则任务集不可调度。
根据公式,求出第一次的请求响应时间Ri(1)
通过上述计算可以得到特定优先级下,任务的最大响应时间。再利用遗传算法寻找最优的任务优先级分配方式。遗传算法适应度函数设置为:
遗传算法的约束条件为,保证所有任务均在截止期限之内完成:
初始种群随机生成,所有任务的优先级在0-255之间,符合操作系统设定的任务优先级范围。优化问题为整数优化,采用二进制编码。选择个体采取比例选择方式,个体被选择的概率与其适应度正相关。交叉算法采用单点交叉算法,其特点是既能改变个体性状,又将个体适应度的可能性降低。因使用二进制编码,所以变异算子采用基本位变异算法。若个体新特征超过规定优先级范围,则淘汰该个体并采用上一代个体继续进化。
应当指出,以上所述具体实施方式可以使本领域的技术人员更全面地理解本发明创造,但不以任何方式限制本发明创造。因此,尽管本说明书参照附图和实施例对本发明创造己进行了详细的说明,但是,本领域技术人员应当理解,仍然可以对本发明创造进行修改或者等同替换,总之,一切不脱离本发明创造的精神和范围的技术方案及其改进,其均应涵盖在本发明创造专利的保护范围当中。
Claims (12)
1.一种计算船舶网关任务优先级的方法,其特征在于,具体步骤为:
S1:创建初始种群:随机设定一个任务优先级分配任务集作为初始种群,所述任务优先级分配任务集由网关执行的各任务的优先级构成,所述各任务符合自身优先级范围要求;
S2:适应度计算:依据S1设定的任务优先级分配任务集,计算网关中各任务所需的响应时间,并计算得到任务集中所有任务完成所需的最大响应时间即适应度;
S3:获得最优的任务优先级分配任务集:利用遗传算法分析S2得到的适应度判断是否为最优的任务优先级分配任务集,若是则输出结果;若不是,更改S1中任务优先级分配任务集的优先级来降低适应度;通过遗传算法中选择、杂交、变异算法得到最优的任务优先级分配任务集,即本次计算的适应度最优;
S4:迭代:重复S2-S3步骤进行迭代计算最终得到最优的任务优先级分配任务集;
S5:网关CPU执行基于S4得到的最优的任务优先级分配任务集;
所述S1中的初始种群包括任务集Γ={τi|1≤i≤n}和任务集中单个任务的优先级,所述任务集为网关中各模块包含的所有任务,所述单个任务τi中的信息包括该任务的周期Ti、执行时间Ci、截止期限Di;
所述截止期限Di可以小于等于周期Ti,也可以大于周期Ti;所述任务τi的第k次请求称为任务实例τik,k从1开始,所述任务实例为每一次执行的任务;
所述任务集中的任务优先级按照从低到高的顺序排列,即若i<j,则τi的优先级低于τj,所述τj为S1所述任务集中优先级为j的单个任务,若两个任务优先级相等,则采用轮询调度算法计算该任务的最大响应时间,轮询的时间片大小为20ms;
所述任务实例τik的截止期限为dik、到达时刻为aik、释放时刻为rik、完成时刻为Fi(k)、响应时间为Ri(k);其中,dik、aik、Ri(k)的计算方法为,
dik=(k-1)*Ti+Di
aik=(k-1)*Ti
Ri(k)=Fi(k)-aik
所述k为第k次任务请求,所述Ti为第i个任务的周期;
计算S2中网关的各模块任务中第一次任务的响应时间Ri(k)的方法为,
其中,Ci为该任务实例执行时间、πi(k)为累计剩余执行时间、rik为任务实例释放时刻、Fi(k)为任务实例完成时刻、Ii(t1,t2)为在[t1,t2]时间段内优先级高于等于i的任务实例τik所需要的CPU时间,其中,在t1=rik时,t2=Fi(k);在t1=Fi(k-1)时,t2=Fi(k);hp(i)表示优先级高于i的任务集合、为t2除以Tj向上取整,/>为t1除以Tj向上取整,Cj为任务优先级为j的任务的执行时间。
2.由权利要求1所述的一种计算船舶网关任务优先级的方法,其特征在于,
当Fi(k-1)<rik时,表示上一个任务实例己经完成且不会对本次任务造成影响;
当Fi(k-1)≥rik时,表示上一个任务实例还未完成,本次任务实例又释放。
3.由权利要求1所述的一种计算船舶网关任务优先级的方法,其特征在于,所述πi(k)为在时刻t时,t之前释放的所有优先级高于等于i的任务实例还需要的CPU时间;其中每1时刻执行1次任务请求,即在执行k次任务请求时,时刻t=k;当t=0时,不存在高优先级任务实例未执行完的情况,即πi(k)=0;当t≠0时,若高优先级任务实例在时刻t还未执行完,则会推迟在t时刻释放的低优先级任务实例的执行。
4.由权利要求1所述的一种计算船舶网关任务优先级的方法,其特征在于,Ri表示任务τi在最坏情况下的响应时间,即最大响应时间,通过迭代可以求出所述最大响应时间:
Ri=max{Ri(k)}
Ri(k)为响应时间。
5.由权利要求4所述的一种计算船舶网关任务优先级的方法,其特征在于,Ri(k)≥Ci且Ri(k)≤Ri,Ri(k)的迭代计算方法为,
当Fi(k-1)<rik时,
当Fi(k-1)≥rik时,
其中,Ci为该任务实例执行时间、是迭代结果、πi(k)为累计剩余执行时间、rik为任务实例释放时刻;
当时,停止迭代计算;
若任务无法调度;
若且/>时,/>
dik为第i个任务第k次请求的截止期限。
6.由权利要求1所述的一种计算船舶网关任务优先级的方法,其特征在于,所述任务实例完成时刻Fi(k)的计算方法为,
Fi(k)=Ri(k)+rik
Ri(k)为响应时间,rik为任务实例释放时刻,所述其中hi为优先级i的任务的超周期,Ti为任务i的周期;所述超周期是所有任务周期长度的最小公倍数。
7.由权利要求1所述的一种计算船舶网关任务优先级的方法,其特征在于,τik的累积剩余执行时间πi(k)的计算方法为:
当Fi(k-1)≥rik时,πi(k)=Fi(k-1)-rik;
当Fi(k-1)<rik时,τik的累积剩余执行时间πi(k)的计算方法为:利用CPU使用时间函数Lei(t)与CPU生成负载函数Loadi(t)的差值来计算任务τi在时刻t等待CPU使用权的时间,其中每1时刻执行1次任务请求,即在执行k次任务请求时t=k,πi(k)=Loadi(k)-Lei(k)。
8.由权利要求7所述的一种计算船舶网关任务优先级的方法,其特征在于,所述CPU生成负载函数Loadi(t)可通过计算某一时间段的所有任务求得,所述Loadi(t)中的跳变点为在a时刻有优先级高于i的任务释放时CPU使用时间增加的点(a,Load(a)min)。
9.由权利要求8所述的一种计算船舶网关任务优先级的方法,其特征在于,求解时间函数Lei(t)的方法为:
A1:在坐标系中表示Loadi(t)和时间函数Lei(t):在x轴为时刻,y轴为CPU使用时间的坐标系上,记录函数Loadi(t)及其跳变点;时间函数为Lei(t)=t-b,所述Lei(t)表示的含义为CPU每1时刻执行1次任务请求,所述b为t的函数;
A2:在[Fi(k-1),rik]的时间段内,该时间函数所需要满足的条件有:Loadi(t)和Lei(t)两个函数在坐标系中必有交点;
A3:根据A2中的条件可求得在[Fi(k-1),rik]时间段内b的值以及Lei(t)。
10.由权利要求1所述的一种计算船舶网关任务优先级的方法,其特征在于,所述遗传算法进行选择、杂交、变异来改变任务的优先级的方法为:
所述选择的过程为:通过比例选择方式选择个体,所述个体为一种任务优先级分配任务集,个体被选择的概率与这种任务优先级分配任务集的适应度正相关;
所述杂交过程中采用单点交叉算法;
所述变异过程中采用基本位变异算法;若个体新特征超过规定优先级范围,则淘汰该个体并采用上一代个体继续进化。
11.由权利要求1或10所述的一种计算船舶网关任务优先级的方法,其特征在于,遗传算法适应度函数设置为:
所述pi代表第i个任务的优先级,i取值范围为1、2…n;
遗传算法的约束条件为:
所述Di表示任务i的截止期限,即所有任务需要在截止期限之内完成。
12.由权利要求1或10所述的一种计算船舶网关任务优先级的方法,其特征在于,所述各任务的优先级范围为0-255。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211504192.0A CN115712507B (zh) | 2022-11-29 | 2022-11-29 | 一种计算船舶网关任务优先级的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211504192.0A CN115712507B (zh) | 2022-11-29 | 2022-11-29 | 一种计算船舶网关任务优先级的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115712507A CN115712507A (zh) | 2023-02-24 |
CN115712507B true CN115712507B (zh) | 2023-11-14 |
Family
ID=85235221
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211504192.0A Active CN115712507B (zh) | 2022-11-29 | 2022-11-29 | 一种计算船舶网关任务优先级的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115712507B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508708A (zh) * | 2011-11-30 | 2012-06-20 | 湖南大学 | 基于改进遗传算法的异构多核节能任务调度方法 |
CN107678850A (zh) * | 2017-10-17 | 2018-02-09 | 合肥工业大学 | 中继卫星任务调度方法及装置 |
CN109918181A (zh) * | 2019-01-12 | 2019-06-21 | 西北工业大学 | 基于最差响应时间的混合关键系统任务可调度性分析方法 |
WO2021035911A1 (zh) * | 2019-08-28 | 2021-03-04 | 青岛蓝海未来海洋科技有限责任公司 | 一种基于数据正反向驱动线性变参数遗传算法的无人艇路径规划方法及系统 |
-
2022
- 2022-11-29 CN CN202211504192.0A patent/CN115712507B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508708A (zh) * | 2011-11-30 | 2012-06-20 | 湖南大学 | 基于改进遗传算法的异构多核节能任务调度方法 |
CN107678850A (zh) * | 2017-10-17 | 2018-02-09 | 合肥工业大学 | 中继卫星任务调度方法及装置 |
CN109918181A (zh) * | 2019-01-12 | 2019-06-21 | 西北工业大学 | 基于最差响应时间的混合关键系统任务可调度性分析方法 |
WO2021035911A1 (zh) * | 2019-08-28 | 2021-03-04 | 青岛蓝海未来海洋科技有限责任公司 | 一种基于数据正反向驱动线性变参数遗传算法的无人艇路径规划方法及系统 |
Non-Patent Citations (2)
Title |
---|
A High Priority Random Task Fuzzy Scheduling Algorithm for CPS;Jing Zhang 等;《2019 Chinese Control And Decision Conference (CCDC)》;第482-487页 * |
基于改进遗传算法的网格任务调度;常瑞生;;《信息通信》(第3期);第56-57页 * |
Also Published As
Publication number | Publication date |
---|---|
CN115712507A (zh) | 2023-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108345501B (zh) | 一种分布式资源调度方法和系统 | |
JP3922070B2 (ja) | 分散制御方法及び装置 | |
US6633942B1 (en) | Distributed real-time operating system providing integrated interrupt management | |
CN111400022A (zh) | 一种资源调度方法、装置及电子设备 | |
CN109697122B (zh) | 任务处理方法、设备及计算机存储介质 | |
CN108123998B (zh) | 多云数据中心中面向延迟敏感应用的启发式请求调度方法 | |
CN110187956B (zh) | 一种多智能体平台的分层实时任务调度方法和系统 | |
CN111343288B (zh) | 作业调度方法、系统及计算设备 | |
CN115562877B (zh) | 分布式算力资源的编排方法、装置、设备及存储介质 | |
CN111045807A (zh) | 基于zookeeper任务处理的方法、装置、计算机设备及存储介质 | |
CN114489942B (zh) | 一种面向应用集群的队列任务调度方法及系统 | |
CN109491775B (zh) | 一种用于边缘计算环境下的任务处理与调度方法 | |
Stavrinides et al. | Orchestrating bag-of-tasks applications with dynamically spawned tasks in a distributed environment | |
CN115712507B (zh) | 一种计算船舶网关任务优先级的方法 | |
CN116760784A (zh) | 一种基于优先级及运行时间的opc ua关键消息调度方法 | |
CN101997777B (zh) | 中断处理方法、装置和网络设备 | |
US8869171B2 (en) | Low-latency communications | |
CN111930485A (zh) | 一种基于性能表现的作业调度方法 | |
EP1450256A2 (en) | Inter-task communications method, program, recording medium, and electronic device | |
CN104917692B (zh) | 一种分发令牌的方法和装置 | |
WO2024050965A1 (zh) | 任务执行方法、计算机可读介质及电子设备 | |
Ding et al. | An Integrated Framework for Packing CAN-FD Frames and Assigning Offsets | |
CN114968524A (zh) | 基于全局时间墙的混合负载优先级分布式调度方法 | |
JPH11312093A (ja) | 分散処理システム | |
CN117234757A (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 |