CN116339957A - 一种异构分布式平台混合关键系统的任务调度方法及系统 - Google Patents

一种异构分布式平台混合关键系统的任务调度方法及系统 Download PDF

Info

Publication number
CN116339957A
CN116339957A CN202310618050.5A CN202310618050A CN116339957A CN 116339957 A CN116339957 A CN 116339957A CN 202310618050 A CN202310618050 A CN 202310618050A CN 116339957 A CN116339957 A CN 116339957A
Authority
CN
China
Prior art keywords
task
function
task scheduling
constraint
processing unit
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
CN202310618050.5A
Other languages
English (en)
Other versions
CN116339957B (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.)
Beijing Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
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 Beijing Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Priority to CN202310618050.5A priority Critical patent/CN116339957B/zh
Publication of CN116339957A publication Critical patent/CN116339957A/zh
Application granted granted Critical
Publication of CN116339957B publication Critical patent/CN116339957B/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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • 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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开一种异构分布式平台混合关键系统的任务调度方法及系统,涉及任务调度技术领域,建立任务调度模型,该任务调度模型包括任务调度成本函数和多个约束条件,约束条件包括任务执行位置约束、任务执行时间约束、任务执行顺序约束、任务数据依赖性约束以及功能执行时间约束,再对任务调度模型进行求解,得到任务调度方案,通过建立合理的任务调度模型,保证高关键级功能的实时性需求,同时利用有限的计算资源尽可能的实现对低关键级功能的高效调度,提升整个混合关键系统的性能。

Description

一种异构分布式平台混合关键系统的任务调度方法及系统
技术领域
本发明涉及任务调度技术领域,特别是涉及一种异构分布式平台混合关键系统的任务调度方法及系统。
背景技术
随着自动驾驶技术与车机技术的发展,汽车电子系统的功能变的越来越复杂,规模与日俱增。出于对空间、重量、功耗(SWaP)以及成本的考虑,汽车电子电气架构从分布式电子电气架构向集中式电子电气架构转变成了当下趋势,原本单独部署在不同的处理单元上的不同关键级的功能将会部署在一个统一的平台上,这就衍生出异构分布式平台混合关键系统。关键级表示功能的安全关键程度,揭示了功能未能及时执行后果的严重性,关键级越高的功能未能及时执行造成的后果越严重,比如自动驾驶汽车控制系统会同时运行高关键级的环境感知功能以及低关键级的通信功能,可以接受一定程度的网络丢包,但无法接受环境感知功能错过其截止时间,故需要对异构分布式平台混合关键系统上的多个功能进行合理调度。
但是,传统的调度算法无法差异化调度不同关键级的功能,现阶段针对混合关键系统的调度算法大多基于启发式算法,无法取得全局最优解,因此亟需建立高效的调度算法来保证高关键级功能的实时性需求,同时利用有限的计算资源尽可能的实现对低关键级功能的高效调度,提升整个混合关键系统的性能。
发明内容
本发明的目的是提供一种异构分布式平台混合关键系统的任务调度方法及系统,通过建立合理的任务调度模型,保证高关键级功能的实时性需求,同时利用有限的计算资源尽可能的实现对低关键级功能的高效调度,提升整个混合关键系统的性能。
为实现上述目的,本发明提供了如下方案:
一种异构分布式平台混合关键系统的任务调度方法,所述任务调度方法包括:
建立用于异构分布式平台混合关键系统的任务调度模型;所述异构分布式平台混合关键系统包括多个通信连接的处理单元,多个所述处理单元用于执行具有不同关键级的多个功能中每一所述功能所包括的多个计算任务;所述任务调度模型包括任务调度成本函数和多个约束条件;所述约束条件包括任务执行位置约束、任务执行时间约束、任务执行顺序约束、任务数据依赖性约束以及功能执行时间约束;
对所述任务调度模型进行求解,得到任务调度方案;所述任务调度方案包括每一所述功能所包括的每一所述计算任务所对应的处理单元、开始执行时间和结束执行时间;所述计算任务所对应的处理单元为用于执行所述计算任务的处理单元。
一种异构分布式平台混合关键系统的任务调度系统,所述任务调度系统包括:
任务调度模型建立模块,用于建立用于异构分布式平台混合关键系统的任务调度模型;所述异构分布式平台混合关键系统包括多个通信连接的处理单元,多个所述处理单元用于执行具有不同关键级的多个功能中每一所述功能所包括的多个计算任务;所述任务调度模型包括任务调度成本函数和多个约束条件;所述约束条件包括任务执行位置约束、任务执行时间约束、任务执行顺序约束、任务数据依赖性约束以及功能执行时间约束;
任务调度方案求解模块,用于对所述任务调度模型进行求解,得到任务调度方案;所述任务调度方案包括每一所述功能所包括的每一所述计算任务所对应的处理单元、开始执行时间和结束执行时间;所述计算任务所对应的处理单元为用于执行所述计算任务的处理单元。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明用于提供一种异构分布式平台混合关键系统的任务调度方法及系统,建立用于异构分布式平台混合关键系统的任务调度模型,任务调度模型包括任务调度成本函数和多个约束条件,约束条件包括任务执行位置约束、任务执行时间约束、任务执行顺序约束、任务数据依赖性约束以及功能执行时间约束,再对任务调度模型进行求解,得到任务调度方案,通过建立合理的任务调度模型,保证高关键级功能的实时性需求,同时利用有限的计算资源尽可能的实现对低关键级功能的高效调度,提升整个混合关键系统的性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1所提供的任务调度方法的方法流程图;
图2为本发明实施例1所提供的任务调度方法的详细流程图;
图3为本发明实施例1所提供的异构处理平台的整体架构图;
图4为本发明实施例1所提供的自动驾驶控制功能的示意图;
图5为本发明实施例1所提供的通过DAG表示的自动驾驶控制功能的节点示意图;
图6为本发明实施例1所提供的任务调度方案的可视化结果示意图;
图7为本发明实施例2所提供的任务调度系统的系统框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种异构分布式平台混合关键系统的任务调度方法及系统,通过建立合理的任务调度模型,保证高关键级功能的实时性需求,同时利用有限的计算资源尽可能的实现对低关键级功能的高效调度,提升整个混合关键系统的性能。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例1:
本实施例用于提供一种异构分布式平台混合关键系统的任务调度方法,如图1所示,所述任务调度方法包括:
S1:建立用于异构分布式平台混合关键系统的任务调度模型;所述异构分布式平台混合关键系统包括多个通信连接的处理单元,多个所述处理单元用于执行具有不同关键级的多个功能中每一所述功能所包括的多个计算任务;所述任务调度模型包括任务调度成本函数和多个约束条件;所述约束条件包括任务执行位置约束、任务执行时间约束、任务执行顺序约束、任务数据依赖性约束以及功能执行时间约束;
S2:对所述任务调度模型进行求解,得到任务调度方案;所述任务调度方案包括每一所述功能所包括的每一所述计算任务所对应的处理单元、开始执行时间和结束执行时间;所述计算任务所对应的处理单元为用于执行所述计算任务的处理单元。
本实施例的异构分布式平台混合关键系统是指将多个异构的处理单元分布式布置在同一个异构处理平台上,多个处理单元两两之间相互通信连接,互相配合用于执行具有不同关键级的多个功能中每一功能所包括的多个计算任务。异构的处理单元是指各个处理单元的执行任务和执行时间不同。
如图2所示,本实施例所提供的一种异构分布式平台混合关键系统的任务调度方法包括:(一)异构分布式平台混合关键系统的异构处理平台抽象建模;(二)异构分布式平台混合关键系统的功能抽象建模;(三)异构分布式平台混合关键系统的任务调度建模(与S1相对应);(四)任务调度问题求解(与S2相对应)。
在此,本实施例按照上述四个步骤对本实施例的任务调度方法进行进一步的介绍:
(一)异构分布式平台混合关键系统的异构处理平台抽象建模:
对异构分布式平台混合关键系统的异构处理平台进行抽象建模,得到处理单元集。
处理单元集为:
Figure SMS_1
其中,P为处理单元集,其包括多个通信连接的处理单元,处理单元具体通过异构处理平台中的车载网络进行通信连接;Pi为第i个处理单元,i=1,2,...,
Figure SMS_2
;/>
Figure SMS_3
为异构处理平台中通过车载网络通信连接(即互联)的处理单元的数量,特别指出,没有通过车载网络与其他处理单元通信连接的独立的处理单元不属于本实施例所述的处理单元。
如图3所示,其为异构分布式平台混合关键系统的异构处理平台的示意图,该异构处理平台采用集中式电子电气架构,图3中的Zonal ECU(区域控制器)1、Zonal ECU2、ZonalECU3、Zonal ECU4、HPC(高性能计算机)1、HPC2和HPC3即为图3所示的异构处理平台所包括的7个异构的处理单元,由于图3中的Normal ECU(传统ECU)只能完成特定的功能,无法对其进行任务调度,故其不属于本实施例所述的处理单元。图3中7个异构的处理单元通过车载网络相互通信,车载网络包括图3中的CANFD和ETH/TSH。
(二)异构分布式平台混合关键系统的功能抽象建模:
对异构分布式平台混合关键系统的异构处理平台需执行的功能进行抽象建模,得到功能集。
功能集为:
Figure SMS_4
其中,F为功能集,其包括具有不同关键级的多个功能;Fk为第k个功能,其代表一项独立的功能,k=1,2,...,
Figure SMS_5
;/>
Figure SMS_6
为运行在异构处理平台上的功能的数量。
在得到功能集之后,本实施例的任务调度方法还包括:对单个功能进行抽象建模。
对于单个功能,如图4和图5所示,图4为自动驾驶控制这一单个功能的示意图,可见单个功能包括多个计算任务,某些计算任务之间存在数据传输过程(比如对摄像头的数据采集这一计算任务的结果需要传输至传感器融合这一计算任务),本实施例定义存在数据传输过程的两个计算任务之间存在数据依赖关系(即数据依赖性),图5为将图4所示的单个功能的每个计算任务均抽象为一个节点(比如对摄像头的数据采集这一计算任务被抽象为节点n1)所得到的单个功能的节点示意图。
基于上述对单个功能的介绍,本实施例以计算任务集和有向边集合(或称有向边矩阵)来对单个功能进行表征:
单个功能的计算任务集N为:
Figure SMS_7
其中,
Figure SMS_8
为单个功能所包括的计算任务的数量;上述计算任务集包括单个功能所有的计算任务。
将单个功能所包括的计算任务之间的数据依赖关系抽象为有向边,即可得到有向边集合E,E为一个
Figure SMS_10
矩阵,E中的第j行第/>
Figure SMS_12
列的元素/>
Figure SMS_14
用于表征单个功能的第j个计算任务Nj和第/>
Figure SMS_11
个计算任务/>
Figure SMS_15
之间是否存在数据依赖,当单个功能的第j个计算任务Nj和第/>
Figure SMS_16
个计算任务/>
Figure SMS_17
之间存在数据依赖时,/>
Figure SMS_9
取1,否则,/>
Figure SMS_13
取0。
基于上述的单个功能的表征方式,本实施例将单个功能Fk抽象为DAG(有向无环图),则第k个功能Fk表示为:
Figure SMS_18
其中,
Figure SMS_21
为计算任务集,其包括第k个功能Fk所有的计算任务;W为最坏执行时间矩阵,其为一个/>
Figure SMS_24
矩阵,/>
Figure SMS_28
为处理单元的数量,/>
Figure SMS_19
为第k个功能Fk所包括的计算任务的数量,W中的第i行第j列的元素Wij为第k个功能Fk的第j个计算任务Nj在第i个处理单元Pi上的最坏执行时间,该最坏执行时间可通过操作系统的定时器或者劳特巴赫调试器等调试工具获得,是一个已知值,特别指出,若某个处理单元不支持某个计算任务,则将其对应的最坏执行时间设为一个远大于正常最坏执行时间的正数;E为有向边矩阵,代表DAG中有向边,其为一个/>
Figure SMS_26
矩阵,E中的第j行第/>
Figure SMS_30
列的元素/>
Figure SMS_32
在第k个功能Fk的第j个计算任务Nj和第/>
Figure SMS_20
个计算任务/>
Figure SMS_23
之间存在数据依赖时取1,否则取0;Comm为数据传输时间矩阵,其定义了当存在数据依赖的两个计算任务在不同处理单元上执行时通过车载总线传输数据的时间,为一个/>
Figure SMS_29
矩阵,Comm中的第j行第/>
Figure SMS_31
列的元素/>
Figure SMS_22
为第k个功能Fk的第j个计算任务Nj和第/>
Figure SMS_25
个计算任务/>
Figure SMS_27
在不同处理单元上执行时通过车载总线传输数据的时间,是一个已知值;Crit为第k个功能Fk的关键级,本实施例可以自定义关键级的个数以及每个功能的关键级,当在功能的设计阶段根据ISO-26262标准定义每个功能的关键级时,则共存在4个关键级;R为第k个功能Fk的释放时间;D为第k个功能Fk的绝对截止时间。
(三)异构分布式平台混合关键系统的任务调度建模:
本实施例基于(一)中的处理单元集、(二)中的功能集和单个功能的表示建立任务调度模型,所建立的任务调度模型包括任务调度成本函数和多个约束条件,约束条件包括任务执行位置约束、任务执行时间约束、任务执行顺序约束、任务数据依赖性约束以及功能执行时间约束。
(1)任务调度成本函数为:
Figure SMS_33
当根据ISO-26262标准定义每个功能的关键级时,则任务调度成本函数为:
Figure SMS_34
其中,f为任务调度成本函数;F为功能集,其包括具有不同关键级的多个功能;
Figure SMS_35
为第k个功能Fk对应的权重系数,其根据第k个功能Fk的关键级确定,即该权重系数与功能的关键级相关,功能的关键级越高,权重系数越大,通常关键级增加1级,权重系数增加10倍乃至更高;Critk为第k个功能Fk的关键级;Deltak为第k个功能Fk的截止松弛时间,代表第k个功能Fk超出其绝对截止时间的时间,其取值范围为[0,+∞);Ck为第k个功能Fk的结束执行时间,即第k个功能Fk中最后一个执行的计算任务的结束执行时间;Dk为第k个功能的绝对截止时间。
上述任务调度成本函数中,通过对截止松弛时间加权求和来体现不同关键级的功能的不同的实时性需求,Ck/Dk是保证在满足其他约束条件的情况下,尽可能早的执行计算任务。在对任务调度模型进行求解时,需要以任务调度成本函数最小为目标进行求解,即可保证高关键级的功能的实时性需求,同时利用有限的计算资源尽可能的实现对低关键级的功能的高效调度,提升整个混合关键系统的性能。
(2)本实施例所提供的任务调度方法不考虑计算任务的复制,对于任意一个功能Fk的任意一个计算任务Nj,必须被任意一个处理单元且只能被一个处理单元执行,则任务执行位置约束为:
Figure SMS_36
其中,P为处理单元集,其包括多个通信连接的处理单元;Xijk为第一二进制变量(其只能取0或1),当第k个功能Fk的第j个计算任务Nj在第i个处理单元Pi上执行时,Xijk取1,否则,Xijk取0;F为功能集,其包括具有不同关键级的多个功能。
(3)任务执行时间约束(即任务在处理单元上的执行时间约束)为:
Figure SMS_37
Figure SMS_38
其中,Sijk为第k个功能Fk的第j个计算任务Nj在第i个处理单元Pi上的开始执行时间,其取值范围为[0,+∞);Cijk为第k个功能Fk的第j个计算任务Nj在第i个处理单元Pi上的结束执行时间,其取值范围为[0,+∞);当第k个功能Fk的第j个计算任务Nj在第i个处理单元Pi上执行时,上述开始执行时间和结束执行时间分别为计算任务的实际开始时间和实际结束时间,否则上述开始执行时间和结束执行时间为0。L为一个极大的正数,其远大于整个系统执行时间;Wijk为第k个功能Fk的第j个计算任务Nj在第i个处理单元Pi上的最坏执行时间。
如果第k个功能Fk的第j个计算任务Nj没在第i个处理单元Pi上执行,则Xijk=0,通过上述第一个公式将Sijk和Cijk约束为0;如果第k个功能Fk的第j个计算任务Nj在第i个处理单元Pi上执行,则Xijk=1,上述第一个公式因L是一个很大的正数,相当于对Sijk和Cijk没有约束,上述第二个公式则代表第k个功能Fk的第j个计算任务Nj在第i个处理单元Pi上的开始执行时间和结束执行时间的约束之差至少等于第k个功能Fk的第j个计算任务Nj在第i个处理单元Pi上的最坏执行时间;如果第k个功能Fk的第j个计算任务Nj无法在第i个处理单元Pi上执行,因这种情况下的最坏执行时间相对于其他正常最坏执行时间是一个很大的正数,明显不是最优调度方案,在优化求解的过程中会将其淘汰掉。
(4)本实施例所提供的任务调度方法不考虑任务的抢占,即某一个计算任务开始在某个处理单元上执行,则会一直占用该处理单元直到计算任务完成,同一个处理单元只能单线程工作,即同一时间只能处理一个计算任务,不同的计算任务分配到同一个处理单元需要对其计算顺序进行决策,则任务执行顺序约束(即任务在处理单元上的执行顺序约束)为:
Figure SMS_39
Figure SMS_40
其中,
Figure SMS_50
为第/>
Figure SMS_43
个功能/>
Figure SMS_46
的第/>
Figure SMS_44
个计算任务/>
Figure SMS_48
在第i个处理单元Pi上的结束执行时间;/>
Figure SMS_51
为第二二进制变量,当第k个功能Fk的第j个计算任务Nj在第i个处理单元Pi上先于第/>
Figure SMS_54
个功能/>
Figure SMS_49
的第/>
Figure SMS_53
个计算任务/>
Figure SMS_41
在第i个处理单元Pi执行时,/>
Figure SMS_47
取1,否则,/>
Figure SMS_52
取0;/>
Figure SMS_56
为第/>
Figure SMS_55
个功能/>
Figure SMS_57
的第/>
Figure SMS_42
个计算任务/>
Figure SMS_45
在第i个处理单元Pi上的开始执行时间。
通过上述约束即可实现对在同一个处理单元上先后执行的两个计算任务中前一个计算任务的结束执行时间和后一个计算任务的开始执行时间进行约束。特别指出,k与
Figure SMS_58
可以相等,即上述约束不但适用于对不同功能的计算任务的执行顺序进行建模,同样适用于对同一个功能的不同计算任务的执行顺序进行建模,可以完成同一个功能的不同计算任务在同一个处理单元上执行顺序的决策。
(5)单个功能中具有数据依赖的两个计算任务,后续计算任务需接收到其前驱任务的数据才能开始执行(可根据有向边的方向确定前驱任务,当有向边由A计算任务指向B计算任务,则A计算任务为B计算任务的前驱任务),则任务数据依赖性约束为:
Figure SMS_59
其中,
Figure SMS_62
为第k个功能Fk的第j个计算任务Nj的开始执行时间;/>
Figure SMS_67
为第k个功能Fk的第/>
Figure SMS_72
个计算任务/>
Figure SMS_63
的结束执行时间,此时第j个计算任务Nj和第/>
Figure SMS_66
个计算任务
Figure SMS_70
之间存在数据依赖,/>
Figure SMS_73
取1;/>
Figure SMS_60
为二进制常量,当第k个功能Fk的第j个计算任务Nj和第k个功能Fk的第/>
Figure SMS_64
个计算任务/>
Figure SMS_69
之间存在数据依赖时,/>
Figure SMS_74
取1,否则,/>
Figure SMS_61
取0;
Figure SMS_65
为第k个功能Fk的第j个计算任务Nj和第k个功能Fk的第/>
Figure SMS_68
个计算任务/>
Figure SMS_71
之间的数据通信时间。
如果两个计算任务在同一个处理单元上执行,则两个计算任务即可直接通过片上共享内存进行通信,此时两个计算任务的数据通信时间忽略不计,可设置为0;如果两个计算任务不在同一个处理单元上执行,则两个计算任务的数据通信时间等于由Comm定义的时间。本实施例可以用
Figure SMS_75
来表示两个计算任务是否在同一处理单元上执行,则数据通信时间/>
Figure SMS_76
的计算公式如下:
Figure SMS_77
其中,
Figure SMS_80
为第三二进制变量,当第k个功能Fk的第/>
Figure SMS_82
个计算任务/>
Figure SMS_84
在第i个处理单元Pi上执行时,/>
Figure SMS_78
取1,否则,/>
Figure SMS_81
取0;/>
Figure SMS_83
为第k个功能Fk的第j个计算任务Nj和第/>
Figure SMS_85
个计算任务/>
Figure SMS_79
在不同处理单元上执行时通过车载总线传输数据的时间。
(6)功能必须在其释放之后才能开始执行,同时对其结束执行时间有要求,则功能执行时间约束(即功能开始时间与结束时间约束)为:
Figure SMS_86
Figure SMS_87
Figure SMS_88
Figure SMS_89
其中,Sk为第k个功能Fk的开始执行时间,即Fk中第一个执行的计算任务的开始执行时间;Rk为第k个功能Fk的释放时间;Ck为第k个功能Fk的结束执行时间,即Fk中最后一个执行的计算任务的结束执行时间;Dk为第k个功能Fk的绝对截止时间;Deltak为第k个功能Fk的截止松弛时间,代表功能Fk超出其绝对截止时间的时间,其取值范围为[0,+∞)。
本实施例的关键级体现在了任务调度成本函数里,更高关键级的功能超过其绝对截止时间时将会被给予更大的惩罚,通过该任务调度模型所得到的任务调度方案也就会偏向于保障高关键级的功能的实时性。
上述任务调度模型的任务数据依赖性约束中存在二进制变量X的乘积,故其所构建的模型是混合整数非线性规划模型,为了提高求解的效率,本实施例进一步将任务数据依赖性约束这一非线性约束转化为线性约束,具体的,本实施例引入一个新的二进制变量
Figure SMS_90
Figure SMS_91
当Xijk
Figure SMS_92
同时为1时,/>
Figure SMS_93
为1,否则,/>
Figure SMS_94
为0。
本实施例进一步将其转化为线性约束形式,如下:
Figure SMS_95
Figure SMS_96
具体的,由于本实施例所构建的上述任务调度模型为非线性的,即上述任务调度模型为混合整数非线性规划模型(MINLP),考虑到上述任务调度模型只有任务数据依赖性约束是非线性约束,其他的约束条件以及任务调度成本函数都是线性的,故只需要将任务数据依赖性约束线性化后就能将整个任务调度模型改进为混合整数线性规划模型(MILP),即得到线性化模型,对线性化模型进行求解能够进一步提高求解效率。故为了进一步提高求解效率,优选的,本实施例的任务调度方法还包括:对任务调度模型进行线性化,得到线性化模型,并以线性化模型作为新的任务调度模型,从而通过将任务调度模型线性化,以提高任务调度模型的求解效率。其中,对任务调度模型进行线性化,得到线性化模型可以包括:对任务数据依赖性约束进行线性化,得到线性化后的任务数据依赖性约束,此时,任务调度成本函数、任务执行位置约束、任务执行时间约束、任务执行顺序约束、线性化后的任务数据依赖性约束以及功能执行时间约束组成线性化模型。
线性化后的任务数据依赖性约束为:
Figure SMS_97
,/>
Figure SMS_98
Figure SMS_99
Figure SMS_100
Figure SMS_101
其中,
Figure SMS_102
为第四二进制变量。
(四)任务调度问题求解:
(1)对任务调度模型或者线性化模型的数学模型进行建模。
选择一种编程语言(比如C、C++、JAVA或者Python等)及其IDE(IntegratedDevelopment Environment,集成开发环境),针对一种求解器(比如Gurobi、SCIP、COPT)的接口要求对上述任务调度模型或者线性化模型的数学模型进行建模。
(2)调用对应的求解器对其进行求解,获得最优调度结果(即任务调度方案)。
任务调度方案包括X、S、C、Y、Z五个决策变量的求解结果,其中,X代表了每个计算任务被分配在哪个处理单元上执行,S代表了每个计算任务被分配在处理单元上执行的开始执行时间,C代表了每个计算任务被分配在处理单元上执行的结束执行时间,Y代表了不同计算任务在同一个处理单元上执行的先后顺序,Z代表了不同计算任务是否在同一处理单元上执行。任务调度方案可视化后如图6所示,纵坐标代表处理单元,横坐标代表时间,F1-1代表第1个功能的第1个计算任务,图6可以显示出各个处理单元所处理的计算任务以及每一处理单元所执行的各个计算任务的开始执行时间和结束执行时间,即可以得到每个计算任务被安排到哪个处理单元执行,什么时候开始执行,什么时候结束执行。本实施例还可进一步将该任务调度方案写入处理单元,让处理单元按照设计的任务调度方案顺序执行相应的计算任务。
本实施例所提出的任务调度方法广泛适用于周期性执行的混合关键系统,能提前预知功能的释放时间R以及绝对截止时间D,通过获取所有功能周期的最小公倍数时间长度的任务调度方案即可实现整个混合关键系统的调度,第二个最小公倍数时间周期只需要重复第一个最小公倍数时间周期的调度即可。本实施例所提供的一种异构分布式平台混合关键系统的任务调度方法,能够确定系统的最佳调度策略,保证各个关键级应用的有序执行,提高车辆总体安全性以及计算资源的利用效率。
针对混合关键系统,本实施例的任务调度方法的优点是利用混合整数线性规划方法获取全局的最优解,实现对车辆整个控制系统计算资源的最优分配,既提高了系统资源利用率,又保障了车辆安全性。其中,异构处理平台的抽象建模方法,无需车辆详细的电子电气架构,对车载处理单元的具体形式与布置方案没有要求,功能的抽象建模方法综合考虑了系统的异构性、并行性以及关键级,从理论层面建立了混合关键任务调度数学模型,使得本实施例的任务调度方法能够实现整个系统的最优调度。
实施例2:
本实施例用于提供一种异构分布式平台混合关键系统的任务调度系统,如图7所示,所述任务调度系统包括:
任务调度模型建立模块M1,用于建立用于异构分布式平台混合关键系统的任务调度模型;所述异构分布式平台混合关键系统包括多个通信连接的处理单元,多个所述处理单元用于执行具有不同关键级的多个功能中每一所述功能所包括的多个计算任务;所述任务调度模型包括任务调度成本函数和多个约束条件;所述约束条件包括任务执行位置约束、任务执行时间约束、任务执行顺序约束、任务数据依赖性约束以及功能执行时间约束;
任务调度方案求解模块M2,用于对所述任务调度模型进行求解,得到任务调度方案;所述任务调度方案包括每一所述功能所包括的每一所述计算任务所对应的处理单元、开始执行时间和结束执行时间;所述计算任务所对应的处理单元为用于执行所述计算任务的处理单元。
本说明书中每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种异构分布式平台混合关键系统的任务调度方法,其特征在于,所述任务调度方法包括:
建立用于异构分布式平台混合关键系统的任务调度模型;所述异构分布式平台混合关键系统包括多个通信连接的处理单元,多个所述处理单元用于执行具有不同关键级的多个功能中每一所述功能所包括的多个计算任务;所述任务调度模型包括任务调度成本函数和多个约束条件;所述约束条件包括任务执行位置约束、任务执行时间约束、任务执行顺序约束、任务数据依赖性约束以及功能执行时间约束;
对所述任务调度模型进行求解,得到任务调度方案;所述任务调度方案包括每一所述功能所包括的每一所述计算任务所对应的处理单元、开始执行时间和结束执行时间;所述计算任务所对应的处理单元为用于执行所述计算任务的处理单元。
2.根据权利要求1所述的任务调度方法,其特征在于,所述任务调度成本函数为:
Figure QLYQS_1
其中,f为任务调度成本函数;F为功能集,其包括具有不同关键级的多个功能;
Figure QLYQS_2
为第k个功能Fk对应的权重系数,其根据第k个功能Fk的关键级确定;Critk为第k个功能Fk的关键级;Deltak为第k个功能Fk的截止松弛时间;Ck为第k个功能Fk的结束执行时间;Dk为第k个功能Fk的绝对截止时间。
3.根据权利要求1所述的任务调度方法,其特征在于,
所述任务执行位置约束为:
Figure QLYQS_3
其中,P为处理单元集,其包括多个通信连接的处理单元;Xijk为第一二进制变量,当第k个功能Fk的第j个计算任务Nj在第i个处理单元Pi上执行时,Xijk取1,否则,Xijk取0;F为功能集,其包括具有不同关键级的多个功能;
所述任务执行时间约束为:
Figure QLYQS_4
Figure QLYQS_5
其中,Sijk为第k个功能Fk的第j个计算任务Nj在第i个处理单元Pi上的开始执行时间;Cijk为第k个功能Fk的第j个计算任务Nj在第i个处理单元Pi上的结束执行时间;L为一个极大的正数;Wijk为第k个功能Fk的第j个计算任务Nj在第i个处理单元Pi上的最坏执行时间;
所述任务执行顺序约束为:
Figure QLYQS_6
Figure QLYQS_7
其中,
Figure QLYQS_20
为第/>
Figure QLYQS_8
个功能/>
Figure QLYQS_18
的第/>
Figure QLYQS_19
个计算任务/>
Figure QLYQS_22
在第i个处理单元Pi上的结束执行时间;/>
Figure QLYQS_23
为第二二进制变量,当第k个功能Fk的第j个计算任务Nj在第i个处理单元Pi上先于第/>
Figure QLYQS_24
个功能/>
Figure QLYQS_17
的第/>
Figure QLYQS_21
个计算任务/>
Figure QLYQS_10
在第i个处理单元Pi执行时,/>
Figure QLYQS_15
取1,否则,/>
Figure QLYQS_11
取0;/>
Figure QLYQS_13
为第/>
Figure QLYQS_14
个功能/>
Figure QLYQS_16
的第/>
Figure QLYQS_9
个计算任务/>
Figure QLYQS_12
在第i个处理单元Pi上的开始执行时间;
所述任务数据依赖性约束为:
Figure QLYQS_25
Figure QLYQS_26
其中,
Figure QLYQS_40
为第k个功能Fk的第j个计算任务Nj的开始执行时间;/>
Figure QLYQS_28
为第k个功能Fk的第/>
Figure QLYQS_37
个计算任务/>
Figure QLYQS_27
的结束执行时间;/>
Figure QLYQS_31
为第k个功能Fk的第j个计算任务Nj和第k个功能Fk的第/>
Figure QLYQS_36
个计算任务/>
Figure QLYQS_39
之间的数据通信时间;/>
Figure QLYQS_35
为二进制常量,当第k个功能Fk的第j个计算任务Nj和第k个功能Fk的第/>
Figure QLYQS_41
个计算任务/>
Figure QLYQS_30
之间存在数据依赖时,/>
Figure QLYQS_32
取1,否则,/>
Figure QLYQS_43
取0;/>
Figure QLYQS_46
为第三二进制变量,当第k个功能Fk的第/>
Figure QLYQS_42
个计算任务/>
Figure QLYQS_44
在第i个处理单元Pi上执行时,/>
Figure QLYQS_33
取1,否则,/>
Figure QLYQS_34
取0;/>
Figure QLYQS_38
为第k个功能Fk的第j个计算任务Nj和第k个功能Fk的第/>
Figure QLYQS_45
个计算任务/>
Figure QLYQS_29
在不同处理单元上执行时通过车载总线传输数据的时间;
所述功能执行时间约束为:
Figure QLYQS_47
Figure QLYQS_48
Figure QLYQS_49
Figure QLYQS_50
其中,Sk为第k个功能Fk的开始执行时间;Rk为第k个功能Fk的释放时间;Ck为第k个功能Fk的结束执行时间;Dk为第k个功能Fk的绝对截止时间;Deltak为第k个功能Fk的截止松弛时间。
4.根据权利要求3所述的任务调度方法,其特征在于,在对所述任务调度模型进行求解,得到任务调度方案之前,所述任务调度方法还包括:对所述任务调度模型进行线性化,得到线性化模型,并以所述线性化模型作为新的任务调度模型。
5.根据权利要求4所述的任务调度方法,其特征在于,所述对所述任务调度模型进行线性化,得到线性化模型具体包括:
对所述任务数据依赖性约束进行线性化,得到线性化后的任务数据依赖性约束;所述任务调度成本函数、所述任务执行位置约束、所述任务执行时间约束、所述任务执行顺序约束、所述线性化后的任务数据依赖性约束以及所述功能执行时间约束组成线性化模型。
6.根据权利要求5所述的任务调度方法,其特征在于,
所述线性化后的任务数据依赖性约束为:
Figure QLYQS_51
,/>
Figure QLYQS_52
Figure QLYQS_53
Figure QLYQS_54
Figure QLYQS_55
其中,
Figure QLYQS_56
为第四二进制变量。
7.根据权利要求1所述的任务调度方法,其特征在于,在建立用于异构分布式平台混合关键系统的任务调度模型之前,所述任务调度方法还包括:对异构分布式平台混合关键系统的异构处理平台进行抽象建模,得到处理单元集;
所述处理单元集为:
Figure QLYQS_57
其中,P为处理单元集,其包括多个通信连接的处理单元;Pi为第i个处理单元,i=1,2,...,
Figure QLYQS_58
;/>
Figure QLYQS_59
为异构处理平台中通过车载网络通信连接的处理单元的数量。
8.根据权利要求1所述的任务调度方法,其特征在于,在建立用于异构分布式平台混合关键系统的任务调度模型之前,所述任务调度方法还包括:对异构分布式平台混合关键系统的异构处理平台需执行的功能进行抽象建模,得到功能集;
所述功能集为:
Figure QLYQS_60
其中,F为功能集,其包括具有不同关键级的多个功能;Fk为第k个功能,k=1,2,...,
Figure QLYQS_61
Figure QLYQS_62
为运行在异构处理平台上的功能的数量。
9.根据权利要求8所述的任务调度方法,其特征在于,在得到功能集之后,所述任务调度方法还包括:对单个功能进行抽象建模,第k个功能Fk表示为:
Figure QLYQS_63
其中,
Figure QLYQS_65
为计算任务集,其包括第k个功能Fk所有的计算任务;W为最坏执行时间矩阵,W中的第i行第j列的元素Wij为第k个功能Fk的第j个计算任务Nj在第i个处理单元Pi上的最坏执行时间;E为有向边矩阵,E中的第j行第/>
Figure QLYQS_68
列的元素/>
Figure QLYQS_70
在第k个功能Fk的第j个计算任务Nj和第/>
Figure QLYQS_66
个计算任务/>
Figure QLYQS_69
之间存在数据依赖时取1;Comm为数据传输时间矩阵,Comm中的第j行第/>
Figure QLYQS_71
列的元素/>
Figure QLYQS_72
为第k个功能Fk的第j个计算任务Nj和第/>
Figure QLYQS_64
个计算任务/>
Figure QLYQS_67
在不同处理单元上执行时通过车载总线传输数据的时间;Crit为第k个功能Fk的关键级;R为第k个功能Fk的释放时间;D为第k个功能Fk的绝对截止时间。
10.一种异构分布式平台混合关键系统的任务调度系统,其特征在于,所述任务调度系统包括:
任务调度模型建立模块,用于建立用于异构分布式平台混合关键系统的任务调度模型;所述异构分布式平台混合关键系统包括多个通信连接的处理单元,多个所述处理单元用于执行具有不同关键级的多个功能中每一所述功能所包括的多个计算任务;所述任务调度模型包括任务调度成本函数和多个约束条件;所述约束条件包括任务执行位置约束、任务执行时间约束、任务执行顺序约束、任务数据依赖性约束以及功能执行时间约束;
任务调度方案求解模块,用于对所述任务调度模型进行求解,得到任务调度方案;所述任务调度方案包括每一所述功能所包括的每一所述计算任务所对应的处理单元、开始执行时间和结束执行时间;所述计算任务所对应的处理单元为用于执行所述计算任务的处理单元。
CN202310618050.5A 2023-05-30 2023-05-30 一种异构分布式平台混合关键系统的任务调度方法及系统 Active CN116339957B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310618050.5A CN116339957B (zh) 2023-05-30 2023-05-30 一种异构分布式平台混合关键系统的任务调度方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310618050.5A CN116339957B (zh) 2023-05-30 2023-05-30 一种异构分布式平台混合关键系统的任务调度方法及系统

Publications (2)

Publication Number Publication Date
CN116339957A true CN116339957A (zh) 2023-06-27
CN116339957B CN116339957B (zh) 2023-08-11

Family

ID=86876297

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310618050.5A Active CN116339957B (zh) 2023-05-30 2023-05-30 一种异构分布式平台混合关键系统的任务调度方法及系统

Country Status (1)

Country Link
CN (1) CN116339957B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109799805A (zh) * 2019-01-17 2019-05-24 湖南大学 一种可靠性感知的高性能汽车电子调度算法
CN111587407A (zh) * 2017-11-10 2020-08-25 辉达公司 用于安全且可靠的自主车辆的系统和方法
CN115328628A (zh) * 2022-08-08 2022-11-11 东南大学 一种基于能量优化的多核异构NoC平台任务执行方法
CN115509712A (zh) * 2022-10-07 2022-12-23 大连理工大学 一种基于smt的自动驾驶系统实时性任务调度分析方法
CN115809128A (zh) * 2022-11-21 2023-03-17 上海零念科技有限公司 应用于汽车ecu的多核任务调度方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111587407A (zh) * 2017-11-10 2020-08-25 辉达公司 用于安全且可靠的自主车辆的系统和方法
EP3707572A1 (en) * 2017-11-10 2020-09-16 Nvidia Corporation Systems and methods for safe and reliable autonomous vehicles
CN109799805A (zh) * 2019-01-17 2019-05-24 湖南大学 一种可靠性感知的高性能汽车电子调度算法
CN115328628A (zh) * 2022-08-08 2022-11-11 东南大学 一种基于能量优化的多核异构NoC平台任务执行方法
CN115509712A (zh) * 2022-10-07 2022-12-23 大连理工大学 一种基于smt的自动驾驶系统实时性任务调度分析方法
CN115809128A (zh) * 2022-11-21 2023-03-17 上海零念科技有限公司 应用于汽车ecu的多核任务调度方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
GUOQI XIE EL.AL: "High performance real-time scheduling of multiple mixed-criticality functions in heterogeneous distributed embedded systems", 《JOURNAL OF SYSTEMS ARCHITECTURE》, pages 1 - 12 *
TIANYU WANG ET.AL: "Automotive Mixed Criticality DAG Function Scheduling Optimization Based on Edge Computing", 《2023 6TH WORLD CONFERENCE ON COMPUTING AND COMMUNICATION TECHNOLOGIES (WCCCT)》, pages 176 - 180 *

Also Published As

Publication number Publication date
CN116339957B (zh) 2023-08-11

Similar Documents

Publication Publication Date Title
Xie et al. Reliability enhancement toward functional safety goal assurance in energy-aware automotive cyber-physical systems
Monot et al. Multisource software on multicore automotive ECUs—Combining runnable sequencing with task scheduling
US20040236488A1 (en) Motor vehicle control system and method for controlling a motor vehicle
US8437909B2 (en) Method and apparatus for communication within control systems
CN109799805B (zh) 一种可靠性感知的高性能汽车电子调度算法
KR100606946B1 (ko) 마이크로 컴퓨터의 로직 개발 장치
Kodase et al. Improving scalability of task allocation and scheduling in large distributed real-time systems using shared buffers
CN116430738B (zh) 一种混合关键系统的自适应动态调度方法
CN115619002A (zh) 一种灵活动态混合关键系统调度方法
JP2013228859A (ja) プラント制御装置
Naghshtabrizi et al. Analysis of distributed control systems with shared communication and computation resources
CN116339957B (zh) 一种异构分布式平台混合关键系统的任务调度方法及系统
US20070174683A1 (en) Method for operating software modules
Hu et al. Safety-guaranteed and development cost-minimized scheduling of DAG functionality in an automotive system
Senthilkumar et al. Designing multicore ECU architecture in vehicle networks using AUTOSAR
CN102654843A (zh) 嵌入式处理器中非抢占式容错调度方法及嵌入式处理器
Latif et al. Design space exploration for complex automotive applications: An engine control system case study
Xie et al. Scheduling Parallel Applications on Heterogeneous Distributed Systems
Ge et al. Time properties dedicated transformation from UML-MARTE activity to time transition system
Mishra et al. Dynamic task scheduling on multicore automotive ECUs
KR20160087274A (ko) 오토사 기반의 전자제어유닛 멀티코어 아키텍처 및 이를 포함하는 차량
CN117667367A (zh) 调度方法、装置及移动工具
Ziebart Car electronics-key factors of success for the'90s
CN116483580B (zh) 基于Kubernetes的服务器运算资源调度系统与方法
Mishra et al. Performance optimization of task intensive real‐time applications on multicore ECUs—A hybrid scheduler

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