实时数据库系统中事务的差分服务
2010-01-18向军
向 军
(湖北民族学院 信息工程学院,湖北 恩施 445000)
实时数据库系统中不同分类事务由于不同的时间性要求[1],错过相应的截止期给系统性能带来的损失不同,同时调度它们带给系统价值也不同.因此,在实时数据库系统中应根据实时事务带给系统的价值有区别的调度,价值大且时间要求紧迫的优先调度,价值小或时间不紧迫的暂缓调度.但是,对于复杂的嵌套硬实时事务,系统尽可能提供它们必需的如CPU、网络带宽等系统资源,这样才可能满足它们的截止期,同时也应尽可能采用一些策略降低能量消耗,如采用DVS技术[2]加以控制.为提高系统性能和防止系统超载,应该采用差分服务[3].
1 事务分类和系统价值模型
1.1 事务分类
实时数据库系统中,根据使用数据的方式实时事务分为以下两类:用户事务[4]和更新事务,用户事务多用于读或写非时序数据,同时到达是非周期性的;而更新事务更新时序数据对象是有一定周期的,其目标是使得数据库系统中时序对象的值能真实反映物理世界相应数据对象的变化.另外,按照事务时间限制的性质,可将实时事务分为三类:硬截止期实时事务、软截止期实时事务和固截止期实时事务[4],这三类事务分别有不同的时间限制要求,它们错过截止期后带给系统的损失不同.当硬实时事务错过截止期时,带给系统将会是最严重的后果,因此这类事务优先级最高;当软截止期实时事务错过截止期时,带给系统仍然还有一定的价值,且不断逐渐递减直到价值为零;而对于固截止期实时事务一旦错过截止期,其价值马上骤变为零.当同时有多个事务等待系统调度时,实时事务错过截止期带给系统的损失和价值是指派优先级的两个重要参考依据.
1.2 系统价值模型
为比较不同事务调度策略带给系统的价值和性能上的变化,论文提出一套评价系统性能的价值模型.价值模型中主要考虑事务错过截止期比率、系统能耗、数据新鲜度等几个因素.实时数据库系统中影响数据的新鲜度有很多原因,如网络连接中断、资源有限等可能造成的访问数据时间延迟.但是,满足实时事务截止期比数据的绝对正确性更为重要.论文提出的价值模型中的事务错过截止期比率简称为Md(Deadline Miss Ratio of Transactions),错过截止期的事务数量用Nd(k)表示,访问数据的事务总数用Nt(k)表示,事务错过截止期的比率定义为:
(1)
同时,实时数据库系统中满足事务的定时限制是其基本的设计准则.价值模型中的数据新鲜度用Fd表示,主要是用来衡量数据库系统中所有的数据(包括传感器数据)的新鲜程度.为讨论方便,实时事务访问新鲜数据的数量用Nf(k)表示,实时事务访问到的所有数据数量用Na(k)表示,数据新鲜度形式定义如下:
(2)
实时数据库系统中数据新鲜度,论文主要从价值域(value domain)和时间域(time domain)两个角度分析.在时间域内讨论数据的时间有效性时,主要通过当前时间和数据采用时间的时间差判断数据对象是否新鲜.虽然物理世界数据对象的值随着时间不断在变化,如天气的温度、股票的价格等,但是有时数据对象值变化幅度却非常小,甚至不会影响到系统性能.此时,如果按照时间域内的数据新鲜度要求实时事务去更新相应的数据对象,这样可能会极大地增加系统负载,浪费系统资源做了无用功.如果在值域范围内每个数据对象都有一个可容许偏差的标准值,只要物理世界数据对象值域变化小于这个标准值,实时事务对那些数据对象的更新就可以舍弃.这样既一定程度上维持了数据的新鲜度,同时又降低了系统负载.为提高系统性能和调度事务带给系统的价值,还应该预留系统资源,系统资源利用率主要是对CPU的评测,它的价值模型可参考文献[5].
2 事务的差分服务
2.1 差分服务
实时数据库系统中负载不可预测和可能会出现的超载,使得很多事务都有可能错过截止期或违反数据新鲜度限制.因为调度系统中的不同的事务带给系统的价值,或者实时事务错过截止期后造成的损失是有差异的,因此所有的实时事务不能完全等同处理.为提高实时数据库系统性能和调度实时事务带给系统的价值,有必要对系统中的实时事务采用差分服务.具体方法是:从服务角度将实时事务分为特级、适中、一般三类,分别编号为0、1、2,并且规定编号数字越小服务的级别越高.下面的就是三类事务的性能测度.
0类:Md0≤1%,Fd0≥98%,U0≤10%
1类:Md1≤6%,Fd1≥95%,U1≤13%
2类:Md2≤10%,Fd2≥92%,U2≤15%
上述不同服务类别的事务对系统要求不同,0类的事务错过截止期比率要求最高,不能高于1%,而且0类事务另外两个参数也高于其它两类,因此调度算法中要优先调度这类事务.同时对于实时数据库系统出现瞬时过载现象时,要求稳定时间(Setting Time,Ts)[6]尽量短,使得系统尽快回复到稳定状态.实时事务进行差分服务分类的主要依据是:事务对时间有效性、价值函数等.通过对实时数据库系统中的事务实行差分服务,虽然事务的错过截止期比率可能没有降低很多,但带给系统的价值却变大或事务因错过截止期给系统带来的损失减小,总体来说对系统性能有较大地改观,可以通过后面的仿真实验来证明.
2.2 系统控制结构
图1 系统控制结构
2.3 算法设计
基于差分服务和降低能耗的事务调度算法思想是:数据库管理员根据系统实际运行环境和用户本身需求设定价值模型相关参数的预置标准值(参数预置参考值符号加下标R表示,如MdR),并且设定可调变量的初始值.具体算法伪代码如下:
监测Md(k),U(k),and Fd(k),τ表示数据项x的事务,Qac表示通过AC的事务队列
InputMdR,UR,FdR
For τ(x) in Qac
If and |tc-tx|≤Tathen //判断是否错过截止期
putτ(x) in the Q0
putτ(x) in the Q1
else
putτ(x) in the Q2
end if
else
discardτ(x)
end if
end for
compute Md(k),U(k),and Fd(k)
scheduleQ0,Q1,Q2
ifMd(k)≥MdRor U(k)≥URor Fd(k)≥FdRthen
end if
3 仿真实验
图2 不同下平均Fd变化
图3 不同下事务平均Md的变化
4 结语
通过对实时数据库系统中具有不同时间限制的事务进行差分服务,同时结合对论文提出的价值模型参数的监测和反馈控制,使得系统稳态下性能有一定程度提高,特别是降低了事务错过截止期比率和提高了数据库的数据新鲜度.这对于实时数据库系统应用有着积极的促进作用.
[1]Kyoung Don Kang,Sang H Son,John A Stankovic.Managing Deadline Miss Ration and Sensor Data Freshness in Real-time Databases[J]. IEEE Transaction on Knowledge and Data Engineering,2004,16(10):1 200-1 216.
[2]Jian Jia Chen,Tei Wei Kuo.Voltage-Scaling Scheduling for Periodic Real-Time Tasks in Reward Maximization[C]//Proceedings of the 26th IEEE Real-Time Systems Symposium, Washington: IEEE Computer Society Press,2005:355-365.
[3]Kyoung Don Kang,Sang H Son,John A Stankovic.Differentiated Real-Time Data Services for E-Commerce Applications[J]. Electronic Commerce Research, 2003,3(1/2):113-142.
[4]刘云生.现代数据库技术[M].北京:国防工业出版社,2001:100-129.
[5]向军.移动实时数据库系统服务质量管理[D].武汉:华中科技大学,2008.
[6]Sudha Anil Kumar,G Manimaran G,Wang Z.Energy-Aware Scheduling of Real-Time Tasks in Wireless Networked Embedded Systems[C]//Proceedings of the 28th IEEE Real-Time Systems Symposium 2007,Washington:IEEE Computer Society Press,2007:15-24.
[7]LU C,John A Stankovic,Tao Gang,et al.Feedback Control Real-time Scheduling: Framework, Modeling and Algorithms[J].Real-time Systems,2002,23(1):1-31.