关键词:
实时数据库系统
节能调度
更新事务
时序一致性
负载最小化
多处理器
摘要:
实时数据库系统(Real-Time DataBase System,简称RTDBS)是数据库技术和实时系统相结合的产物,它集成了实时系统和数据库系统的相关理论和技术。近年来,RTDBS在电力和数据网络管理、雷达跟踪、工业生产过程控制和证券交易等需要定时存取数据或对“暂时有效”数据进行存取的这样一类国防军事及民用实时信息服务领域得到了广泛应用。尽管应用取得了极大的成功,但是与许多其他的计算系统一样,RTDBS也受到了过量能耗的困扰。过多的能量消耗对系统的服务质量(包括服务时间,稳定性和可靠性等)产生了巨大的影响。在某些特定的运用环境中(典型如嵌入式环境),RTDBS通常是靠电池驱动的,系统补充能量的代价太高,甚至由于环境的限制而在相当长一段时间内无法补充能量,而在可见的将来电池的寿命限制问题都难以得到彻底解决,此时节省能耗从而延长系统的服务时间变得尤为重要。 与传统数据库中的数据对象不同,在实时数据库中,数据对象只在一段时间内是流行的(有效的),也即每一个数据对象都有一个有效期作为该数据当前值的生命周期,一旦超过了生命周期,该数据就是非时序一致性的(也即无效)。因此,必须在数据对象的旧版本(值)变成无效之前用新值更新该数据对象,以使其总是能够反映外部实体的当前状态。由于RTDBS的计算资源通常是有限的(尤其在嵌入式环境下),此时如何合理设置更新事务的截止期和周期并对更新事务集进行调度,以在保证数据对象时序一致性的前提下尽量减少用于更新事务的处理器负载变得非常重要。 在RTDBS中,因为用于锁表及检测数据库一致性的时间开销比执行事务本身的时间开销要大得多,事务通常以非抢占的方式执行,而已有的实时节能调度算法大都是基于可抢占任务集的。尽管也存在针对部分非抢占段任务集的节能调度策略,但是直接将它们应用于完全非抢占任务集时往往会计算出过高的减速因子(标准化的任务执行速度),因而并不能获得最佳的节能效果。为此,针对完全非抢占实时任务集提出了一个新的减速因子计算方法ISA,通过精确分析来自高优先级任务的执行次数,求得了更低的减速因子,使得任务集在频率继承策略下通过使用新的减速因子能够显著降低系统能耗。同时注意到在发生任务阻塞时,不必要总是采用频率继承策略来保证任务的截止期,提出了选择性频率继承策略SFI以进一步降低系统能耗。此外,考虑到任务的实际执行时间通常要小于其最坏情况执行时间,提出了动态空闲时间固收算法ISA-DR以获得额外的能耗节省。性能评估结果表明,提出的节能调度算法和相关策略相比于已有算法可以获得可观(平均为20%-30%)的能耗节省。 目前针对单处理器系统静态优先级调度下更新事务截止期与周期计算问题的研究已经非常成熟,但是针对该问题在动态优先级调度下的研究还比较少见。已有算法要么求得的处理器负载过高,要么运行效率过于低下。基于此,提出了一个新的两阶段算法gεEDF。gεED算法的第一阶段具有线性执行时间,因而能被用来快速求得一个解。且证明了当分派顺序固定为最短时序优先时,由第一阶段求得的解具有最优(最小)负载。当第一阶段失败时,基于确切性可调度判定条件提出了gεED算法的第二阶段。由于该阶段具有伪多项式执行时间,介绍了若干技术,通过减少需要检测的调度点数目和迭代步骤来降低进行可调度性测试时的计算代价,从而提高算法的执行效率。实验结果表明,相较于现有算法,gεED算法能够快速得到处理器负载更低的可行解。 以往针对RTDBS中数据对象时序一致性的研究都是基于单处理器系统来进行的,目前国际国内还未见针对该问题在多处理器环境下的相关研究。首次研究了多处理器环境下保证实时数据对象时序一致性的更新事务分派问题,证明了多处理环境下最小化处理器负载的更新事务分派问题是NP难的。鉴于问题的复杂性,首先只考虑问题的可调度性方面,提出了一个多项式时间分派算法TCP,并从理论上证明了TCP算法具有3—1/m的资源放大界值。随后统筹考虑事务分派问题的可调度性与最小化处理器负载两个方面,基于“一个在各个处理器之间平衡密度因子的事务分派方案趋向于得到更低的处理器负载”这一观察,提出了具有多项式时间复杂度的启发式分派算法DBF,并证明了DBF算法也具有3—1/m的资源放大界值。性能评估结果表明,DBF算法在可调度性/处理器负载性能上要优于相关算法。