面向混合主存嵌入式系统的低能耗edf实时任务调度方法
【专利摘要】本发明公开了一种面向混合主存嵌入式系统的低能耗EDF实时任务调度方法,本发明利用PCM非易失、低功耗、高性能的优点,结合动态EDF算法保证整个任务集的时性约束,从而降低了整个系统的功耗又不影响任务的时性约束;本发明所述方法包括步骤:1)将任务集T中的任务按照(Wpi-Wdi)/Nwi降序排列;2)初始化所有任务;3)根据任务集T的任务顺序将任务逐个放入PCM中,如果任务集依然可调度,则标记该任务为P-task,且Ci=Wpi,直至任务集T中所有任务检查完毕;4)系统开始执行任务;5)计算动态EDF算法分配给所有任务的“空闲时间”;6)动态EDF算法根据优先级对“空闲时间”进行分配;7)重复步骤6直至整个任务集T结束。
【专利说明】面向混合主存嵌入式系统的低能耗EDF实时任务调度方法
【技术领域】
[0001]本发明涉及实时嵌入式系统(Real-Time Embedded System)领域,尤其涉及一种面向混合主存嵌入式系统的低能耗EDF实时任务调度方法。
【背景技术】
[0002]嵌入式系统是一个面向某些特定应用的计算机系统。考虑到嵌入式系统的安全性和可靠性等因素,其应用通常具有实时性约束。近年来,嵌入式系统得到了迅速发展,各种智能设备悄然进入人们的生活。然而,随着功能和应用变得越来越复杂,电池的使用寿命成为这些设备上的最大限制。研究表明,在现代嵌入式系统中,主存的能耗在整个系统能耗中所占的比例越来越大。因此,减少主存的能耗是延长电池可用时间的行之有效的方法,而如何减少主存系统的能耗是一个亟需解决的关键问题。
[0003]相变存储器(Phase-change memory,PCM),由于其非易失、低功耗及高性能等特性引起了学术界和工业界的广泛关注。与传统主存DRAM相比,PCM拥有低能耗和非易失性的优点。尽管PCM与FLASH相比拥有较高的读写性能,然而与DRAM相比,依然具有较高的读写延时,特别是写延时。同时,PCM具有写次数限制,该特点大大限制了其使用寿命。
[0004]综合PCM和DRAM的优缺点,学术界提出了基于PCM和DRAM的混合主存架构(Hybrid Main Memory Architecture),即利用DRAM获得高性能(DRAM的低读写延时),同时利用PCM取得较大的能耗节省(PCM的低能耗)。
[0005]然而,混合主存系统的引入使得实时任务调度问题变得更加复杂:作为智能设备,应该提供较高的性能但同时消耗了较多的能量,而作为嵌入式系统,其应该最大化电池使用寿命但却导致了任务的执行延时,甚至破坏了任务的实时性约束。因此,性能与能耗二者的权衡是一个需要解决的重要问题。
[0006]尽管近年来针对混合主存系统的研究较多,但是针对混合主存实时任务调度方面的研究较少。目前对混合主存系统的研究主要集中在操作系统的支持、变量与任务在不同主存介质中的分配、能量优化模型、主存控制器等方面。目前的研究只考虑了任务的分配而并未考虑任务的调度,只针对主存控制器优化而并未考虑具体的实时调度算法。因此,研究混合主存架构下的实时任务调度是一个值得研究的重要问题。
【发明内容】
[0007]为解决上述问题,本发明旨在针对混合主存嵌入式系统,提出一个任务的实时调度方法以最大程度地节省能耗,同时保证整个任务集的实时约束。在本发明所涉及到的混合存储架构中,PCM和DRAM采取统一编址方式,CPU可对各个部分直接访问。操作系统区分这两部分地址空间,并对其进行管理。本发明提出的实时调度算法旨在操作系统层面保证混合主存系统的高性能和低能耗。本发明所采用的技术方案如下:
[0008]一种面向混合主存嵌入式系统的低能耗EDF实时任务调度方法,包括以下步骤:
[0009]I)将任务集T中的任务按照(Wp1-Wdi) /Nwi降序排列,其中Wpi表示该任务在PCM中的最差情况执行时间,Wdi表示该任务在DRAM中的最差情况执行时间,Nwi表示该任务的执行过程中的写次数;
[0010]2)初始化所有任务:将所有任务标记为D-task,且Ci = Wdi,其中Ci表示该任务的最差情况执行时间;
[0011 ] 3)根据任务集T的任务顺序将任务逐个放入PCM中,如果任务集依然可调度,则标记该任务为P-task,且Ci = Wpi,直至任务集T中所有任务检查完毕;
[0012]4)系统开始执行任务:其中D-task在DRAM中执行,P-task在PCM中执行;
[0013]5)计算动态EDF算法分配给所有任务的“空闲时间”;
[0014]6)根据EDF优先级排序,队头元素Ti拥有最小的deadl ine,表示为(Ii,动态EDF算法根据优先级将“空闲时间”的分配给即将执行的D-task任务实例,直至该任务结束;
[0015]7)重复步骤6直至整个任务集T结束。
[0016]所述步骤3中任务集可调度的充分必要条件为:
【权利要求】
1.一种面向混合主存嵌入式系统的低能耗EDF实时任务调度方法,其特征是,包括以下步骤: 1)将任务集T中的任务按照(Wp1-Wdi)/Nwi降序排列,其中Wpi表示该任务在PCM中的最差情况执行时间,Wdi表示该任务在DRAM中的最差情况执行时间,Nwi表示该任务的执行过程中的写次数; 2)初始化所有任务:将所有任务标记为D-task,且Ci= Wdi,其中Ci表示该任务的最差情况执行时间; 3)根据任务集T的任务顺序将任务逐个放入PCM中,如果任务集依然可调度,则标记该任务为Ci = Wpi,直至任务集T中所有任务检查完毕; 4)系统开始执行任务:其中D-task在DRAM中执行,P-task在PCM中执行; 5)计算动态EDF算法分配给所有任务的“空闲时间”; 6)根据EDF优先级排序,队头元素Ti拥有最小的deadline,表示为(Ii,动态EDF算法根据优先级将“空闲时间”的分配给即将执行的D-task任务实例,直至该任务结束; 7)重复步骤6直至整个任务集T结束。
2.如权利要求1所述的一种面向混合主存嵌入式系统的低能耗EDF实时任务调度方法,其特征是,所述 步骤3中任务集可调度的充分必要条件为:
其中Ci为任务Ti的最差情况执行时间,Pi为任务Ti的任务周期。
3.如权利要求1所述的一种面向混合主存嵌入式系统的低能耗EDF实时任务调度方法,其特征是,所述步骤5中,“空闲时间”计算如下:
其中,(Ii表示任务Ti的deadline, dx为任务Tx的deadline, Cx表示任务Tx的最差情况执行时间。
4.如权利要求1所述的一种面向混合主存嵌入式系统的低能耗EDF实时任务调度方法,其特征是,所述步骤6中当动态EDF算法将“空闲时间”分配给任务ti;数据结构Preempt-Queue为非空,此时动态EDF算法不进行空闲时间的重新分配。
5.如权利要求1所述的一种面向混合主存嵌入式系统的低能耗EDF实时任务调度方法,其特征是,所述步骤6中如果空闲时间足够将该D-task转换为P-task,则将该任务放入PCM中执行,直至该任务结束。
6.如权利要求1所述的一种面向混合主存嵌入式系统的低能耗EDF实时任务调度方法,其特征是,所述步骤6中如果空闲时间不足够将该D-task转换为P-task,则根据最大迁移数据量Si和数据在不同主存中的迁移速率计算迁移时间,假设迁移时间为HiigTimei,空闲时间为slack time,动态EDF算法将该任务放入PCM中执行的时间即slacktime-migTimei,如果在此时间内该任务未执行完,则将任务从PCM中迁移到DRAM中,直至该任务执行完。
7.如权利要求1所述的一种面向混合主存嵌入式系统的低能耗EDF实时任务调度方法,其特征是,所述步骤6中当一个D-task任务被分配了额外的时间,但在其迁移过程发生之前被抢占,当任务从抢占中恢复的时候,动态EDF算法将会对该任务进行第二次时间分配,即当其从抢占中恢复时,由于抢占的任务可能会产生新的“空闲时间”,该部分时间可分配给该被抢占的任务。
8.如权利要求5所述的一种面向混合主存嵌入式系统的低能耗EDF实时任务调度方法,其特征是,所述步骤6中如果任务已经从PCM迁移回DRAM,则该任务会在DRAM中一直执行完,不会被分配额外时间。
【文档编号】G06F9/46GK104182180SQ201410369550
【公开日】2014年12月3日 申请日期:2014年7月30日 优先权日:2014年7月30日
【发明者】贾智平, 张志勇, 鞠雷, 蔡晓军 申请人:山东大学