CN115712507A - 一种计算船舶网关任务优先级的方法 - Google Patents

一种计算船舶网关任务优先级的方法 Download PDF

Info

Publication number
CN115712507A
CN115712507A CN202211504192.0A CN202211504192A CN115712507A CN 115712507 A CN115712507 A CN 115712507A CN 202211504192 A CN202211504192 A CN 202211504192A CN 115712507 A CN115712507 A CN 115712507A
Authority
CN
China
Prior art keywords
task
time
priority
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.)
Granted
Application number
CN202211504192.0A
Other languages
English (en)
Other versions
CN115712507B (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.)
Shanghai Ship and Shipping Research Institute Co Ltd
Original Assignee
Shanghai Ship and Shipping Research Institute Co Ltd
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 Shanghai Ship and Shipping Research Institute Co Ltd filed Critical Shanghai Ship and Shipping Research Institute Co Ltd
Priority to CN202211504192.0A priority Critical patent/CN115712507B/zh
Publication of CN115712507A publication Critical patent/CN115712507A/zh
Application granted granted Critical
Publication of CN115712507B publication Critical patent/CN115712507B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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

  • 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,若两个任务优先级相等,则采用轮询调度算法计算该任务的最大响应时间,轮询的时间片大小为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)的方法为,
Figure BDA0003968487330000031
Figure BDA0003968487330000032
其中,Ci为该任务实例执行时间、πi(t)为累计剩余执行时间、rik为任务实例释放时刻、Fi(k)为任务实例完成时刻、Ii(t1,t2)为在[t1,t2]时间段内优先级高于等于i的任务实例τik所需要的CPU时间、hp(i)表示优先级高于i的任务集合。
Figure BDA0003968487330000041
为t2除以Tj向上取整,
Figure BDA0003968487330000042
为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)的迭代计算方法为,
Figure BDA0003968487330000043
当Fi(k-1)<rik时,
Figure BDA0003968487330000044
当Fi(k-1)≥rik时,
Figure BDA0003968487330000045
其中,Ci为该任务实例执行时间、
Figure BDA0003968487330000046
是迭代结果、πi(t)为累计剩余执行时间、rik为任务实例释放时刻;
Figure BDA0003968487330000047
时,停止迭代计算;
Figure BDA0003968487330000048
任务无法调度;
Figure BDA0003968487330000049
Figure BDA00039684873300000410
时,
Figure BDA00039684873300000411
dik为第i个任务第k次请求的截止期限。
优选地,所述任务实例完成时刻Fi(k)的计算方法为,
Fi(k)=Ri(k)+rik
Ri(k)为响应时间,rik为任务实例释放时刻,所述
Figure BDA0003968487330000051
其中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使用权的时间,即πi(k)=Loadi(k)-Lei(k);其中,规定Loadi(t)≥Lei(t),且两个函数必有交点。
所述CPU生成负载函数Loadi(t)可通过计算某一时间段的所有任务求得,所述Loadi(t)中的跳变点为在a时刻有优先级高于i的任务释放时CPU使用时间增加的点(a,Load(a)min)。
优选地,求解时间函数Lei(t)的方法为:
S1:在坐标系中表示Loadi(t)和设时间函数Lei(t):在x轴为时刻,y轴为CPU使用时间的坐标系上,记录函数Loadi(t)及其跳变点;设时间函数为Lei(t)=t-b,所述Lei(t)表示的含义为CPU每1时刻执行1的任务,所述b为t的函数;
S2:在[Fi(k-1),rik]的时间段内,该时间函数所需要满足的条件有:(1)Loadi(t)≥Lei(t);(2)Loadi(t)与时间函数Lei(t)必有交点;
S3:根据S2中的条件可求得在[Fi(k-1),rik]时间段内b的值以及Lei(t)。
优选地,所述遗传算法进行选择、杂交、变异来改变任务的优先级的方法为:
所述选择的过程为:通过比例选择方式选择个体,所述个体为一种任务优先级分配任务集,个体被选择的概率与这种任务优先级分配任务集的适应度正相关;
所述杂交过程中采用单点交叉算法;
所述变异过程中采用基本位变异算法;若个体新特征超过规定优先级范围,
则淘汰该个体并采用上一代个体继续进化。
若个体新特征超过规定优先级范围,则淘汰该个体并采用上一代个体继续进化。
遗传算法适应度函数设置为:
Figure BDA0003968487330000061
遗传算法的约束条件为:
Figure BDA0003968487330000062
所述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,若两个任务优先级相等,则采用轮询调度算法计算该任务的最大响应时间,轮询的时间片大小为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)的方法为,
Figure BDA0003968487330000081
Figure BDA0003968487330000082
其中,Ci为该任务实例执行时间、πi(t)为累计剩余执行时间、rik为任务实例释放时刻、Fi(k)为任务实例完成时刻、Ii(t1,t2)为在[t1,t2]时间段内优先级高于等于i的任务实例τik所需要的CPU时间、hp(i)表示优先级高于i的任务集合。
Figure BDA0003968487330000083
为t2除以Tj向上取整,
Figure BDA0003968487330000084
为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)的迭代计算方法为,
Figure BDA0003968487330000085
当Fi(k-1)<rik时,
Figure BDA0003968487330000086
当Fi(k-1)≥rik时,
Figure BDA0003968487330000087
其中,Ci为该任务实例执行时间、
Figure BDA0003968487330000091
是迭代结果、πi(t)为累计剩余执行时间、rik为任务实例释放时刻;
Figure BDA0003968487330000092
时,停止迭代计算;
Figure BDA0003968487330000093
任务无法调度;
Figure BDA0003968487330000094
Figure BDA0003968487330000095
时,
Figure BDA0003968487330000096
dik为第i个任务第k次请求的截止期限。
优选地,所述任务实例完成时刻Fi(k)的计算方法为,
Fi(k)=Ri(k)+rik
Ri(k)为响应时间,rik为任务实例释放时刻,所述
Figure BDA0003968487330000097
其中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使用权的时间,即πi(k)=Loadi(k)-Lei(k);其中,规定Loadi(t)≥Lei(t),且两个函数必有交点。
所述CPU生成负载函数Loadi(t)可通过计算某一时间段的所有任务求得,所述Loadi(t)中的跳变点为在a时刻有优先级高于i的任务释放时CPU使用时间增加的点(a,Load(a)min)。
优选地,求解时间函数Lei(t)的方法为:
S1:在坐标系中表示Loadi(t)和设时间函数Lei(t):在x轴为时刻,y轴为CPU使用时间的坐标系上,记录函数Loadi(t)及其跳变点;设时间函数为Lei(t)=t-b,所述Lei(t)表示的含义为CPU每1时刻执行1的任务,所述b为t的函数;
S2:在[Fi(k-1),rik]的时间段内,该时间函数所需要满足的条件有:(1)Loadi(t)≥Lei(t);(2)Loadi(t)与时间函数Lei(t)必有交点;
S3:根据S2中的条件可求得在[Fi(k-1),rik]时间段内b的值以及Lei(t)。
优选地,所述遗传算法进行选择、杂交、变异来改变任务的优先级的方法为:
所述选择的过程为:通过比例选择方式选择个体,所述个体为一种任务优先级分配任务集,个体被选择的概率与这种任务优先级分配任务集的适应度正相关;
所述杂交过程中采用单点交叉算法;
所述变异过程中采用基本位变异算法;若个体新特征超过规定优先级范围,
则淘汰该个体并采用上一代个体继续进化。
若个体新特征超过规定优先级范围,则淘汰该个体并采用上一代个体继续进化。
遗传算法适应度函数设置为:
Figure BDA0003968487330000101
遗传算法的约束条件为:
Figure BDA0003968487330000102
所述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)迭代求解任务响应时间。
任务数据结构如下:
Figure BDA0003968487330000111
算法伪代码如下:
输入:任务集Γ,任务数为n,i为τi在任务集合中的下标,输出:任务τi的请求响应时间
begin
计算CPU使用率u,若u>1则任务集不可调度。
根据公式,求出第一次的请求响应时间Ri(1)
Figure BDA0003968487330000112
Figure BDA0003968487330000121
通过上述计算可以得到特定优先级下,任务的最大响应时间。再利用遗传算法寻找最优的任务优先级分配方式。遗传算法适应度函数设置为:
Figure BDA0003968487330000131
遗传算法的约束条件为,保证所有任务均在截止期限之内完成:
Figure BDA0003968487330000132
初始种群随机生成,所有任务的优先级在0-255之间,符合操作系统设定的任务优先级范围。优化问题为整数优化,采用二进制编码。选择个体采取比例选择方式,个体被选择的概率与其适应度正相关。交叉算法采用单点交叉算法,其特点是既能改变个体性状,又将个体适应度的可能性降低。因使用二进制编码,所以变异算子采用基本位变异算法。若个体新特征超过规定优先级范围,则淘汰该个体并采用上一代个体继续进化。
应当指出,以上所述具体实施方式可以使本领域的技术人员更全面地理解本发明创造,但不以任何方式限制本发明创造。因此,尽管本说明书参照附图和实施例对本发明创造已进行了详细的说明,但是,本领域技术人员应当理解,仍然可以对本发明创造进行修改或者等同替换,总之,一切不脱离本发明创造的精神和范围的技术方案及其改进,其均应涵盖在本发明创造专利的保护范围当中。

Claims (17)

1.一种计算船舶网关任务优先级的方法,其特征在于,具体步骤为:
S1:创建初始种群:随机设定网关执行的各任务的优先级构成一个任务优先级分配任务集作为初始种群,所述各任务符合自身优先级范围要求;
S2:适应度计算:依据S1设定的任务优先级分配任务集,计算网关中各任务所需的响应时间,并计算得到任务集中所有任务完成所需的最大响应时间即适应度;
S3:获得最优的任务优先级分配任务集:利用遗传算法分析S2得到的适应度判断是否为最优的任务优先级分配任务集,若是则输出结果;若不是,更改S1中任务优先级分配任务集的优先级来降低适应度;具体通过遗传算法中选择、杂交、变异算法得到最优的任务优先级分配任务集,即本次计算的适应度最优;
S4:迭代:重复S2-S3步骤进行迭代计算最终得到最优的任务优先级分配任务集;
S5:网关CPU执行基于S4得到的最优的任务优先级分配任务集。
2.由权利要求1所述的一种计算船舶网关任务优先级的方法,其特征在于,所述S1中的初始种群包括任务集Γ={τi|1≤i≤n}和任务集中单个任务的优先级,所述任务集为网关中各模块包含的所有任务,所述单个任务τi中的信息包括该任务的周期Ti、执行时间Ci、截止期限Di
3.由权利要求2所述的一种计算船舶网关任务优先级的方法,其特征在于,所述截止期限Di可以小于等于周期Ti,也可以大于周期Ti;所述任务τi的第k次请求称为任务实例τik,k从1开始,所述任务实例为每一次执行的任务。
4.由权利要求2所述的一种计算船舶网关任务优先级的方法,其特征在于,所述任务集中的任务优先级按照从低到高的顺序排列,即若i<j,则τi的优先级低于τj,若两个任务优先级相等,则采用轮询调度算法计算该任务的最大响应时间,轮询的时间片大小为20ms。
5.由权利要求3所述的一种计算船舶网关任务优先级的方法,其特征在于,任务实例τik的截止期限为dik、到达时刻为aik、释放时刻为rik、完成时刻为Fi(k)、响应时间为Ri(k);其中,dik、aik、Ri(k)的计算方法为,
dik=(1-1)*Ti+Di
aik=(k-1)*Ti
Ri(k)=Fi(k)-aik
所述k为第k次任务请求,所述Ti为第i个任务的周期。
6.由权利要求5所述的一种计算船舶网关任务优先级的方法,其特征在于,计算S2中网关的各模块任务中第一次任务的响应时间Ri(k)的方法为,
Figure FDA0003968487320000021
Figure FDA0003968487320000022
其中,Ci为该任务实例执行时间、πi(t)为累计剩余执行时间、rik为任务实例释放时刻、Fi(k)为任务实例完成时刻、Ii(t1,t2)为在[t1,t2]时间段内优先级高于等于i的任务实例τik所需要的CPU时间、hp(i)表示优先级高于i的任务集合、
Figure FDA0003968487320000023
为t2除以Tj向上取整,
Figure FDA0003968487320000024
为t1除以Tj向上取整,Cj为任务优先级为j的任务的执行时间。
7.由权利要求6所述的一种计算船舶网关任务优先级的方法,其特征在于,
当Fi(k-1)<rik时,表示上一个任务实例已经完成且不会对本次任务造成影响;
当Fi(k-1)≥rik时,表示上一个任务实例还未完成,本次任务实例又释放。
8.由权利要求6所述的一种计算船舶网关任务优先级的方法,其特征在于,所述πi(t)为在时刻t时,t之前释放的所有优先级高于等于i的任务实例还需要的CPU时间;当t=0时,不存在高优先级任务实例未执行完的情况,即πi(t)=0;当t≠0时,若高优先级任务实例在时刻t还未执行完,则会推迟在t时刻释放的低优先级任务实例的执行。
9.由权利要求6所述的一种计算船舶网关任务优先级的方法,其特征在于,Ri表示任务τi在最坏情况下的响应时间,即最大响应时间,通过迭代可以求出所述最大响应时间:
Ri=max{Ri(k)}
Ri(k)为响应时间。
10.由权利要求9所述的一种计算船舶网关任务优先级的方法,其特征在于,Ri(k)≥Ci且Ri(k)≤Ri,Ri(k)的迭代计算方法为,
Figure FDA0003968487320000031
当Fi(k-1)<rik时,
Figure FDA0003968487320000032
当Fi(k-1)≥rik时,
Figure FDA0003968487320000033
其中,Ci为该任务实例执行时间、
Figure FDA0003968487320000034
是迭代结果、πi(t)为累计剩余执行时间、rik为任务实例释放时刻;
Figure FDA0003968487320000035
时,停止迭代计算;
Figure FDA0003968487320000036
任务无法调度;
Figure FDA0003968487320000037
Figure FDA0003968487320000038
时,
Figure FDA0003968487320000039
dik为第i个任务第k次请求的截止期限。
11.由权利要求6所述的一种计算船舶网关任务优先级的方法,其特征在于,所述任务实例完成时刻Fi(k)的计算方法为,
Fi(k)=Ri(k)+rik
Ri(k)为响应时间,rik为任务实例释放时刻,所述
Figure FDA00039684873200000310
其中hi为优先级i的任务的超周期,Ti为任务i的周期。
12.由权利要求6所述的一种计算船舶网关任务优先级的方法,其特征在于,τ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使用权的时间,即πi(k)=Loadi(k)-Lei(k)。
13.由权利要求12所述的一种计算船舶网关任务优先级的方法,其特征在于,所述CPU生成负载函数Loadi(t)可通过计算某一时间段的所有任务求得,所述Loadi(t)中的跳变点为在a时刻有优先级高于i的任务释放时CPU使用时间增加的点(a,Load(a)min)。
14.由权利要求13所述的一种计算船舶网关任务优先级的方法,其特征在于,求解时间函数Lei(t)的方法为:
S1:在坐标系中表示Loadi(t)和设时间函数Lei(t):在x轴为时刻,y轴为CPU使用时间的坐标系上,记录函数Loadi(t)及其跳变点;设时间函数为Lei(t)=t-b,所述Lei(t)表示的含义为CPU每1时刻执行1的任务,所述b为t的函数;
S2:在[Fi(k-1),rik]的时间段内,该时间函数所需要满足的条件有:(1)Loadi(t)≥Lei(t)(2)两个函数必有交点;
S3:根据S2中的条件可求得在[Fi(k-1),rik]时间段内b的值以及Lei(t)。
15.由权利要求1所述的一种计算船舶网关任务优先级的方法,其特征在于,所述遗传算法进行选择、杂交、变异来改变任务的优先级的方法为:
所述选择的过程为:通过比例选择方式选择个体,所述个体为一种任务优先级分配任务集,个体被选择的概率与这种任务优先级分配任务集的适应度正相关;
所述杂交过程中采用单点交叉算法;
所述变异过程中采用基本位变异算法;若个体新特征超过规定优先级范围,则淘汰该个体并采用上一代个体继续进化。
16.由权利要求1或15所述的一种计算船舶网关任务优先级的方法,其特征在于,遗传算法适应度函数设置为:
Figure FDA0003968487320000041
遗传算法的约束条件为:
Figure FDA0003968487320000051
所述Di表示任务i的截止期限,即所有任务需要在截止期限之内完成。
17.由权利要求1或15所述的一种计算船舶网关任务优先级的方法,其特征在于,所述各任务的优先级范围为0-255。
CN202211504192.0A 2022-11-29 2022-11-29 一种计算船舶网关任务优先级的方法 Active CN115712507B (zh)

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 true CN115712507A (zh) 2023-02-24
CN115712507B 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)

* Cited by examiner, † Cited by third party
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 青岛蓝海未来海洋科技有限责任公司 一种基于数据正反向驱动线性变参数遗传算法的无人艇路径规划方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
JING ZHANG 等: "A High Priority Random Task Fuzzy Scheduling Algorithm for CPS", 《2019 CHINESE CONTROL AND DECISION CONFERENCE (CCDC)》, pages 482 - 487 *
常瑞生;: "基于改进遗传算法的网格任务调度", 《信息通信》, no. 3, pages 56 - 57 *

Also Published As

Publication number Publication date
CN115712507B (zh) 2023-11-14

Similar Documents

Publication Publication Date Title
Zhu et al. BLOT: Bandit learning-based offloading of tasks in fog-enabled networks
JP5120061B2 (ja) 優先度制御プログラム、優先度制御装置、及び優先度制御方法
CN111459628A (zh) 基于改进量子蚁群算法的Spark平台任务调度方法
WO2006062270A1 (en) Power management method for platform and that platform
CN111782355B (zh) 一种基于混合负载的云计算任务调度方法及系统
CN112000388B (zh) 基于多边缘集群协同的并发任务调度方法及装置
CN111343288B (zh) 作业调度方法、系统及计算设备
CN110851277A (zh) 一种增强现实场景下基于边云协同的任务调度策略
CN108762899B (zh) 一种云任务重调度方法和装置
CN114647515A (zh) 一种面向gpu集群的动态资源调度方法
CN114185674A (zh) 一种cpu任务实时调度方法、装置、设备及存储介质
Derakhshan et al. Optimization of tasks in cloud computing based on MAX-MIN, MIN-MIN and priority
CN112860390A (zh) 作业调度程序、信息处理设备和作业调度方法
CN115858048A (zh) 一种面向混合关键级任务动态到达边缘卸载方法
CN115712507A (zh) 一种计算船舶网关任务优先级的方法
CN116244050B (zh) 一种基于高响应比的气动特性算例调度方法
CN116302578B (zh) 一种QoS约束的流应用延迟确保方法及系统
JP2001350639A (ja) ソフトリアルタイムにおけるスケジューリング方法
CN107589985B (zh) 一种面向大数据平台的两阶段作业调度方法及系统
CN111124605A (zh) 利用气流组织分布方式进行数据中心虚拟机放置与调度的方法
CN114911591A (zh) 任务调度方法及系统
CN113127167A (zh) 一种基于改进遗传算法的异构资源智能并行调度方法
CN113010319A (zh) 混合启发式规则和遗传算法的动态工作流调度优化方法
nan Gu et al. Large-scale resource scheduling method using improved genetic algorithm combined with secondary coding in cloud computing environment
Lee et al. JMC: Jitter-Based Mixed-Criticality Scheduling for Distributed Real-Time Systems

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