CN116339957A - 一种异构分布式平台混合关键系统的任务调度方法及系统 - Google Patents
一种异构分布式平台混合关键系统的任务调度方法及系统 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 230000006870 function Effects 0.000 claims abstract description 212
- 238000012545 processing Methods 0.000 claims description 142
- 238000004891 communication Methods 0.000 claims description 18
- 239000011159 matrix material Substances 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 238000013178 mathematical model Methods 0.000 description 3
- 239000002243 precursor Substances 0.000 description 3
- 238000013480 data collection Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 102100026681 Chromobox protein homolog 8 Human genes 0.000 description 1
- 101000910841 Homo sapiens Chromobox protein homolog 8 Proteins 0.000 description 1
- 101000669028 Homo sapiens Zinc phosphodiesterase ELAC protein 2 Proteins 0.000 description 1
- 102000002423 Octamer Transcription Factor-6 Human genes 0.000 description 1
- 108010068113 Octamer Transcription Factor-6 Proteins 0.000 description 1
- 102100039877 Zinc phosphodiesterase ELAC protein 2 Human genes 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- 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)
- 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相对应)。
在此,本实施例按照上述四个步骤对本实施例的任务调度方法进行进一步的介绍:
(一)异构分布式平台混合关键系统的异构处理平台抽象建模:
对异构分布式平台混合关键系统的异构处理平台进行抽象建模,得到处理单元集。
处理单元集为:
其中,P为处理单元集,其包括多个通信连接的处理单元,处理单元具体通过异构处理平台中的车载网络进行通信连接;Pi为第i个处理单元,i=1,2,...,;/>为异构处理平台中通过车载网络通信连接(即互联)的处理单元的数量,特别指出,没有通过车载网络与其他处理单元通信连接的独立的处理单元不属于本实施例所述的处理单元。
如图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。
(二)异构分布式平台混合关键系统的功能抽象建模:
对异构分布式平台混合关键系统的异构处理平台需执行的功能进行抽象建模,得到功能集。
功能集为:
在得到功能集之后,本实施例的任务调度方法还包括:对单个功能进行抽象建模。
对于单个功能,如图4和图5所示,图4为自动驾驶控制这一单个功能的示意图,可见单个功能包括多个计算任务,某些计算任务之间存在数据传输过程(比如对摄像头的数据采集这一计算任务的结果需要传输至传感器融合这一计算任务),本实施例定义存在数据传输过程的两个计算任务之间存在数据依赖关系(即数据依赖性),图5为将图4所示的单个功能的每个计算任务均抽象为一个节点(比如对摄像头的数据采集这一计算任务被抽象为节点n1)所得到的单个功能的节点示意图。
基于上述对单个功能的介绍,本实施例以计算任务集和有向边集合(或称有向边矩阵)来对单个功能进行表征:
单个功能的计算任务集N为:
将单个功能所包括的计算任务之间的数据依赖关系抽象为有向边,即可得到有向边集合E,E为一个矩阵,E中的第j行第/>列的元素/>用于表征单个功能的第j个计算任务Nj和第/>个计算任务/>之间是否存在数据依赖,当单个功能的第j个计算任务Nj和第/>个计算任务/>之间存在数据依赖时,/>取1,否则,/>取0。
基于上述的单个功能的表征方式,本实施例将单个功能Fk抽象为DAG(有向无环图),则第k个功能Fk表示为:
其中,为计算任务集,其包括第k个功能Fk所有的计算任务;W为最坏执行时间矩阵,其为一个/>矩阵,/>为处理单元的数量,/>为第k个功能Fk所包括的计算任务的数量,W中的第i行第j列的元素Wij为第k个功能Fk的第j个计算任务Nj在第i个处理单元Pi上的最坏执行时间,该最坏执行时间可通过操作系统的定时器或者劳特巴赫调试器等调试工具获得,是一个已知值,特别指出,若某个处理单元不支持某个计算任务,则将其对应的最坏执行时间设为一个远大于正常最坏执行时间的正数;E为有向边矩阵,代表DAG中有向边,其为一个/>矩阵,E中的第j行第/>列的元素/>在第k个功能Fk的第j个计算任务Nj和第/>个计算任务/>之间存在数据依赖时取1,否则取0;Comm为数据传输时间矩阵,其定义了当存在数据依赖的两个计算任务在不同处理单元上执行时通过车载总线传输数据的时间,为一个/>矩阵,Comm中的第j行第/>列的元素/>为第k个功能Fk的第j个计算任务Nj和第/>个计算任务/>在不同处理单元上执行时通过车载总线传输数据的时间,是一个已知值;Crit为第k个功能Fk的关键级,本实施例可以自定义关键级的个数以及每个功能的关键级,当在功能的设计阶段根据ISO-26262标准定义每个功能的关键级时,则共存在4个关键级;R为第k个功能Fk的释放时间;D为第k个功能Fk的绝对截止时间。
(三)异构分布式平台混合关键系统的任务调度建模:
本实施例基于(一)中的处理单元集、(二)中的功能集和单个功能的表示建立任务调度模型,所建立的任务调度模型包括任务调度成本函数和多个约束条件,约束条件包括任务执行位置约束、任务执行时间约束、任务执行顺序约束、任务数据依赖性约束以及功能执行时间约束。
(1)任务调度成本函数为:
当根据ISO-26262标准定义每个功能的关键级时,则任务调度成本函数为:
其中,f为任务调度成本函数;F为功能集,其包括具有不同关键级的多个功能;为第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,必须被任意一个处理单元且只能被一个处理单元执行,则任务执行位置约束为:
其中,P为处理单元集,其包括多个通信连接的处理单元;Xijk为第一二进制变量(其只能取0或1),当第k个功能Fk的第j个计算任务Nj在第i个处理单元Pi上执行时,Xijk取1,否则,Xijk取0;F为功能集,其包括具有不同关键级的多个功能。
(3)任务执行时间约束(即任务在处理单元上的执行时间约束)为:
其中,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)本实施例所提供的任务调度方法不考虑任务的抢占,即某一个计算任务开始在某个处理单元上执行,则会一直占用该处理单元直到计算任务完成,同一个处理单元只能单线程工作,即同一时间只能处理一个计算任务,不同的计算任务分配到同一个处理单元需要对其计算顺序进行决策,则任务执行顺序约束(即任务在处理单元上的执行顺序约束)为:
其中,为第/>个功能/>的第/>个计算任务/>在第i个处理单元Pi上的结束执行时间;/>为第二二进制变量,当第k个功能Fk的第j个计算任务Nj在第i个处理单元Pi上先于第/>个功能/>的第/>个计算任务/>在第i个处理单元Pi执行时,/>取1,否则,/>取0;/>为第/>个功能/>的第/>个计算任务/>在第i个处理单元Pi上的开始执行时间。
通过上述约束即可实现对在同一个处理单元上先后执行的两个计算任务中前一个计算任务的结束执行时间和后一个计算任务的开始执行时间进行约束。特别指出,k与可以相等,即上述约束不但适用于对不同功能的计算任务的执行顺序进行建模,同样适用于对同一个功能的不同计算任务的执行顺序进行建模,可以完成同一个功能的不同计算任务在同一个处理单元上执行顺序的决策。
(5)单个功能中具有数据依赖的两个计算任务,后续计算任务需接收到其前驱任务的数据才能开始执行(可根据有向边的方向确定前驱任务,当有向边由A计算任务指向B计算任务,则A计算任务为B计算任务的前驱任务),则任务数据依赖性约束为:
其中,为第k个功能Fk的第j个计算任务Nj的开始执行时间;/>为第k个功能Fk的第/>个计算任务/>的结束执行时间,此时第j个计算任务Nj和第/>个计算任务之间存在数据依赖,/>取1;/>为二进制常量,当第k个功能Fk的第j个计算任务Nj和第k个功能Fk的第/>个计算任务/>之间存在数据依赖时,/>取1,否则,/>取0;为第k个功能Fk的第j个计算任务Nj和第k个功能Fk的第/>个计算任务/>之间的数据通信时间。
如果两个计算任务在同一个处理单元上执行,则两个计算任务即可直接通过片上共享内存进行通信,此时两个计算任务的数据通信时间忽略不计,可设置为0;如果两个计算任务不在同一个处理单元上执行,则两个计算任务的数据通信时间等于由Comm定义的时间。本实施例可以用来表示两个计算任务是否在同一处理单元上执行,则数据通信时间/>的计算公式如下:
其中,为第三二进制变量,当第k个功能Fk的第/>个计算任务/>在第i个处理单元Pi上执行时,/>取1,否则,/>取0;/>为第k个功能Fk的第j个计算任务Nj和第/>个计算任务/>在不同处理单元上执行时通过车载总线传输数据的时间。
(6)功能必须在其释放之后才能开始执行,同时对其结束执行时间有要求,则功能执行时间约束(即功能开始时间与结束时间约束)为:
其中,Sk为第k个功能Fk的开始执行时间,即Fk中第一个执行的计算任务的开始执行时间;Rk为第k个功能Fk的释放时间;Ck为第k个功能Fk的结束执行时间,即Fk中最后一个执行的计算任务的结束执行时间;Dk为第k个功能Fk的绝对截止时间;Deltak为第k个功能Fk的截止松弛时间,代表功能Fk超出其绝对截止时间的时间,其取值范围为[0,+∞)。
本实施例的关键级体现在了任务调度成本函数里,更高关键级的功能超过其绝对截止时间时将会被给予更大的惩罚,通过该任务调度模型所得到的任务调度方案也就会偏向于保障高关键级的功能的实时性。
上述任务调度模型的任务数据依赖性约束中存在二进制变量X的乘积,故其所构建的模型是混合整数非线性规划模型,为了提高求解的效率,本实施例进一步将任务数据依赖性约束这一非线性约束转化为线性约束,具体的,本实施例引入一个新的二进制变量:
本实施例进一步将其转化为线性约束形式,如下:
具体的,由于本实施例所构建的上述任务调度模型为非线性的,即上述任务调度模型为混合整数非线性规划模型(MINLP),考虑到上述任务调度模型只有任务数据依赖性约束是非线性约束,其他的约束条件以及任务调度成本函数都是线性的,故只需要将任务数据依赖性约束线性化后就能将整个任务调度模型改进为混合整数线性规划模型(MILP),即得到线性化模型,对线性化模型进行求解能够进一步提高求解效率。故为了进一步提高求解效率,优选的,本实施例的任务调度方法还包括:对任务调度模型进行线性化,得到线性化模型,并以线性化模型作为新的任务调度模型,从而通过将任务调度模型线性化,以提高任务调度模型的求解效率。其中,对任务调度模型进行线性化,得到线性化模型可以包括:对任务数据依赖性约束进行线性化,得到线性化后的任务数据依赖性约束,此时,任务调度成本函数、任务执行位置约束、任务执行时间约束、任务执行顺序约束、线性化后的任务数据依赖性约束以及功能执行时间约束组成线性化模型。
线性化后的任务数据依赖性约束为:
(四)任务调度问题求解:
(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.一种异构分布式平台混合关键系统的任务调度方法,其特征在于,所述任务调度方法包括:
建立用于异构分布式平台混合关键系统的任务调度模型;所述异构分布式平台混合关键系统包括多个通信连接的处理单元,多个所述处理单元用于执行具有不同关键级的多个功能中每一所述功能所包括的多个计算任务;所述任务调度模型包括任务调度成本函数和多个约束条件;所述约束条件包括任务执行位置约束、任务执行时间约束、任务执行顺序约束、任务数据依赖性约束以及功能执行时间约束;
对所述任务调度模型进行求解,得到任务调度方案;所述任务调度方案包括每一所述功能所包括的每一所述计算任务所对应的处理单元、开始执行时间和结束执行时间;所述计算任务所对应的处理单元为用于执行所述计算任务的处理单元。
3.根据权利要求1所述的任务调度方法,其特征在于,
所述任务执行位置约束为:
其中,P为处理单元集,其包括多个通信连接的处理单元;Xijk为第一二进制变量,当第k个功能Fk的第j个计算任务Nj在第i个处理单元Pi上执行时,Xijk取1,否则,Xijk取0;F为功能集,其包括具有不同关键级的多个功能;
所述任务执行时间约束为:
其中,Sijk为第k个功能Fk的第j个计算任务Nj在第i个处理单元Pi上的开始执行时间;Cijk为第k个功能Fk的第j个计算任务Nj在第i个处理单元Pi上的结束执行时间;L为一个极大的正数;Wijk为第k个功能Fk的第j个计算任务Nj在第i个处理单元Pi上的最坏执行时间;
所述任务执行顺序约束为:
其中,为第/>个功能/>的第/>个计算任务/>在第i个处理单元Pi上的结束执行时间;/>为第二二进制变量,当第k个功能Fk的第j个计算任务Nj在第i个处理单元Pi上先于第/>个功能/>的第/>个计算任务/>在第i个处理单元Pi执行时,/>取1,否则,/>取0;/>为第/>个功能/>的第/>个计算任务/>在第i个处理单元Pi上的开始执行时间;
所述任务数据依赖性约束为:
其中,为第k个功能Fk的第j个计算任务Nj的开始执行时间;/>为第k个功能Fk的第/>个计算任务/>的结束执行时间;/>为第k个功能Fk的第j个计算任务Nj和第k个功能Fk的第/>个计算任务/>之间的数据通信时间;/>为二进制常量,当第k个功能Fk的第j个计算任务Nj和第k个功能Fk的第/>个计算任务/>之间存在数据依赖时,/>取1,否则,/>取0;/>为第三二进制变量,当第k个功能Fk的第/>个计算任务/>在第i个处理单元Pi上执行时,/>取1,否则,/>取0;/>为第k个功能Fk的第j个计算任务Nj和第k个功能Fk的第/>个计算任务/>在不同处理单元上执行时通过车载总线传输数据的时间;
所述功能执行时间约束为:
其中,Sk为第k个功能Fk的开始执行时间;Rk为第k个功能Fk的释放时间;Ck为第k个功能Fk的结束执行时间;Dk为第k个功能Fk的绝对截止时间;Deltak为第k个功能Fk的截止松弛时间。
4.根据权利要求3所述的任务调度方法,其特征在于,在对所述任务调度模型进行求解,得到任务调度方案之前,所述任务调度方法还包括:对所述任务调度模型进行线性化,得到线性化模型,并以所述线性化模型作为新的任务调度模型。
5.根据权利要求4所述的任务调度方法,其特征在于,所述对所述任务调度模型进行线性化,得到线性化模型具体包括:
对所述任务数据依赖性约束进行线性化,得到线性化后的任务数据依赖性约束;所述任务调度成本函数、所述任务执行位置约束、所述任务执行时间约束、所述任务执行顺序约束、所述线性化后的任务数据依赖性约束以及所述功能执行时间约束组成线性化模型。
9.根据权利要求8所述的任务调度方法,其特征在于,在得到功能集之后,所述任务调度方法还包括:对单个功能进行抽象建模,第k个功能Fk表示为:
10.一种异构分布式平台混合关键系统的任务调度系统,其特征在于,所述任务调度系统包括:
任务调度模型建立模块,用于建立用于异构分布式平台混合关键系统的任务调度模型;所述异构分布式平台混合关键系统包括多个通信连接的处理单元,多个所述处理单元用于执行具有不同关键级的多个功能中每一所述功能所包括的多个计算任务;所述任务调度模型包括任务调度成本函数和多个约束条件;所述约束条件包括任务执行位置约束、任务执行时间约束、任务执行顺序约束、任务数据依赖性约束以及功能执行时间约束;
任务调度方案求解模块,用于对所述任务调度模型进行求解,得到任务调度方案;所述任务调度方案包括每一所述功能所包括的每一所述计算任务所对应的处理单元、开始执行时间和结束执行时间;所述计算任务所对应的处理单元为用于执行所述计算任务的处理单元。
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)
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的多核任务调度方法及系统 |
-
2023
- 2023-05-30 CN CN202310618050.5A patent/CN116339957B/zh active Active
Patent Citations (6)
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)
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 | |
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) | 一种可靠性感知的高性能汽车电子调度算法 | |
CN102317915B (zh) | 分析系统的实时能力的方法 | |
Xie et al. | A high-performance dag task scheduling algorithm for heterogeneous networked embedded systems | |
He et al. | Reliability driven task scheduling for heterogeneous systems. | |
US20070174683A1 (en) | Method for operating software modules | |
CN116430738B (zh) | 一种混合关键系统的自适应动态调度方法 | |
Xie et al. | Energy-efficient functional safety design methodology using ASIL decomposition for automotive cyber-physical systems | |
CN116339957B (zh) | 一种异构分布式平台混合关键系统的任务调度方法及系统 | |
Hu et al. | Safety-guaranteed and development cost-minimized scheduling of DAG functionality in an automotive system | |
CN104598302A (zh) | 基于资源竞争模型的aadl模型可调度性验证方法 | |
Xie et al. | Scheduling Parallel Applications on Heterogeneous Distributed Systems | |
KR20160087274A (ko) | 오토사 기반의 전자제어유닛 멀티코어 아키텍처 및 이를 포함하는 차량 | |
CN115248724A (zh) | 异构多核系统的实时调度 | |
Wilhelm et al. | Designing predictable multicore architectures for avionics and automotive systems | |
CN108490826A (zh) | 一种用于嵌入式控制系统的控制器及其控制方法 | |
Rösch et al. | Multi-layer approach for energy consumption optimization in electric buses | |
JP2020181569A (ja) | 電子制御装置 | |
Ge et al. | Time properties dedicated transformation from UML-MARTE activity to time transition system | |
CN117667367A (zh) | 调度方法、装置及移动工具 | |
CN109614214A (zh) | 面向分布式ima架构基于milp的分区映射调度方法 | |
Kim et al. | Multicore ECU task-load distribution (balancing) and dynamic scheduling | |
Ziebart | Car electronics-key factors of success for the'90s |
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 |