CN112799821A - 一种调度多个执行时机可变的周期任务的方法 - Google Patents
一种调度多个执行时机可变的周期任务的方法 Download PDFInfo
- Publication number
- CN112799821A CN112799821A CN202110165599.4A CN202110165599A CN112799821A CN 112799821 A CN112799821 A CN 112799821A CN 202110165599 A CN202110165599 A CN 202110165599A CN 112799821 A CN112799821 A CN 112799821A
- Authority
- CN
- China
- Prior art keywords
- task
- time
- execution
- scheduling
- executed
- 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.)
- Pending
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/5027—Allocation 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/5038—Allocation 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
-
- 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/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
-
- 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)
Abstract
本发明公开了一种调度多个执行时机可变的周期任务的方法,将所有任务的执行时机和进行调度的时刻映射到同一个时刻序列中,比较得到下一个要执行的任务,完成调度,从而使得调度计算次数与任务执行的次数相等,减少不必要的中断处理操作,适应执行时机和周期常变的周期任务调度需求。
Description
技术领域
本发明涉及多任务调度技术领域,具体涉及一种调度多个执行时机可变的周期任务的方法。
背景技术
现有的多任务调度算法主要侧重研究根据任务优先度和复杂度、设备负载情况等选择要执行的任务,或者确定调度任务周期等选择要执行的任务,而未考虑已经有多个周期任务需要执行的情况。针对这一问题,现有技术中根据所有任务执行周期的最大公约数设置时钟中断,中断时检查各任务是否满足执行条件,即自有的计数变量恰好为:自身周期除以最大公约数。这样减少了CPU消耗,计算简单。
但这一方法要在第一次中断的时候离第一项任务的执行时机相差比较大(从而公约数可以比较大)的时候,性能优势才明显。而一种实际场景是,所有周期任务的执行时机、周期由于用户操作等经常发生不规律的变化,此时重新进行调度,可能下一次执行时机非常近,不能发挥算法的优点。
发明内容
针对现有技术的不足,本发明旨在提供一种调度多个执行时机可变的周期任务的方法。
为了实现上述目的,本发明采用如下技术方案:
一种调度多个执行时机可变的周期任务的方法,具体过程如下:
S1、按设定的循环周期长度T产生一个时刻序列,任务Ni,i=1,2,3......的执行时机落在时刻序列上的固定位置;
S2、当任务信息发生改变而需要重新计算任务的执行时机时,将计算到的下次任务执行时机发生的时刻映射到时刻序列中,从而在时刻序列上找到与之距离最近的执行时机的时刻,执行对应的任务,并将两者相差的时间设为休眠或中断定时,在任务执行的同时进行下次调度的任务执行时机的计算。
进一步地,上述方法中,对于只在其中固定数量周期内执行的任务,在进行步骤S1时,在任务内部设置一个代表待执行次数的计数变量,每执行一次后计数变量自减1,直至计数变量的值为0后将该任务移出待执行任务队列。
本发明的有益效果在于:本发明方法将所有任务的执行时机和进行调度的时刻映射到同一个时刻序列中,比较得到下一个要执行的任务,完成调度,从而使得调度计算次数与任务执行的次数相等,减少不必要的中断处理操作,适应执行时机和周期常变的周期任务调度需求。
附图说明
图1为本发明方法的实施示意图。
具体实施方式
以下将结合附图对本发明作进一步的描述,需要说明的是,本实施例以本技术方案为前提,给出了详细的实施方式和具体的操作过程,但本发明的保护范围并不限于本实施例。
本实施例提供一种调度多个执行时机可变的周期任务的方法,具体过程如下:
按设定的循环周期长度T产生一个时刻序列,任务Ni(i=1,2,3......)的执行时机落在时刻序列上的固定位置。
当任务信息发生改变而需要重新计算任务的执行时机时,如图1所示,将计算到的下次任务执行时机(称为一次调度)发生的时刻映射到时刻序列中,从而在时刻序列上找到与之距离最近的执行时机的时刻,执行对应的任务,并将两者相差的时间设为休眠或中断定时,在任务执行的同时进行下次调度的任务执行时机的计算。
对于只在其中固定数量周期内执行的任务(例如在本实施例中,N2本应只在第一个周期内执行),在映射每个任务的执行时机并构造待执行任务队列时,在任务内部设置一个代表待执行次数的计数变量,每执行一次后计数变量自减1,直至计数变量的值为0后将该任务移出待执行任务队列。对于需要长期循环执行的任务,计数变量的初始值可置为一个足够大的数字(如32位有符号整型的上限231-1)。
例如,如果希望N2至少执行一次,将计数变量初始值置为1,在周期T-2T执行完时计数变量减为0,此时将N2移出队列,这样再次调度时就会跳过N2并读取下一个任务的数据,实现期望的动作。这些判断条件可以内置到任务数据内部,用户设置任务的时候可以自定义期望的动作,调度时即可加以判断。
对于本领域的技术人员来说,可以根据以上的技术方案和构思,给出各种相应的改变和变形,而所有的这些改变和变形,都应该包括在本发明权利要求的保护范围之内。
Claims (2)
1.一种调度多个执行时机可变的周期任务的方法,其特征在于,具体过程如下:
S1、按设定的循环周期长度T产生一个时刻序列,任务Ni,i=1,2,3......的执行时机落在时刻序列上的固定位置;
S2、当任务信息发生改变而需要重新计算任务的执行时机时,将计算到的下次任务执行时机发生的时刻映射到时刻序列中,从而在时刻序列上找到与之距离最近的执行时机的时刻,执行对应的任务,并将两者相差的时间设为休眠或中断定时,在任务执行的同时进行下次调度的任务执行时机的计算。
2.根据权利要求1所述的方法,其特征在于,对于只在其中固定数量周期内执行的任务,在进行步骤S1时,在任务内部设置一个代表待执行次数的计数变量,每执行一次后计数变量自减1,直至计数变量的值为0后将该任务移出待执行任务队列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110165599.4A CN112799821A (zh) | 2021-02-06 | 2021-02-06 | 一种调度多个执行时机可变的周期任务的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110165599.4A CN112799821A (zh) | 2021-02-06 | 2021-02-06 | 一种调度多个执行时机可变的周期任务的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112799821A true CN112799821A (zh) | 2021-05-14 |
Family
ID=75814581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110165599.4A Pending CN112799821A (zh) | 2021-02-06 | 2021-02-06 | 一种调度多个执行时机可变的周期任务的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112799821A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101510163A (zh) * | 2009-04-07 | 2009-08-19 | 金蝶软件(中国)有限公司 | 一种计划任务的处理方法及系统 |
JP2010262471A (ja) * | 2009-05-07 | 2010-11-18 | Mitsubishi Electric Corp | 並列化スケジューリング装置 |
CN103491174A (zh) * | 2013-09-26 | 2014-01-01 | 中国船舶重工集团公司第七一六研究所 | 基于延迟服务器的周期/非周期混合实时任务调度方法 |
CN104699533A (zh) * | 2013-12-09 | 2015-06-10 | 中国航空工业集团公司第六三一研究所 | 一种多个周期任务的调度方法 |
-
2021
- 2021-02-06 CN CN202110165599.4A patent/CN112799821A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101510163A (zh) * | 2009-04-07 | 2009-08-19 | 金蝶软件(中国)有限公司 | 一种计划任务的处理方法及系统 |
JP2010262471A (ja) * | 2009-05-07 | 2010-11-18 | Mitsubishi Electric Corp | 並列化スケジューリング装置 |
CN103491174A (zh) * | 2013-09-26 | 2014-01-01 | 中国船舶重工集团公司第七一六研究所 | 基于延迟服务器的周期/非周期混合实时任务调度方法 |
CN104699533A (zh) * | 2013-12-09 | 2015-06-10 | 中国航空工业集团公司第六三一研究所 | 一种多个周期任务的调度方法 |
Non-Patent Citations (1)
Title |
---|
刘娴 等: "数控系统中基于预分配的混合任务调度算法", 《计算机集成制造系统》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10649935B2 (en) | Deferred inter-processor interrupts | |
US6360243B1 (en) | Method, device and article of manufacture for implementing a real-time task scheduling accelerator | |
US6430593B1 (en) | Method, device and article of manufacture for efficient task scheduling in a multi-tasking preemptive priority-based real-time operating system | |
US9632822B2 (en) | Multi-core device and multi-thread scheduling method thereof | |
US6128672A (en) | Data transfer using software interrupt service routine between host processor and external device with queue of host processor and hardware queue pointers on external device | |
US20190107874A1 (en) | Method and Apparatus for Managing Global Chip Power on a Multicore System on Chip | |
CN110199241A (zh) | 自适应功率控制环路 | |
WO2005106623A1 (ja) | Cpuクロック制御装置、cpuクロック制御方法、cpuクロック制御プログラム、記録媒体、及び伝送媒体 | |
EP3391211B1 (en) | Controlling scheduling of a gpu | |
EP2551767B1 (en) | Method and device for adjusting clock interrupt cycle | |
CN102270156A (zh) | 一种实时嵌入式系统定时器管理方法 | |
WO2017080276A1 (zh) | 资源管理方法和系统、计算机存储介质 | |
JP2009025939A (ja) | タスク制御方法及び半導体集積回路 | |
CN106293947B (zh) | 虚拟化云环境下gpu-cpu混合资源分配系统和方法 | |
JP2008234638A (ja) | 処理装置用制御器 | |
KR20090120970A (ko) | 인터럽트 스케줄링 방법 | |
CN100511155C (zh) | 无积累误差和自适应定时器实现方法 | |
CN112799821A (zh) | 一种调度多个执行时机可变的周期任务的方法 | |
JP2008217628A (ja) | Cpuの省電力システム及び省電力方法 | |
Wada et al. | Fast interrupt handling scheme by using interrupt wake-up mechanism | |
US9690616B2 (en) | Based on natural load determination either adjust processor sleep time or generate artificial load | |
KR20090070071A (ko) | 소형 저전력 임베디드 시스템 및 그의 선점 회피 방법 | |
WO2002099639A1 (en) | Method and apparatus to use task priority to scale processor performance | |
JP2022550064A (ja) | マルチスレッドマイクロプロセッサにおける共有リソース割り当て | |
CN108090001B (zh) | 一种内核dma稳态调度方法及装置 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210514 |
|
RJ01 | Rejection of invention patent application after publication |