CN111045799A - 基于回收再分配的低安全关键任务调度方法 - Google Patents
基于回收再分配的低安全关键任务调度方法 Download PDFInfo
- Publication number
- CN111045799A CN111045799A CN201911092361.2A CN201911092361A CN111045799A CN 111045799 A CN111045799 A CN 111045799A CN 201911092361 A CN201911092361 A CN 201911092361A CN 111045799 A CN111045799 A CN 111045799A
- Authority
- CN
- China
- Prior art keywords
- task
- time
- idle
- execution
- slot
- 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
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
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
-
- 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)
- Debugging And Monitoring (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种基于回收再分配的低安全关键任务调度方法,用于解决现有低安全关键任务调度方法处理器利用率低的技术问题。技术方案是对系统中产生的slack时隙进行保存,记录其空闲时段长度length和死限时间ds,将slack时隙按照死限时间ds递增的顺序保存在时隙队列SQ中;同时对被迫中止执行的低安全关键任务进行回收,并记录其剩余执行时间cs和任务死限时间dw,按照任务优先级递减的顺序保存在任务回收队列REQ_C中。取出任务回收队列REQ_C中优先级最高的任务,根据任务死限时间和空闲时隙slack的死限时间的比较,找到可以对任务进行调度的slack时隙,对任务进行再分配。本发明采用回收再分配方法提高了低安全关键任务的调度成功率,同时,slack空闲时隙的利用,提高了处理器的利用率。
Description
技术领域
本发明涉及一种低安全关键任务调度方法,特别涉及一种基于回收再分配的低安全关键任务调度方法。
背景技术
发表于IEEE The 20th Asia and South Pacific Design AutomationConference 2015年版630-635的文章“Enhanced partitioned scheduling of Mixed-Criticality Systems onmulticore platforms”提出了一种双分区混合关键任务(Dual-Partitioned Mixed-Criticality,DPM)调度方法。该调度方法针对低安全关键任务采用核间迁移的方法来保证低安全关键任务的调度成功率。
该方法虽然能够在一定程度上提高低安全关键任务的调度成功率,但是有很大一部分低安全关键任务并满足其提出的核间迁移的条件,因此会有一部分低安全关键任务仍无法顺利执行,且其没有利用任务执行过程中产生的slack时隙,增加了处理器的空转期,降低了处理器的利用率。
发明内容
为了克服现有低安全关键任务调度方法处理器利用率低的不足,本发明提供一种基于回收再分配的低安全关键任务调度方法。该方法在系统开始运行时,对系统中由于任务执行而产生的slack时隙进行保存,每一个要保存的slack时隙都需要记录其空闲时段长度length和死限时间ds,将slack时隙按照死限时间ds递增的顺序保存在时隙队列SQ中;同时对被迫中止执行的低安全关键任务进行回收,每一个被回收的任务需要记录其剩余执行时间cs和任务死限时间dw,按照任务优先级递减的顺序保存在任务回收队列REQ_C中。取出任务回收队列REQ_C中优先级最高的任务,根据任务死限时间和空闲时隙slack的死限时间的比较,找到可以对任务进行调度的slack时隙,对任务进行再分配。本发明采用回收再分配方法可以提高低安全关键任务的调度成功率,同时,slack空闲时隙的利用减少了处理器的空转期,提高了处理器的利用率。
本发明解决其技术问题所采用的技术方案:一种基于回收再分配的低安全关键任务调度方法,其特点是包括以下步骤:
步骤一、在系统开始运行时,使用一个全局的空闲时隙队列SQ对任务执行产生的slack时隙sq进行回收。当一个任务执行完毕后,记录其空闲时隙长度length,由公式(1)计算得到;同时记录空闲时隙的死限时间ds。将空闲时隙sq以死限时间ds递增的顺序存放在空闲时隙队列SQ中。
步骤二、在任务调度过程中,对被迫中止执行的低安全关键任务进行回收,在进行回收时,记录任务的剩余执行时间由公式(2)计算得到;同时记录任务的死限时间di,然后,按任务优先级递减的顺序存放在回收队列REQ_C中。
步骤三、判断回收队列REQ_C是否为空,若为空,则表示被迫终止的低安全关键任务都已经完成再分配,跳转步骤九;若不为空,跳转步骤四。
步骤四、从回收队列REQ_C中取出优先级最高的低安全关键任务wlsk,同时找出空闲时隙队列SQ中死限时间大于任务wlsk死限时间的空闲时段sq。
步骤五、判断在空闲时段sq的时间区间内,任务wlsk是否获取到执行所需的资源,如果获取到执行所需资源,跳转步骤六;如果未获取到执行所需资源,跳转步骤九。
步骤六、判断空闲时段sq的时段长度是否大于任务剩余执行时间,如果空闲时段时间小于任务剩余执行时间,跳转步骤七;如果空闲时段时间大于任务剩余执行时间,跳转步骤八;如果空闲时段时间等于任务剩余执行时间,跳转步骤十。
步骤七、将任务wlsk分配到该空闲时段sq执行,这种情况下,空闲时段sq会被消耗完,但是任务并没有执行完毕。在回收队列REQ_C中更新任务wlsk的剩余执行时间由公式(3)计算得到;在空闲时段队列SQ中删除该空闲时段sq,跳转步骤三。
步骤八、将任务wlsk分配到该空闲时段sq执行,这种情况下,任务wlsk会执行完毕,但是空闲时段sq并不会被消耗完。在空闲时段队列SQ中更新空闲时段sq的长度信息lengthn,由公式(4)计算得到;跳转步骤十。
步骤九、任务再分配失败。
步骤十、任务再分配成功。
本发明的有益效果是:该方法在系统开始运行时,对系统中由于任务执行而产生的slack时隙进行保存,每一个要保存的slack时隙都需要记录其空闲时段长度length和死限时间ds,将slack时隙按照死限时间ds递增的顺序保存在时隙队列SQ中;同时对被迫中止执行的低安全关键任务进行回收,每一个被回收的任务需要记录其剩余执行时间cs和任务死限时间dw,按照任务优先级递减的顺序保存在任务回收队列REQ_C中。取出任务回收队列REQ_C中优先级最高的任务,根据任务死限时间和空闲时隙slack的死限时间的比较,找到可以对任务进行调度的slack时隙,对任务进行再分配。本发明采用回收再分配方法可以提高低安全关键任务的调度成功率,同时,slack空闲时隙的利用减少了处理器的空转期,提高了处理器的利用率。
下面结合附图和具体实施方式对本发明作详细说明。
附图说明
图1是本发明基于回收再分配的低安全关键任务调度方法的流程图。
具体实施方式
参照图1。本发明基于回收再分配的低安全关键任务调度方法具体步骤如下:
步骤一、在系统开始运行的时候,使用一个全局的空闲时隙队列SQ对任务执行产生的slack时隙sq进行回收。当一个任务执行完毕后,记录其空闲时隙长度length,由公式(1)计算得到;同时还要记录空闲时隙的死限时间ds。将空闲时隙sq以死限时间ds递增的顺序存放在空闲时隙队列SQ中。
步骤二、在任务调度的过程中,对被迫中止执行的低安全关键任务进行回收,在进行回收时,记录任务的剩余执行时间由公式(2)计算得到;同时记录任务的死限时间di,然后,按任务优先级递减的顺序存放在回收队列REQ_C中。
步骤三、判断回收队列REQ_C是否为空,若为空,则表示被迫终止的低安全关键任务都已经完成再分配,跳转步骤九;若不为空,跳转步骤四。
步骤四、从回收队列REQ_C中取出优先级最高的低安全关键任务wlsk,同时找出空闲时隙队列SQ中死限时间大于任务wlsk死限时间的空闲时段sq。
步骤五、判断在空闲时段sq的时间区间内,任务wlsk是否可以获取到执行所需的资源,如果可以,跳转步骤六;如果不可以,跳转步骤九。
步骤六、判断空闲时段sq的时段长度是否大于任务剩余执行时间,如果空闲时段时间小于任务剩余执行时间,跳转步骤七;如果空闲时段时间大于任务剩余执行时间,跳转步骤八;如果空闲时段时间等于任务剩余执行时间,跳转步骤十。
步骤七、将任务wlsk分配到该空闲时段sq执行,这种情况下,空闲时段sq会被消耗完,但是任务并没有执行完毕。在回收队列REQ_C中更新任务wlsk的剩余执行时间由公式(3)计算得到;在空闲时段队列SQ中删除该空闲时段sq,跳转步骤三。
步骤八、将任务wlsk分配到该空闲时段sq执行,这种情况下,任务wlsk会执行完毕,但是空闲时段sq并不会被消耗完。在空闲时段队列SQ中更新空闲时段sq的长度信息lengthn,由公式(4)计算得到;跳转步骤十。
步骤九、任务再分配失败。
步骤十、任务再分配成功。
Claims (1)
1.一种基于回收再分配的低安全关键任务调度方法,其特征在于包括以下步骤:
步骤一、在系统开始运行时,使用一个全局的空闲时隙队列SQ对任务执行产生的slack时隙sq进行回收;当一个任务执行完毕后,记录其空闲时隙长度length,由公式(1)计算得到;同时记录空闲时隙的死限时间ds;将空闲时隙sq以死限时间ds递增的顺序存放在空闲时隙队列SQ中;
步骤二、在任务调度过程中,对被迫中止执行的低安全关键任务进行回收,在进行回收时,记录任务的剩余执行时间由公式(2)计算得到;同时记录任务的死限时间di,然后,按任务优先级递减的顺序存放在回收队列REQ_C中;
步骤三、判断回收队列REQ_C是否为空,若为空,则表示被迫终止的低安全关键任务都已经完成再分配,跳转步骤九;若不为空,跳转步骤四;
步骤四、从回收队列REQ_C中取出优先级最高的低安全关键任务wlsk,同时找出空闲时隙队列SQ中死限时间大于任务wlsk死限时间的空闲时段sq;
步骤五、判断在空闲时段sq的时间区间内,任务wlsk是否获取到执行所需的资源,如果获取到执行所需资源,跳转步骤六;如果未获取到执行所需资源,跳转步骤九;
步骤六、判断空闲时段sq的时段长度是否大于任务剩余执行时间,如果空闲时段时间小于任务剩余执行时间,跳转步骤七;如果空闲时段时间大于任务剩余执行时间,跳转步骤八;如果空闲时段时间等于任务剩余执行时间,跳转步骤十;
步骤七、将任务wlsk分配到该空闲时段sq执行,这种情况下,空闲时段sq会被消耗完,但是任务并没有执行完毕;在回收队列REQ_C中更新任务wlsk的剩余执行时间由公式(3)计算得到;在空闲时段队列SQ中删除该空闲时段sq,跳转步骤三;
步骤八、将任务wlsk分配到该空闲时段sq执行,这种情况下,任务wlsk会执行完毕,但是空闲时段sq并不会被消耗完;在空闲时段队列SQ中更新空闲时段sq的长度信息lengthn,由公式(4)计算得到;跳转步骤十;
步骤九、任务再分配失败;
步骤十、任务再分配成功。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911092361.2A CN111045799B (zh) | 2019-11-11 | 2019-11-11 | 基于回收再分配的低安全关键任务调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911092361.2A CN111045799B (zh) | 2019-11-11 | 2019-11-11 | 基于回收再分配的低安全关键任务调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111045799A true CN111045799A (zh) | 2020-04-21 |
CN111045799B CN111045799B (zh) | 2023-03-14 |
Family
ID=70232633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911092361.2A Active CN111045799B (zh) | 2019-11-11 | 2019-11-11 | 基于回收再分配的低安全关键任务调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111045799B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111459648A (zh) * | 2020-06-17 | 2020-07-28 | 北京机电工程研究所 | 面向应用程序的异构多核平台资源优化方法和装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100088706A1 (en) * | 2008-10-07 | 2010-04-08 | Futurewei Technologies, Inc. | User Tolerance Based Scheduling Method for Aperiodic Real-Time Tasks |
CN103984595A (zh) * | 2014-05-16 | 2014-08-13 | 哈尔滨工程大学 | 一种异构cmp的静态任务调度方法 |
US20160034314A1 (en) * | 1999-06-21 | 2016-02-04 | Jia Xu | Method of computing latest start times to allow real-time process overruns |
CN105700941A (zh) * | 2015-12-18 | 2016-06-22 | 西安工业大学 | 三维调度器模型及其调度算法 |
CN108701055A (zh) * | 2016-04-28 | 2018-10-23 | 日立汽车系统株式会社 | 车辆控制装置和车辆系统 |
CN109308216A (zh) * | 2018-03-27 | 2019-02-05 | 天津大学 | 一种针对不精确计算的单核系统实时任务调度方法 |
CN109558227A (zh) * | 2018-11-12 | 2019-04-02 | 中国航空工业集团公司西安飞行自动控制研究所 | 一种基于任务执行预算的单调速率任务调度方法 |
CN110187956A (zh) * | 2019-05-07 | 2019-08-30 | 中国科学院软件研究所 | 一种多智能体平台的分层实时任务调度方法和系统 |
-
2019
- 2019-11-11 CN CN201911092361.2A patent/CN111045799B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160034314A1 (en) * | 1999-06-21 | 2016-02-04 | Jia Xu | Method of computing latest start times to allow real-time process overruns |
US20100088706A1 (en) * | 2008-10-07 | 2010-04-08 | Futurewei Technologies, Inc. | User Tolerance Based Scheduling Method for Aperiodic Real-Time Tasks |
CN103984595A (zh) * | 2014-05-16 | 2014-08-13 | 哈尔滨工程大学 | 一种异构cmp的静态任务调度方法 |
CN105700941A (zh) * | 2015-12-18 | 2016-06-22 | 西安工业大学 | 三维调度器模型及其调度算法 |
CN108701055A (zh) * | 2016-04-28 | 2018-10-23 | 日立汽车系统株式会社 | 车辆控制装置和车辆系统 |
CN109308216A (zh) * | 2018-03-27 | 2019-02-05 | 天津大学 | 一种针对不精确计算的单核系统实时任务调度方法 |
CN109558227A (zh) * | 2018-11-12 | 2019-04-02 | 中国航空工业集团公司西安飞行自动控制研究所 | 一种基于任务执行预算的单调速率任务调度方法 |
CN110187956A (zh) * | 2019-05-07 | 2019-08-30 | 中国科学院软件研究所 | 一种多智能体平台的分层实时任务调度方法和系统 |
Non-Patent Citations (4)
Title |
---|
A. MANZAK: ""Variable voltage task scheduling algorithms for minimizing energy/power"", 《 IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS》 * |
RONI_I: ""多级反馈队列调度算法"", 《HTTPS://WWW.CNBLOGS.COM/RONI-I/P/10291822.HTML》 * |
刘樑骄: ""异构系统双关键级分布式功能的动态调度"", 《计算机研究与发展》 * |
朱怡安: ""多核平台下分区操作系统的安全关键任务调度方法"", 《计算机工程》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111459648A (zh) * | 2020-06-17 | 2020-07-28 | 北京机电工程研究所 | 面向应用程序的异构多核平台资源优化方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111045799B (zh) | 2023-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9563470B2 (en) | Backfill scheduling for embarrassingly parallel jobs | |
CN101599027B (zh) | 一种线程池管理方法及其系统 | |
US8261269B2 (en) | System and method for synchronizing transient resource usage between virtual machines in a hypervisor environment | |
CN107368362B (zh) | 一种对于磁盘读写数据的多线程/多进程无锁处理方法及系统 | |
US20150121388A1 (en) | Task scheduling method for dispatching tasks based on computing power of different processor cores in heterogeneous multi-core processor system and related non-transitory computer readable medium | |
US10783163B2 (en) | Instance-based distributed data recovery method and apparatus | |
US8484649B2 (en) | Amortizing costs of shared scans | |
JP2020095441A (ja) | 演算制御装置 | |
US8458710B2 (en) | Scheduling jobs for execution on a computer system | |
CN104932933A (zh) | 一种获取自旋锁的方法及装置 | |
CN101178701A (zh) | 一种多处理器间通信的方法及系统 | |
CN111045799B (zh) | 基于回收再分配的低安全关键任务调度方法 | |
CN104252386A (zh) | 数据更新的加锁方法和设备 | |
CN107357640B (zh) | 多线程数据库的请求处理方法及装置、电子设备 | |
CN109614222B (zh) | 一种多线程资源分配方法 | |
CN116244085A (zh) | Kubernetes集群容器组调度方法、装置及介质 | |
US11816534B2 (en) | Hotswapping qubits for resource-limited quantum computing devices | |
CN114297002A (zh) | 一种基于对象存储的海量数据备份方法及系统 | |
CN112256418B (zh) | 一种大数据任务调度方法 | |
WO2024119930A1 (zh) | 调度方法、装置、计算机设备和存储介质 | |
CN117555816A (zh) | 内存回收方法、装置、计算设备及计算机存储介质 | |
CN110349635B (zh) | 一种基因测序数据质量分数的并行压缩方法 | |
CN1851651A (zh) | 嵌入式sram操作系统进程优先权调度的实现方法 | |
US8689222B2 (en) | Controlling priority of multi-threaded hardware resources by system calls | |
CN115686789A (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 |