CN109684060B - 一种多类型时间关键任务的混合调度方法 - Google Patents
一种多类型时间关键任务的混合调度方法 Download PDFInfo
- Publication number
- CN109684060B CN109684060B CN201811579304.2A CN201811579304A CN109684060B CN 109684060 B CN109684060 B CN 109684060B CN 201811579304 A CN201811579304 A CN 201811579304A CN 109684060 B CN109684060 B CN 109684060B
- Authority
- CN
- China
- Prior art keywords
- task
- priority
- time
- condition
- processor
- 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.)
- Active
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/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4831—Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
-
- 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
-
- 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
技术领域
本发明属于计算机领域,提供一种多类型时间关键任务的混合调度方法。
背景技术
随着分布式系统规模和复杂程度的不断增加,系统内部将包含信息处理、人机交互、机电控制、传感器等多种处理对象,其任务类型和处理流程各不相同,任务的重要程度和实时性要求也存在较大差异,多类型时间关键任务的混合调度对分布式系统的运行效率具有重大影响。如何在保证系统确定性的同时,具有较高的系统运行效率称为急需解决的问题。
发明内容
该方法面向大规模分布式系统的任务调度,根据不同任务类型的重要程度和实时性要求采取不同的调度方法,将任务划分为关键任务、重要任务、紧急任务、一般任务、适时任务五种类型。基于时间、事件两种激活原则,时长、非时长两种控制原则,结合优先级可调节的原理,分别对五种类型任务实施激活和调度,最终在多任务系统中,既确保了核心任务执行的确定性,又确保了非核心任务执行的效率。
第一方面,提供一种任务调度方法,包括:
当一个目标任务达到触发条件时,获取处理器的工作状态;
若所述处理器处于空闲状态,则直接执行所述目标任务;
若所述处理器处于忙状态,且所述目标任务的优先级高于正在执行的当前任务的优先级时,则抢占所述当前任务占用所述处理器的资源,执行所述目标任务;
若所述处理器处于忙状态,且所述目标任务的优先级等于或低于当前任务,则等待执行,直至所述处理器空闲,或所述处理器忙且所述目标任务优先级高于正在执行的任务的情况出现。
进一步的,所述处理器执行的任务包括关键任务、重要任务、紧急任务、一般任务、适时任务五种类型。
进一步的,其特征在于:
所述关键任务的触发条件是关键时间条件,所述关键时间条件包含:
激活时刻和运行时长,当激活时刻来临时,分配一个固定运行时长给该任务运行,关键任务在这个时长内享有最高优先级,无论任务处于什么状态、是否需要运行,同时在时长外挂起该任务;
所述重要任务的触发条件是重要时间条件,所述重要时间条件包含:
激活时刻和运行时长,当激活时刻来临时,激活执行该重要任务,该重要任务的优先级根据任务的重要程度,设置为最低优先级至次高优先级之间的任意一个,如果运行时长任务运行完毕,则自动挂起;未完毕,则根据任务重要程度,调低优先级;
所述紧急任务的触发条件是紧急事件条件,所述紧急事件条件为:
当事件发生后,紧急任务被激活,其优先级根据任务的重要程度和等待时间设置,紧急任务根据重要程度有一个初始优先级,设置为最低优先级至次高优先级之间的任意一个,同时优先级可以根据等待时间逐级累加,紧急任务运行完毕后挂起;
所述一般任务的触发条件是一般事件条件,所述一般事件条件为:
当事件发生后,一般任务被激活,其优先级根据任务的重要程度,设置为最低优先级至次高优先级之间的任意一个,但优先级不再调整,一般任务运行完毕后自动挂起;
所述适时任务的触发条件是适时事件条件,所述适时事件条件为:
当事件发生后,适时任务被激活,其优先级根据任务的重要程度,设置为最低优先级至次高优先级之间的任意一个,但当运行时间临近任务截止时间时,优先级可累加调整,适时任务运行完毕后挂起。
第二方面,提供一种任务调度装置,包括:
获取模块,用于当一个目标任务达到触发条件时,获取处理器的工作状态;
运行模块,若所述处理器处于空闲状态,则直接执行所述目标任务;若所述处理器处于忙状态,且所述目标任务的优先级高于正在执行的当前任务的优先级时,则抢占所述当前任务占用所述处理器的资源,执行所述目标任务;若所述处理器处于忙状态,且所述目标任务的优先级等于或低于当前任务,则等待执行,直至所述处理器空闲,或所述处理器忙且所述目标任务优先级高于正在执行的任务的情况出现。
第三方面,提供一种计算机可读的存储介质,所述存储介质上存储有指令,所述指令被处理器执行时实现所述第一方面任一项所述方法的步骤。
本发明的优点在于:本方法通过基于多类型时间关键任务的混合调度方法,实现了大规模分布式处理系统中多种类型任务的高效调度管理,提高处理系统的资源利用率和运行效率。
附图说明
图1为多类型时间关键任务的混合调度方法。
具体实施方式
以下结合附图对本发明进行详述。
如图1所示,一种多类型时间关键任务的混合调度方法,将处理器所运行的任务根据任务的优先级和触发条件进行分类,包括关键任务、重要任务、紧急任务、一般任务、适时任务五种类型。
当一个目标任务达到触发条件时,则获取处理器的工作状态。如果处理器处于空闲状态,则直接运行;如果处理器处于忙状态,且该目标任务的优先级高于当前任务,则抢占执行;如果处理器处于忙状态,且该目标任务的优先级等于或低于当前任务,则等待执行,直至处理器空闲,或处理器忙但目标任务优先级低于当前任务时再运行。
具体每种任务的优先级和触发条件是:
(1)关键任务的触发条件是时间,包含激活时刻和运行时长,当激活时刻来临时,分配一个固定运行时长给该任务运行,关键任务在这个时长内享有最高优先级,无论任务处于什么状态、是否需要运行,同时在时长外挂起该任务;
(2)重要任务的触发条件是时间,包含激活时刻和运行时长,当激活时刻来临时,激活执行该重要任务,该重要任务的优先级根据任务的重要程度,可设置为最低优先级至次高优先级之间的任意一个,如果运行时长任务运行完毕,则自动挂起;未完毕,则根据任务重要程度,调低优先级;
(3)紧急任务的触发条件是事件,当事件发生后,紧急任务被激活,其优先级根据任务的重要程度和等待时间设置,根据任务的重要程度,紧急任务有一个初始优先级,可以是最低优先级至次高优先级之间的任意一个,同时优先级可以根据等待时间逐级累加,紧急任务运行完毕后挂起;
(4)一般任务的触发条件是事件,当事件发生后,一般任务被激活,其优先级根据任务的重要程度,可以是最低优先级至次高优先级之间的任意一个,但优先级不再调整,一般任务运行完毕后自动挂起;
(5)适时任务的触发条件是事件,当事件发生后,适时任务被激活,其优先级根据任务的重要成都,可以是最低优先级至次高优先级之间的任意一个,但当运行时间临近任务截止时间时,优先级可累加调整,适时任务运行完毕后挂起。
Claims (3)
1.一种任务调度方法,其特征在于,包括:
当一个目标任务达到触发条件时,获取处理器的工作状态;
若所述处理器处于空闲状态,则直接执行所述目标任务;
若所述处理器处于忙状态,且所述目标任务的优先级高于正在执行的当前任务的优先级时,则抢占所述当前任务占用所述处理器的资源,执行所述目标任务;
若所述处理器处于忙状态,且所述目标任务的优先级等于或低于当前任务,则等待执行,直至所述处理器空闲,或所述处理器忙且所述目标任务优先级高于正在执行的任务的情况出现;
所述处理器执行的任务包括关键任务、重要任务、紧急任务、一般任务、适时任务五种类型;
所述关键任务的触发条件是关键时间条件,所述关键时间条件包含:
激活时刻和运行时长,当激活时刻来临时,分配一个固定运行时长给该任务运行,关键任务在这个时长内享有最高优先级,无论任务处于什么状态、是否需要运行,同时在时长外挂起该任务;
所述重要任务的触发条件是重要时间条件,所述重要时间条件包含:
激活时刻和运行时长,当激活时刻来临时,激活执行该重要任务,该重要任务的优先级根据任务的重要程度,设置为最低优先级至次高优先级之间的任意一个,如果运行时长任务运行完毕,则自动挂起;未完毕,则根据任务重要程度,调低优先级;
所述紧急任务的触发条件是紧急事件条件,所述紧急事件条件为:
当事件发生后,紧急任务被激活,其优先级根据任务的重要程度和等待时间设置,紧急任务根据重要程度有一个初始优先级,设置为最低优先级至次高优先级之间的任意一个,同时优先级可以根据等待时间逐级累加,紧急任务运行完毕后挂起;
所述一般任务的触发条件是一般事件条件,所述一般事件条件为:
当事件发生后,一般任务被激活,其优先级根据任务的重要程度,设置为最低优先级至次高优先级之间的任意一个,但优先级不再调整,一般任务运行完毕后自动挂起;
所述适时任务的触发条件是适时事件条件,所述适时事件条件为:
当事件发生后,适时任务被激活,其优先级根据任务的重要程度,设置为最低优先级至次高优先级之间的任意一个,但当运行时间临近任务截止时间时,优先级可累加调整,适时任务运行完毕后挂起。
2.一种任务调度装置,其特征在于,包括:
获取模块,用于当一个目标任务达到触发条件时,获取处理器的工作状态;
运行模块,若所述处理器处于空闲状态,则直接执行所述目标任务;若所述处理器处于忙状态,且所述目标任务的优先级高于正在执行的当前任务的优先级时,则抢占所述当前任务占用所述处理器的资源,执行所述目标任务;若所述处理器处于忙状态,且所述目标任务的优先级等于或低于当前任务,则等待执行,直至所述处理器空闲,或所述处理器忙且所述目标任务优先级高于正在执行的任务的情况出现;
所述处理器执行的任务包括关键任务、重要任务、紧急任务、一般任务、适时任务五种类型;
所述关键任务的触发条件是关键时间条件,所述关键时间条件包含:
激活时刻和运行时长,当激活时刻来临时,分配一个固定运行时长给该任务运行,关键任务在这个时长内享有最高优先级,无论任务处于什么状态、是否需要运行,同时在时长外挂起该任务;
所述重要任务的触发条件是重要时间条件,所述重要时间条件包含:
激活时刻和运行时长,当激活时刻来临时,激活执行该重要任务,该重要任务的优先级根据任务的重要程度,设置为最低优先级至次高优先级之间的任意一个,如果运行时长任务运行完毕,则自动挂起;未完毕,则根据任务重要程度,调低优先级;
所述紧急任务的触发条件是紧急事件条件,所述紧急事件条件为:
当事件发生后,紧急任务被激活,其优先级根据任务的重要程度和等待时间设置,紧急任务根据重要程度有一个初始优先级,设置为最低优先级至次高优先级之间的任意一个,同时优先级可以根据等待时间逐级累加,紧急任务运行完毕后挂起;
所述一般任务的触发条件是一般事件条件,所述一般事件条件为:
当事件发生后,一般任务被激活,其优先级根据任务的重要程度,设置为最低优先级至次高优先级之间的任意一个,但优先级不再调整,一般任务运行完毕后自动挂起;
所述适时任务的触发条件是适时事件条件,所述适时事件条件为:
当事件发生后,适时任务被激活,其优先级根据任务的重要程度,设置为最低优先级至次高优先级之间的任意一个,但当运行时间临近任务截止时间时,优先级可累加调整,适时任务运行完毕后挂起。
3.一种计算机可读的存储介质,所述存储介质上存储有指令,其特征在于,所述指令被处理器执行时实现所述权利要求1所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811579304.2A CN109684060B (zh) | 2018-12-21 | 2018-12-21 | 一种多类型时间关键任务的混合调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811579304.2A CN109684060B (zh) | 2018-12-21 | 2018-12-21 | 一种多类型时间关键任务的混合调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109684060A CN109684060A (zh) | 2019-04-26 |
CN109684060B true CN109684060B (zh) | 2023-05-23 |
Family
ID=66188865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811579304.2A Active CN109684060B (zh) | 2018-12-21 | 2018-12-21 | 一种多类型时间关键任务的混合调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109684060B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110231993A (zh) * | 2019-06-19 | 2019-09-13 | 爱驰汽车有限公司 | 电池管理方法、装置、电子设备、存储介质 |
CN110456752B (zh) * | 2019-08-19 | 2020-12-01 | 蘑菇物联技术(深圳)有限公司 | 一种基于计划调度与算法调度结合的空压站控制方法 |
CN110928657B (zh) * | 2019-11-18 | 2023-05-02 | 西北工业大学 | 嵌入式系统确定性分析方法 |
CN111488210B (zh) * | 2020-04-02 | 2023-04-07 | 腾讯科技(深圳)有限公司 | 基于云计算的任务调度方法、装置和计算机设备 |
CN113900790A (zh) * | 2020-06-22 | 2022-01-07 | 中创为(成都)量子通信技术有限公司 | 一种自适应动态清理需老化tcp连接的方法 |
CN114327843A (zh) * | 2020-09-29 | 2022-04-12 | 华为技术有限公司 | 任务调度方法及装置 |
CN113985818B (zh) * | 2021-10-25 | 2023-06-27 | 西安热工研究院有限公司 | 汽轮机伺服卡任务调度方法、调度系统及汽轮机伺服卡 |
CN114356547B (zh) * | 2021-12-07 | 2023-03-14 | 北京百度网讯科技有限公司 | 基于处理器虚拟化环境的低优阻塞方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4206653B2 (ja) * | 2001-07-13 | 2009-01-14 | 日本電気株式会社 | タスクスケジューリングシステムおよび方法、プログラム |
FR2923039A1 (fr) * | 2007-10-24 | 2009-05-01 | Centre Nat Rech Scient | Procede de gestion des preemptions dans un systeme d'exploitation en temps reel |
CN101887383B (zh) * | 2010-06-30 | 2013-08-21 | 中山大学 | 一种进程实时调度方法 |
CN102043667A (zh) * | 2010-11-25 | 2011-05-04 | 深圳市科陆电子科技股份有限公司 | 一种嵌入式操作系统的任务调度方法 |
CN102722402B (zh) * | 2012-05-28 | 2014-03-05 | 上海微频莱机电科技有限公司 | 一种非抢占式实时调度多任务的处理系统及方法 |
-
2018
- 2018-12-21 CN CN201811579304.2A patent/CN109684060B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109684060A (zh) | 2019-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109684060B (zh) | 一种多类型时间关键任务的混合调度方法 | |
CN101452404B (zh) | 一种嵌入式操作系统的任务调度装置及方法 | |
CN111399989B (zh) | 一种面向容器云的任务抢占调度方法及系统 | |
US8056083B2 (en) | Dividing a computer job into micro-jobs for execution | |
CN102096603B (zh) | MapReduce系统中的作业分解控制方法及设备 | |
CN102541642B (zh) | 一种增强实时性能的任务管理方法 | |
CN102043667A (zh) | 一种嵌入式操作系统的任务调度方法 | |
CN104111877A (zh) | 一种基于线程调配引擎的线程资源动态调配系统和方法 | |
CN106557369A (zh) | 一种多线程的管理方法及系统 | |
CN107577539B (zh) | 用于内核态和用户态通讯的共享内存结构及其应用 | |
CN101963922A (zh) | 任务处理方法和装置 | |
CN111897637B (zh) | 作业调度方法、装置、主机及存储介质 | |
CN102455933A (zh) | 一种通过线程管理提高多任务处理效率的方法 | |
EP3376381A1 (en) | Resource management method and system, and computer storage medium | |
CN101968749B (zh) | 虚拟机过度分配环境下的mpi消息接收方法 | |
CN105373425A (zh) | 一种嵌入式Linux系统性能优化的方法及装置 | |
CN114327894A (zh) | 资源分配方法、装置、电子设备及存储介质 | |
CN109656716B (zh) | 一种Slurm作业调度方法及系统 | |
CN103677959A (zh) | 一种基于组播的虚拟机集群迁移方法及系统 | |
CN111897635A (zh) | 一种基于时间触发的硬实时和软实时的任务调度方法 | |
RU2450330C2 (ru) | Аппаратно-реализуемый способ выполнения программ | |
CN102163163A (zh) | 无线传感器网络传感器小节点操作系统及其实现方法 | |
CN113986484B (zh) | 社交软件的任务处理全局调度方法 | |
CN110347461B (zh) | 基于迁移工作流的飞机驾驶舱人机界面信息调度系统及方法 | |
KR20150089665A (ko) | 워크플로우 작업 스케줄링 장치 |
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 |