CN1936776A - 面向嵌入式系统低功耗实时任务调度的简化方法 - Google Patents
面向嵌入式系统低功耗实时任务调度的简化方法 Download PDFInfo
- Publication number
- CN1936776A CN1936776A CNA2006100538170A CN200610053817A CN1936776A CN 1936776 A CN1936776 A CN 1936776A CN A2006100538170 A CNA2006100538170 A CN A2006100538170A CN 200610053817 A CN200610053817 A CN 200610053817A CN 1936776 A CN1936776 A CN 1936776A
- Authority
- CN
- China
- Prior art keywords
- real
- time
- task
- time task
- frequency
- 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
-
- 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
- Power Sources (AREA)
Abstract
本发明公开了一种面向嵌入式系统低功耗实时任务调度的简化方法。本发明提供了一种新的方法用来建模、解决并进行优化嵌入式系统低功耗实时任务调度问题。本发明通过利用实时动态调频调压技术和实时时间片轮转模型,达到低功耗实时调度。该发明基于一个实用时间片轮转的任务模型,通过在模型中加入任务的实时性限制来保证任务地实时性。本发明对实时任务的时间片轮换的调度方法进行了简化,在原始的调度方法中,加入了处理器频率控制参数,使系统在运行过程中,通过计算任务的实时需求,获得系统运行最低频率。任务在执行过程中,操作系统使用动态调频调压技术,根据计算结果,实时地调整处理器的状态,以达到节能的目的。
Description
技术领域
本发明涉及基于嵌入式系统软件节能技术领域,特别是涉及一种面向嵌入式系统低功耗实时任务调度的简化方法。
背景技术
在便携式嵌入式设备电源管理领域,目前的困难在于既要满足便携式终端对电源供电的要求,又要做到占用空间小、重量轻和供电时间更长。下一代消费类电子产品的电源解决方案重点应该集中在硬件和软件两方面技术,包括:(1)在小巧外形尺寸下,如何实现所需电源性能的工艺和技术,涉及热管理、降噪、电池管理和功能整合等技术;(2)动态功率管理技术,它取决于CPU性能、软件、中间件以及用户对更换电池的时间间隔等要求;(3)动态功率管理技术对操作系统内核和驱动器,以及应用编程接口(API)对驱动器、中间件和应用本身的影响。
现在嵌入式设备的功能变得越来越强大,功能也越来越丰富。随着嵌入式设备功能越来越多,用户对嵌入式设备电池的能量需求也越来越高,现有的锂离子电池已经越来越难以满足消费者对正常使用时间的要求。对此,业界主要采取两种方法,一是开发具备更高能量密度的新型电池技术,如燃料电池,在可以预见的5年内,电池技术不可能有很大的突破;二是在电池的能量转换效率和节能方面下功夫。在目前新的高能电池技术(如燃料电池)仍不成熟的情况下,下一代手持设备的电源管理只能从提高电源利用率和降低功耗这二个方面着手。
如何延长电池的使用寿命,以及尽量减少电池能量的消耗已经成为嵌入式领域的一个研究热点。现在主要集中在硬件设计和软件优化两方面。其中软件优化方面现在主要包括系统软件和应用软件两方面。系统软件主要集中在编译器和操作系统内核两块。
在操作系统领域,现在主要的电源管理方法是利用操作系统内核,动态的调整系统处理器和总线的频率,降低系统的整体能耗。而且系统可以通过动态频率指令改变系统状态,是系统处于低功耗状态,以达到节能的目的。在编译器方面,现在主要通过编译器在编译应用程序阶段,对代码进行优化,使代码尽量的紧凑以及访问设备尽量集中,以达到节能的目的。
上面的方法中,实现起来都需要比较繁琐的过程,而且没有考虑实时性,在现在嵌入式系统领域的应用存在一定的限制。
发明内容
本发明的目的在于提供一种面向嵌入式系统低功耗实时任务调度的简化方法。
本发明解决其技术问题所采用的技术方案是:
1)实时任务的时间片调度
当实时任务队列中,存在多个实时任务时,系统将通过时间片的方式对系统中的任务进行调度,以满足各个实时任务的需要;
时间片调度的方式是将处理器的运行时间划分等分的时间片,当任务在处理器上运行时,只能运行一个时间片长度,当时间片用完后,被强制停止执行,换下一个任务执行;
2)新实时任务的频率比计算
在实时系统中,一个实时任务它有以下几个参数是确定:任务的开始时间、实时任务的最终期限、以及任务的运行时间;
频率比就是将上面的三个参数进行融合所产生的,频率比的计算方法如下面的公式所示:
pf=p/(e-b)
其中
pf是实时任务的频率比,
p是实时任务实际需要运行的时间,
e是实时任务的最终期限,
b是实时任务的开始时间;
3)总实时任务的频率比计算
当新的实时任务加入到任务运行队列,系统将计算新实时任务的频率比计算,然后计算总任务的频率比;
总实时任务频率比的计算方法如下面的公式所示:
pfsum=pfsum+T.pf
其中pfsum是总实时任务的频率比,
T是新的实时任务的控制字,
pf是新实时任务的频率比;
4)处理器频率设置
调度系统根据总实时任务的频率比计算出一个新的频率值,当新的频率值大于现在的频率时,将处理器的频率设置成新计算出来的频率,否则不变。
本发明与背景技术相比,具有的有益的效果是:
本发明将操作系统的实时性和低功耗调度工作相结合,利用现有操作系统的实时性来保证任务的实时性要求。本发明通过将低功耗调度方法融入到实时的任务调度中,在保证认识实时性的同时,达到低功耗的目的,延长系统电池的使用时间。
(1)实时性:应用程序在系统中运行时,调度算法按照时间片轮换的方法进行调度,保证了系统的实时性。
(2)稳定性:操作系统将动态调整系统状态的权利掌握在自己手中,而不是下放给应用程序,这样系统就能在兼顾全局的情况下动态调整系统的状态,保证系统的稳定。
(3)实用性:利用低功耗实时任务调度的简化方法,可以尽量少的修改系统的代码,达到节能目的。在经过反复的验证,这个方法可以很好的减少程序员的工作量,十分实用。
附图说明
图1是pf值原理图;
图2是整个调度系统工作的流程图。
具体实施方式
在实施嵌入式系统低功耗实时任务调度的简化方法时,操作系统在调度过程中,考虑了实时和节能两个约束。
嵌入式系统低功耗实时任务调度的简化方法具体实现流程如下。
1)实时任务的时间片调度
当实时任务队列中,存在多个实时任务时,系统将通过时间片的方式对系统中的任务进行调度,以满足各个实时任务的需要。
时间片调度的方式是将处理器的运行时间划分等分的时间片,当任务在处理器上运行时,只能运行一个时间片长度,当时间片用完后,被强制停止执行,换下一个任务执行。
当处理器上的任务被调度出去后,调度器选择一个新的任务,并分配时间片给这个新的任务。在这个时间片时间内,这个任务将占有处理器的资源,直到时间片用完或者任务完成。当任务的时间片用完后,任务将被暂时剥夺使用处理器的权利,这个任务将被放到运行队列的末尾,等待下一次被调度到处理器上运行。同时,另外一个任务将被调度到处理器上执行。时间片的轮换保证了所有任务都有运行的机会。
2)新实时任务的频率比计算
在实时系统中,一个实时任务它有以下几个参数是确定:任务的开始时间、实时任务的最终期限、以及任务的运行时间;
频率比就是将上面的三个参数进行融合所产生的,频率比的计算方法如下面的公式所示:
pf=p/(e-b)
其中
pf是实时任务的频率比,
p是实时任务实际需要运行的时间,
e是实时任务的最终期限,
b是实时任务的开始时间;
要保证任务的实时性,系统必须得保证任务在实时任务的最终期限前完成所有工作,通过确保系统在实时任务的最终期限前完成任务的执行来保证系统的实时性。任务实际需要运行的时间说明完成任务需要执行的时间数。
计算pf的值,可以帮助系统在确保实时性的前提下,减少工作的计算量和计算复杂度。pf融合了这三个参数,并且pf也是有实际意义的,一个进程只要声称好自己的pf参数,就可以说明自己的实时性的要求。比如pf为0.1,那么就说明在如果从b到e这个进程一直在运行,处理器的频率只要设置在最高频率的1/10之一,这个任务就可以在期限前完成。
之所以可以用pf的值来确定处理器的频率,是因为pf表示一个任务从开始到结束如果一直占用处理器,处理器所需要的频率,那么如果是多个任务把它们的pf的值加起来,就是这些任务所需要的处理器频率,虽然系统以分时间片的方式来分配时间,但是总的效果是一样的,如图1所示,其中图1a是实时任务T1的频率比,图1b是实时任务T2的频率比,图1c是实时任务T1+T2的总频率比。
3)总实时任务的频率比计算。
计算单个任务pf值的主要目的是为计算整个系统的总实时任务频率比。当新的实时任务加入到任务运行队列,系统将计算新实时任务的频率比计算,然后计算总任务的频率比。
总实时任务频率比的计算方法如下面的公式所示:
pfsum=pfsum+T.pf
其中pfsum是总实时任务的频率比,
T是新的实时任务的控制字,
pf是新实时任务的频率比;
总实时任务频率比的计算是节能调度的基础,通过计算总实时任务的频率比可以计算出一个合理的处理器运行频率。
4)处理器频率设置
调度系统根据总实时任务的频率比计算出一个新的频率值,当新的频率值大于现在的频率时,将处理器的频率设置成新计算出来的频率,否则不变。
当系统没有实时任务时,就把处理器的频率调到最低。系统维持两个参数,一个是正在运行队列里的任务的pf和pfsum,另一个是系统当前频率。当系统有新的任务加到运行队列的时候,计算新任务的pf值。把它的pf值加到原先的和里面,然后再根据新的pfsum的值确定处理器的频率,如果这个频率比现在的频率要高,那么调高处理器的频率。当系统没有实时任务的时候,就把pfsum置0,处理器的频率调到最低。新处理器频率的计算公式为:
f=pfsum×fmax
其中,
f为新的处理器频率,
pfsum为正在运行队列里的任务的pf和,
fmax为处理器的最大运行频率。
调度系统的整体流程图如图2所示。
Claims (1)
1.一种面向嵌入式系统低功耗实时任务调度的简化方法,其特征在于:
1)实时任务的时间片调度
当实时任务队列中,存在多个实时任务时,系统将通过时间片的方式对系统中的任务进行调度,以满足各个实时任务的需要;
时间片调度的方式是将处理器的运行时间划分等分的时间片,当任务在处理器上运行时,只能运行一个时间片长度,当时间片用完后,被强制停止执行,换下一个任务执行;
2)新实时任务的频率比计算
在实时系统中,一个实时任务它有以下几个参数是确定:任务的开始时间、实时任务的最终期限、以及任务的运行时间;
频率比就是将上面的三个参数进行融合所产生的,频率比的计算方法如下面的公式所示:
pf=p/(e-b)
其中
pf是实时任务的频率比,
p是实时任务实际需要运行的时间,
e是实时任务的最终期限,
b是实时任务的开始时间;
3)总实时任务的频率比计算
当新的实时任务加入到任务运行队列,系统将计算新实时任务的频率比计算,然后计算总任务的频率比;
总实时任务频率比的计算方法如下面的公式所示:
pfsum=pfsum+T.pf
其中pfsum是总实时任务的频率比,
T是新的实时任务的控制字,
pf是新实时任务的频率比;
4)处理器频率设置
调度系统根据总实时任务的频率比计算出一个新的频率值,当新的频率值大于现在的频率时,将处理器的频率设置成新计算出来的频率,否则不变。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006100538170A CN1936776A (zh) | 2006-10-12 | 2006-10-12 | 面向嵌入式系统低功耗实时任务调度的简化方法 |
CNB2007101474734A CN100465857C (zh) | 2006-10-12 | 2007-09-14 | 一种面向嵌入式系统低功耗实时任务调度的简化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006100538170A CN1936776A (zh) | 2006-10-12 | 2006-10-12 | 面向嵌入式系统低功耗实时任务调度的简化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1936776A true CN1936776A (zh) | 2007-03-28 |
Family
ID=37954316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006100538170A Pending CN1936776A (zh) | 2006-10-12 | 2006-10-12 | 面向嵌入式系统低功耗实时任务调度的简化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1936776A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101916209A (zh) * | 2010-08-06 | 2010-12-15 | 华东交通大学 | 一种多核处理器集群任务资源分配方法 |
CN103365710A (zh) * | 2012-03-31 | 2013-10-23 | 索尼公司 | 实时任务调度装置和方法以及计算机系统 |
-
2006
- 2006-10-12 CN CNA2006100538170A patent/CN1936776A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101916209A (zh) * | 2010-08-06 | 2010-12-15 | 华东交通大学 | 一种多核处理器集群任务资源分配方法 |
CN101916209B (zh) * | 2010-08-06 | 2012-11-21 | 华东交通大学 | 一种多核处理器集群任务资源分配方法 |
CN103365710A (zh) * | 2012-03-31 | 2013-10-23 | 索尼公司 | 实时任务调度装置和方法以及计算机系统 |
CN103365710B (zh) * | 2012-03-31 | 2018-11-06 | 索尼公司 | 实时任务调度装置和方法以及计算机系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100465857C (zh) | 一种面向嵌入式系统低功耗实时任务调度的简化方法 | |
CN100416463C (zh) | 面向嵌入式系统低功耗实时任务参数模型调度方法 | |
KR101629155B1 (ko) | 전력-인식 스레드 스케줄링 및 프로세서들의 동적 사용 | |
Cheng et al. | An energy-saving task scheduling strategy based on vacation queuing theory in cloud computing | |
CN100580632C (zh) | 嵌入式系统rm低功耗调度中松弛时间在线重分配方法 | |
CN101290585B (zh) | 一种嵌入式系统实时任务的调度方法 | |
Gu et al. | Energy efficient scheduling of servers with multi-sleep modes for cloud data center | |
CN100590571C (zh) | 实时嵌入式系统edf低功耗调度的msr方法 | |
CN101216727A (zh) | 嵌入式低功耗操作系统中动态频率调整的映射方法 | |
CN101794169B (zh) | 基于改变控制模式进行机群系统能耗管控的方法 | |
CN100377042C (zh) | 结合静态编译器和动态调频技术优化运行频率的节能方法 | |
KR102060431B1 (ko) | 멀티 코어 시스템의 전력 관리 장치 및 방법 | |
Zeng et al. | Practical energy-aware scheduling for real-time multiprocessor systems | |
CN1936776A (zh) | 面向嵌入式系统低功耗实时任务调度的简化方法 | |
Li et al. | Chameleon: Adapting throughput server to time-varying green power budget using online learning | |
Sakamoto et al. | Analyzing resource trade-offs in hardware overprovisioned supercomputers | |
Cho et al. | A high performance load balance strategy for real‐time multicore systems | |
CN101604198A (zh) | 一种降低嵌入式系统功耗的方法 | |
Zhang et al. | An energy-efficient scheduling algorithm for sporadic real-time tasks in multiprocessor systems | |
Wang et al. | Task migration for energy conservation in real-time multi-processor embedded systems | |
Huai et al. | Towards energy efficient scheduling for online tasks in cloud data centers based on DVFS | |
Albalas et al. | Optimized job scheduling approach based on genetic algorithms in smart grid environment | |
CN106933325B (zh) | 一种固定优先级io设备能耗管理方法 | |
Chu et al. | Design a low-power scheduling mechanism for a multicore android system | |
Eitschberger et al. | Energy-efficient task scheduling in manycore processors with frequency scaling overhead |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |