CN110162399A - 一种面向多核实时系统的时间确定性方法 - Google Patents

一种面向多核实时系统的时间确定性方法 Download PDF

Info

Publication number
CN110162399A
CN110162399A CN201910381305.4A CN201910381305A CN110162399A CN 110162399 A CN110162399 A CN 110162399A CN 201910381305 A CN201910381305 A CN 201910381305A CN 110162399 A CN110162399 A CN 110162399A
Authority
CN
China
Prior art keywords
task
time
resource
module
core
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
CN201910381305.4A
Other languages
English (en)
Other versions
CN110162399B (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.)
Harbin Institute of Technology
Original Assignee
Harbin Institute of Technology
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 Harbin Institute of Technology filed Critical Harbin Institute of Technology
Priority to CN201910381305.4A priority Critical patent/CN110162399B/zh
Publication of CN110162399A publication Critical patent/CN110162399A/zh
Application granted granted Critical
Publication of CN110162399B publication Critical patent/CN110162399B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/5038Allocation 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
    • 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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms
    • 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/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • 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)
  • Multi Processors (AREA)

Abstract

本发明提出了一种面向多核实时系统的时间确定性方法,其中包括运算资源管理模块、调度裁决模块、任务同步模块和专用核心模块。本发明结合目前通用的确定性技术,应用于实时系统中,使任务执行具备时间确定性、空间确定性和执行确定性。通过在同步阶段设置同步时间片的策略,一定程度上提升确定性技术效率。通过定义特殊数据结构,隐藏了直接与操作系统底层的交互,方便了各模块共享资源的维护工作。将调度管理的对象设为任务组,在确定性执行机制下对任务进行评估,划分优先级,令确定性技术可以更好地贴合实时系统特性。将CPU核心分为运算核心和专用核心两部分,采用不同方案,保障任务运行过程中的实时性。

Description

一种面向多核实时系统的时间确定性方法
技术领域
本发明应用于多核实时性操作系统环境下的保证任务执行具有时间上的确定性。
背景技术
如今片上多核处理器已成为主流计算平台,采用传统串行程序已经无法完全发挥其性能和优势,多任务并行编程成为能充分利用多核CPU特性的最重要的方式。相较于传统串行程序,并行程序下多个任务协同处理完成一项工作,势必将涉及到对共享资源的竞争,产生不确定性。确定性技术的面世解决了先前的这些难以解决的问题,能取得确定性的结果。当前主流的确定性技术,其核心思想是通过指定任务的同步点,在同步点之上完成串并行切换,执行同步工作,从而确保程序的确定性。
目前,确定性技术使用在非实时系统上可以取得很好的效果,然而没有对实时系统的特性进行研究使得这些确定性技术无法应用于实时系统。在多核实时系统的设计中,时间确定性是实时系统上满足确定性的一项基本要求,是指每种处理的开始时刻或者处理结果的提交时刻必须满足响应的时间要求,即在给定的时间内确实启动并完成相应的任务,各个不同任务之间必须按照确定的时间顺序进行。缺少时间层面的确定性对于实时系统来说是不完整的。
发明内容
基于背景技术存在的技术问题,本发明提出了一种面向多核实时系统的时间确定性方法。
本发明提出一种面向多核实时系统的时间确定性方法,所述系统包括运算资源管理模块,调度裁决模块,任务同步模块,专用核心模块。
优选地,运算资源管理模块用于确定全局运算资源的实时状态,并对各资源进行规划和监控;
优选地,调度裁决模块用于对新增任务实时性进行判断,制定并裁决出可行的调度方案,为任务在规定时间内得到响应且结果具备确定性提供保障;
优选地,任务同步模块用于并行的程序进入串行同步状态时的管理和计算,使真正需要进入同步阶段的任务更好的完成调度;
优选地,专用核心模块用于对时间要求极为苛刻的任务或诸如同步的特殊任务,提供专门的运算核心和资源策略,保障其处理的完成。
所述运算资源管理模块包括任务-资源映射器、运算资源分配模块,该模块所述运算资源包括运算核心、来自系统和任务间的信号量、互斥锁、条件变量、共享内存;
任务-资源映射器,用于记录当前运算资源和任务之间的归属关系,通过定义特殊的数据结构,实现对运行资源重组织,使资源可以快速维护;
运算资源分配模块,用于针对运行的任务依据划分策略来划分核心、令牌策略来调度和记录相应资源;
所述划分策略是指系统核心依据当前任务队列对系统持有的具有管理权限的运算核心实施划分运行模式的策略。具体做法可根据如下表述:设系统持有可支配核心数为C,将系统中绝大多数(M个)的运算核心划分为高优先级核心,(C-M-1)个核心作为低优先级核心。高优先级核心上运行系统高优先级的任务,低优先级核心运行其余的任务,高优先级核心上任务数大于C时,按照轮转法调度,任务数小于C时,闲置核心可以临时充当低优先级核心。低优先级核心按照抢占式调度;
所述令牌策略是指资源运行过程中由任务经过调度裁决模块的授权获取令牌后,在优先级保证下持有资源。
所述调度裁决模块包括任务分类器、任务裁判器,其控制对象是任务组,即源于同一个父任务的所有子任务作为一个任务组;
任务分类器,用于判断任务实时性情况,包括分辨任务类型是周期任务还是非周期任务、关键任务还是非关键任务;
任务裁判器,用于判断关键任务最迟应当运行的时间、定义优先级和向任务授予具有访问资源权限的并行令牌。
所述任务同步模块包括同步时间片、同步组控制器、同步信息存储器;
所述同步时间片是并行执行过程中任一任务到达同步点时,防止等待其他任务到达同步点的时间过长而使用的机制;
所述同步组控制器用于同步阶段资源访问控制和同步时机的控制。其控制的对象是任务组。
所述同步信息存储器用于记录同步阶段的工作轨迹,将其保存为日志,为其他确定性技术提供参考。
所述专用核心模块用于对时间要求极为苛刻的任务或诸如同步的特殊任务,提供专门的运算核心和资源策略,保障其处理的完成。
本发明的技术特点是:基于多核实时系统和确定性技术的思想设计,具备时间上的确定性、空间上的确定性和执行上的确定性。通过定义运算资源管理模块,使程序运行的资源可以被组织起来,采用类索引机制和类链表的管理方式,使得维护成本不高昂;将调度管理的对象设为任务组,在确定性执行机制下对任务进行评估,划分优先级,实现确定性技术更好地贴合实时系统调度特性;在同步阶段引入系统的时间片机制一是为了避免传统确定性技术等待同步点过久,二是尽可能的让运行时间是可控的;借用冗余的思想引入专用核心执行关键任务,保障了任务在确定性时间内可以响应。
附图说明
图1为本发明的模块关系示意图。
图2为本发明的资源管理模块中任务-资源映射器数据结构示意图。
具体实施方式
下面结合具体实施例对本发明作进一步解说。
实施例
本实施例以搭载了实时系统的8核CPU为例。
参考图1,运算资源管理模块用于快速确定全局运算资源的状态,并对各资源进行规划和监控;
参考图2,运算资源管理模块中的任务-资源映射器,借助特殊的数据结构反映运算资源和任务之间的归属关系,实现对运行资源重组织:映射器对任务维护一张资源表,是形如<资源ID,资源地址,资源占用指针,资源参数>的四元组。另外维护一棵任务树,任务树的第1层是头结点,第2层每个结点代表一个运算核心,第2层起的每一个分支代表一个任务。该层结点的分支数越多,共用一个核心的任务越多,分支层数越多,代表该任务占用资源越多。分支中的结点记录占用的一个资源信息,并有一个指向下一项同资源的指针。资源表中的“资源占用指针”项通过指向第一个出现的资源结点,形成资源链。调度相关模块可以通过类链表、类索引的工作方式实现快速维护和查询运行资源,保障任务快速调度;
参考图1,运算资源分配器是资源管理模块的另一个重要组成部分,用于控制运行的任务依据划分策略来划分核心、令牌策略来获取相应资源。
所述划分策略是指系统核心依据当前任务队列对系统持有的具有管理权限的运算核心实施划分运行模式的策略。实时系统中调度普遍基于RM和EDF策略,应用于确定性技术中,可以实施对这两种策略的优化,本例中,系统持有可支配核心数为8,依据实时系统任务情况可将系统中最多3/4的运算核心(即6个)划分为高优先级核心,1个核心作为低优先级核心。高优先级核心上运行系统高优先级的任务,低优先级核心运行其余的任务,高优先级核心上任务数大于6时,按照轮转法调度,任务数小于6时,闲置核心可以临时充当低优先级核心。低优先级核心按照抢占式调度。为了维持运行时段优先级的平稳,可参照调度裁判模块提出的一些机制。
所述令牌策略是指任务运行过程中由任务经过调度裁决模块的授权获取令牌后,在优先级保证下持有资源。令牌依据任务运行模式分为并行令牌和串行令牌。并行令牌由调度裁决模块授权给具备访问共享资源条件的并行任务,串行令牌由任务同步模块授权给在同步串行阶段的任务,串行令牌具有剥夺并行令牌的资格,串行令牌调用过的资源,在同步没有结束时,并行令牌返回访问失败的信号。
参考图1,调度裁决模块用于对新增任务实时性进行判断,制定并裁决出可行的调度方案,为任务在规定时间内得到响应且结果具备确定性提供保障。该模块包括任务分类器、任务裁判器。
所述任务分类器,用于判断任务实时性情况,包括分辨任务是周期任务还是非周期任务、关键任务还是非关键任务。对于是周期任务且为关键任务的,将该任务优先提交至专用核心任务队列中。对于是周期任务但是非关键任务的,将任务由高优先级核心完成。对于是非周期任务但是关键任务的,立即由专用核心执行。对于是非周期任务且不是关键任务的,由低优先级核心运行。
所述任务裁判器用于判断关键任务最迟何时应当运行,其依据为任务执行的时间可由公式表示为:
Tparallel指任务在并行阶段时耗费的总时间,Tserial指因任务同步而进行的串行阶段的时间,Tbarrier指任务在同步点处等待时间的最大值总和,Ttoken指任务在传递令牌维护数据耗费的总时间。由于任务同步模块的使用的机制,每个同步点屏障的最长等待时间是1.5个系统时间片,任务执行过程中应当进入同步串行阶段的次数在确定性技术下是明确的,因此Tbarrier是可以预测的,而Ttoken所做的都是固定的一些工作,比例很小,作为变化因素的Tserial其最大可预估为任务组中所有的任务都进行了同步时的时长。在系统运行环境确定后可以得到T的值。因此依据上式计算的时间是满足确定性下的任务运行时间;根据预估的时间,可以向系统反馈该任务组中任务是否可以满足实时性要求;
所述任务裁判器还用于定义任务的优先级,可以由如下公式表示:
P’=P-[Te/(T-Ts)]×L
P’代表更新后的优先级,P代表之前的优先级,Te是任务已经执行部分的时间,Ts是任务加入执行列表的时间,L是优先级区段,是优先级可以调整的区间范围,可以与任务ID和任务组相关。这里默认实时系统的优先级数值低者优先。优先级更新的时机是系统时间片即将耗尽的时候,此时,运算核心留出约5%的时间来更新优先级,之后按照划分策略的核心的运行模式做相应策略的调度。
所述任务裁判器还用于向任务授予令牌。任务裁判器控制并行任务的令牌授予,使其具有向运算资源管理模块获取资源的权利。任务因访问资源向裁判器发送信号,声明需要的资源,由裁判器发出试探信号,若运算资源管理模块返回无冲突信号,则该任务持有并行令牌。当持有并行令牌失败时,任务进入失败队列,直到有新的获取令牌的机会。
调度裁决模块工作步骤如下:
步骤1:系统环境初始化,模块开始运作,任务组到来时,由任务分类器对任务进行判断,获取任务基本属性;
步骤2:任务组激活任务裁判器,来计算任务在确定性环境下的执行时间,如果是周期性任务,计算结果小于周期内的阈值,则接受任务,否则返回任务失败;如果是非周期性任务,则加入到执行队列中;
步骤3:任务裁判器划分优先级,将其加入相应核心的运行队列中,并向运算资源模块注册;
步骤4:任务通过令牌获得运算资源,开始工作,并监听任务组是否有同步行为,如有,将调度权转交给任务同步模块,没有转入步骤5;
步骤5:一个时间片到达前,裁判器更新优先级,并向运算资源管理模块发送新的调度信息,并为失败列表中的任务试探是否可以访问资源;
步骤6:检测是否存在新来的任务,存在则重复步骤2-5。
参考图1,任务同步模块用于并行的程序进入串行同步状态时的管理和计算,使真正需要进入同步阶段的任务更好的完成调度。它相当于是工作于任务同步阶段的调度裁决模块,该模块包括同步时间片、同步组控制器、同步信息存储器。
所述同步时间片用于并行执行过程中任一任务到达同步点时,防止等待其他任务到达同步点的时间过长而使用的机制。时间片大小依据轮转法系统时间片的1.5倍设置,在此期间到达的任务以自旋锁的方式等待时间片的到达,但是一旦同组任务均已加入同步列表中,同步时间片将提前停止;
所述同步组控制器用于同步阶段资源访问控制和同步时机的控制。其控制的对象是任务组,即源于同一个父任务的所有子任务作为一个任务组。各组同步关系是独立的。组内当同步时间片开始后,同步组控制器先激活专用核心,在专用核心上运行统计任务,标记参与同步任务的运行资源,并从专用核心处获取同步任务列表。当统计程序完成后,同步组控制器安排一个核心执行同步串行过程。此外,同步组控制器会再安排一个核心运行同步时机管控机制任务,用于对在并行执行的任务进行监控,当出现并行程序需要进入同步操作,该任务阻塞至新一轮并行阶段开始,再响应其同步请求。
所述同步信息存储器用于记录同步阶段的工作轨迹,将其保存为日志,为其他确定性技术提供参考。
该模块工作过程包括如下步骤:
步骤1:任务并行执行,运行到需要同步的指令时,该任务阻塞,并等待任务集合中其他任务。
步骤2:阻塞过程中,系统启用一个同步时间片,设置一个计时的外部中断,该中断长度为1.5个系统时间片。
步骤3:在同步时间片到达之前,专用核心在没有强任务占领的前提下被激活,用于封存并统计任务同步模块所维护的资源表,确定共享资源被使用的情况。若共享资源被多个任务使用到,将这些任务加入到本阶段同步任务列表中,其余的任务继续并行执行,但不允许其在串行过程期间访问共享资源。该统计任务一旦启动,需要被设置为最高优先级。
步骤4:加入到同步列表的任务按照其ID提交对共享资源的修改,并开始其同步语句。没有同步语句的任务跳过执行过程。
步骤5:将更新完毕的共享资源按照共享资源表更新到相应任务的私有堆内存中,退出同步,并由调度裁决模块完成新一轮并行调度。
按照程序规范,同步的变量应当是程序提前声明的。因此,同步时间片的这一策略,使得长距离同步任务跳过了一个或多个串行阶段,而这些同步任务在步骤3中被筛查为资源无关的任务,故这些任务与串行阶段并行执行期间是不影响确定性结果的。
参考图1,专用核心模块用于对时间要求极为苛刻的任务或诸如同步的特殊任务,提供专门的运算核心和资源策略,保障其处理的完成。其运行策略为:没有紧急任务时,其处于休闲态,该状态下核心参与运算,但调度裁决模块只分配非关键任务。当系统中存在因deadline临近或优先级极高的关键任务,需要立即响应时,该核心会立即停止其他任务,调度裁决模块直接将这个关键任务交由该核心运行,并为该核心提供获取资源的最高权限。在该核心上执行的任务不再支持抢占,当多个任务同时需要专用核心模块,专用核心启动评估机制,步骤如下:
步骤1:获取任务执行列表中的任务的优先级和进入列表的顺序;
步骤2:计算其任务紧急的可信程度,可根据可信公式:
步骤3:根据可信程度选择执行任务。如果可信程度相同,则依据其需要占用专用核心时长确定执行任务,其余的临时提高优先级,抢占低优先级核心运行。
以上所述,仅为本发明较佳的具体实施方式,可依据实际应用使用软件或硬件实现,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护。

Claims (9)

1.一种面向多核实时系统的时间确定性方法,其特征在于:所述系统包括运算资源管理模块,调度裁决模块,任务同步模块,专用核心模块;
运算资源管理模块,用于确定全局运算资源的实时状态,并对各资源进行规划和监控;
调度裁决模块用于对新增任务实时性进行判断,制定并裁决出可行的调度方案,为任务在规定时间内得到响应提供保障;
任务同步模块用于并行的程序进入串行同步状态时的管理和计算,使真正需要进入同步阶段的任务更好的完成调度;
专用核心模块用于对时间要求极为苛刻的任务,提供专门的运算核心和资源策略,保障其处理的完成。
2.根据权利要求1所述的一种面向多核实时系统的时间确定性方法,其特征在于,所述运算资源管理模块包括任务-资源映射器和运算资源分配器;
任务-资源映射器,借助特殊的数据结构反映运算资源和任务之间的归属关系,实现对运行资源重组织。
运算资源分配器,用于控制运行的任务依据划分策略来划分核心、令牌策略来获取相应资源。
所述运算资源包括运算核心、来自系统和任务间的信号量、互斥锁、条件变量、共享内存。
3.根据权利要求2所述的一种面向多核实时系统的时间确定性方法,其特征在于,所述的数据结构由资源表和任务树构成。
资源表是形如<资源ID,资源地址,资源占用指针,资源参数>的四元组构成的表。
任务树是反映核心、任务、资源之间分布关系的树状数据结构。
资源表和任务树搭配形成多条资源链,从而通过类链表、类索引的工作方式快速查询和维护运行资源。
4.根据权利要求2所述的一种面向多核实时系统的时间确定性方法,其特征在于,所述的运算资源分配器依据划分策略和令牌策略。
划分策略是系统核心依据当前任务队列对系统持有的具有管理权限的运算核心实施划分运行模式的策略,运行模式包括高优先级核心模式和低优先级核心运行模式。
令牌策略是任务运行过程中由任务经过调度裁决模块的授权获取令牌后,在优先级保证下持有资源。
5.根据权利要求1所述的一种面向多核实时系统的时间确定性方法,其特征在于,所述调度裁决模块包括模块包括任务分类器、任务裁判器。
任务分类器,用于判断任务实时性情况,包括分辨任务是周期任务还是非周期任务、关键任务还是非关键任务,以利于任务裁决。
任务裁判器,用于判断关键任务最迟应当运行的时间、定义优先级和向任务授予具有访问资源权限的并行令牌。
6.根据权利要求5所述的一种面向多核实时系统的时间确定性方法,其特征在于,所述调度裁决模块工作步骤如下:
步骤1:系统环境初始化,模块开始运作,任务组到来时,由任务分类器对任务进行判断,获取任务基本属性;
步骤2:任务组激活任务裁判器,来计算任务在确定性环境下的执行时间,如果是周期性任务,计算结果小于周期内的阈值,则接受任务,否则返回任务失败;如果是非周期性任务,则加入到执行队列中;
步骤3:任务裁判器划分优先级,将其加入相应核心的运行队列中,并向运算资源模块注册;
步骤4:任务通过令牌获得运算资源,开始工作,并监听任务组是否有同步行为,如有,将调度权转交给任务同步模块,没有转入步骤5;
步骤5:一个时间片到达前,裁判器更新优先级,并向运算资源管理模块发送新的调度信息,并为失败列表中的任务试探是否可以访问资源;
步骤6:检测是否存在新来的任务,存在则重复步骤2-5。
7.根据权利要求1所述的一种面向多核实时系统的时间确定性方法,其特征在于,所述任务同步模块包括包括同步时间片、同步组控制器、同步信息存储器。
同步时间片,用于并行执行过程中任一任务到达同步点时,防止等待其他任务到达同步点的时间过长而使用的机制。
同步组控制器用于同步阶段资源访问控制和同步时机的控制。
同步信息存储器用于记录同步阶段的工作轨迹,将其保存为日志,为其他确定性技术提供参考。
8.根据权利要求7所述的一种面向多核实时系统的时间确定性方法,其特征在于,所述任务同步模块运行步骤如下:
步骤1:任务并行执行,运行到需要同步的指令时,该任务阻塞,并等待任务集合中其他任务。
步骤2:阻塞过程中,系统启用一个同步时间片,设置一个计时的外部中断,该中断长度为1.5个系统时间片。
步骤3:在同步时间片到达之前,专用核心在没有强任务占领的前提下被激活,用于封存并统计任务同步模块所维护的资源表,确定共享资源被使用的情况。若共享资源被多个任务使用到,将这些任务加入到本阶段同步任务列表中,其余的任务继续并行执行,但不允许其在串行过程期间访问共享资源。该统计任务一旦启动,需要被设置为最高优先级。
步骤4:加入到同步列表的任务按照其ID提交对共享资源的修改,并开始其同步语句。没有同步语句的任务跳过执行过程。
步骤5:将更新完毕的共享资源按照共享资源表更新到相应任务的私有堆内存中,退出同步,并由调度裁决模块完成新一轮并行调度。
9.根据权利要求1所述的一种面向多核实时系统的时间确定性方法,其特征在于,所述专用核心运行策略为:没有紧急任务时,其处于休闲态,该状态下核心参与运算,但调度裁决模块只分配非关键任务。当系统中存在因deadline临近或优先级极高的关键任务,需要立即响应时,该核心会立即停止其他任务,调度裁决模块直接将这个关键任务交由该核心运行,并为该核心提供获取资源的最高权限。在该核心上执行的任务不再支持抢占,当多个任务同时需要专用核心模块,专用核心启动评估机制。
CN201910381305.4A 2019-05-08 2019-05-08 一种面向多核实时系统的时间确定性方法 Active CN110162399B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910381305.4A CN110162399B (zh) 2019-05-08 2019-05-08 一种面向多核实时系统的时间确定性方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910381305.4A CN110162399B (zh) 2019-05-08 2019-05-08 一种面向多核实时系统的时间确定性方法

Publications (2)

Publication Number Publication Date
CN110162399A true CN110162399A (zh) 2019-08-23
CN110162399B CN110162399B (zh) 2023-05-09

Family

ID=67633842

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910381305.4A Active CN110162399B (zh) 2019-05-08 2019-05-08 一种面向多核实时系统的时间确定性方法

Country Status (1)

Country Link
CN (1) CN110162399B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113950669A (zh) * 2019-11-19 2022-01-18 株式会社Lg新能源 电池管理系统及其控制方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120131584A1 (en) * 2009-02-13 2012-05-24 Alexey Raevsky Devices and Methods for Optimizing Data-Parallel Processing in Multi-Core Computing Systems
CN103823706A (zh) * 2014-02-12 2014-05-28 浙江大学 一种基于RTLinux的被控对象模型模拟仿真实时调度方法
CN105260237A (zh) * 2015-09-29 2016-01-20 中南大学 异构多核平台的任务调度系统及其调度方法
CN105700941A (zh) * 2015-12-18 2016-06-22 西安工业大学 三维调度器模型及其调度算法
US20170315846A1 (en) * 2015-01-16 2017-11-02 Huawei Technologies Co., Ltd. Task scheduling method and apparatus on heterogeneous multi-core reconfigurable computing platform
CN109471734A (zh) * 2018-10-27 2019-03-15 哈尔滨工业大学(威海) 一种新型缓存优化多线程确定性方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120131584A1 (en) * 2009-02-13 2012-05-24 Alexey Raevsky Devices and Methods for Optimizing Data-Parallel Processing in Multi-Core Computing Systems
CN103823706A (zh) * 2014-02-12 2014-05-28 浙江大学 一种基于RTLinux的被控对象模型模拟仿真实时调度方法
US20170315846A1 (en) * 2015-01-16 2017-11-02 Huawei Technologies Co., Ltd. Task scheduling method and apparatus on heterogeneous multi-core reconfigurable computing platform
CN105260237A (zh) * 2015-09-29 2016-01-20 中南大学 异构多核平台的任务调度系统及其调度方法
CN105700941A (zh) * 2015-12-18 2016-06-22 西安工业大学 三维调度器模型及其调度算法
CN109471734A (zh) * 2018-10-27 2019-03-15 哈尔滨工业大学(威海) 一种新型缓存优化多线程确定性方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
SANJAY MOULIK: "HETERO-SCHED: A Low-Overhead Heterogeneous Multi-core Scheduler for Real-Time Periodic Tasks", 《2018 IEEE 20TH INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING AND COMMUNICATIONS》 *
TONGPING LIU: "DTHREADS: Efficient Deterministic Multithreading", 《SOSP "11: PROCEEDINGS OF THE TWENTY-THIRD ACM SYMPOSIUM ON OPERATING SYSTEMS PRINCIPLES》 *
陈刚等: "实时多核嵌入式系统研究综述", 《软件学报》 *
陈沉: "面向多线程程序的确定性并行关键技术研究", 《信息科技辑中国博士学位论文全文数据库 (信息科技辑)》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113950669A (zh) * 2019-11-19 2022-01-18 株式会社Lg新能源 电池管理系统及其控制方法

Also Published As

Publication number Publication date
CN110162399B (zh) 2023-05-09

Similar Documents

Publication Publication Date Title
US6499048B1 (en) Control of multiple computer processes using a mutual exclusion primitive ordering mechanism
Xu et al. On satisfying timing constraints in hard-real-time systems
US6256753B1 (en) Bus error handling in a computer system
CN102346460B (zh) 一种基于事务的服务控制系统及其控制方法
Wang et al. Pigeon: An effective distributed, hierarchical datacenter job scheduler
JP2019079528A5 (zh)
CN109522101A (zh) 用于调度多个操作系统任务的方法、系统和/或装置
US20080301408A1 (en) System comprising a plurality of processors and method of operating the same
CN103729480A (zh) 一种多核实时操作系统多个就绪任务快速查找及调度方法
US20100174886A1 (en) Multi-Core Processing Utilizing Prioritized Interrupts for Optimization
US10915488B2 (en) Inter-processor synchronization system
US7487501B2 (en) Distributed counter and centralized sensor in barrier wait synchronization
CN106991071B (zh) 内核调度方法及系统
CN102768637A (zh) 一种控制测试执行的方法及装置
CN101770398A (zh) 一种操作系统内核
CN110162399A (zh) 一种面向多核实时系统的时间确定性方法
Tavakoli et al. Log-assisted straggler-aware I/O scheduler for high-end computing
Negrean et al. Response-time analysis of arbitrarily activated tasks in multiprocessor systems with shared resources
CN112306703A (zh) 一种numa系统中的临界区执行方法及装置
CN112363816B (zh) 嵌入式多核操作系统确定性调度方法、系统及介质
CN114327906A (zh) 批量任务的处理方法及其装置、计算机可读存储介质
JP2002163117A (ja) タスクスケジューリング装置
CN102339223A (zh) 数字数据处理系统
Hauck et al. UDS: a novel and flexible scheduling algorithm for deterministic multithreading
CA2967748A1 (en) System for cross-host, multi-thread session alignment

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