2024年4月18日发(作者:)
维普资讯
第27卷第23期
VO1.27 NO.23
计算机工程与设计
Computer Engineering and Design
2006年l2月
Dec.2006
嵌入式移动数据库客户端列Cache方案研究
郭 鹏 , 彭蔓蔓 , 胡 慧
(1.湖南工程学院计算机系,湖南湘潭4ll100;2.湖南大学计算机与通信学院,湖南长沙410082)
摘 要:在嵌入式环境中,有效利用客户机端Cache的空间,可以大大降低系统功耗和提高系统的性能。从体系结构级的角
度,介绍了一种适应数据广播环境的移动数据库客户机端Cache管理方案——列Cache,并探讨了一种改进的替换和预取策
略——带锁的循环淘汰PIX算法,分析了其可行性,试验证明了这种方案的有效性。
关键词:数据广播;列Cache;替换篆略;PIX算法;锁操作
中图法分类号:TP302 文献标识码:A 文章编号:1000—7024(2006)23—4427-03
Re search of embedded mobile database client column cache
GUO Peng ,PENG Man-man ,HU Hui
(1.Department of Computer,Hunan Institute of Engineering,Xiangtan 4 1 1 1 00,China;
2.College of Computer and Communication,Hunan University,Changsha 4 1 0082,China)
Abstract:In embedded system,using availably cache space system power is reduced and system performance is improved.A new
architectural method of mobile database client cache--column cache is introduced,and a be ̄er replacement policy--FIFO and PIX al—
gofithm of lock cache re discussed,a
Key words:data broadcast;column cache;replacement policy;PIX algorithm;lock
0 引 言
以网络为计算中心的时代,嵌入式移动设备为更多用户
所拥有,这些设备大多配备以无线网络为主的移动联网设备,
以支持移动用户访问网络中的数据,即移动训 算环境。于是,
嵌入式移动数据库技术应运而生,并成为近年来日益活跃和
倍受关注的研究热点。
请求的频率大幅减少。图l所示为典型的移动数据库的广播
系统模型。
现采用的广播技术以广播磁盘算法为代表0 。在广播磁
盘算法中,服务器根据客户机的数据访问请求频率,归纳出平
均的访问概率分布,以此组织多级磁盘进行数据广播,来满足
各个客户机的数据要求。但是,由于广播磁盘算法中考虑的
访问概率是客户机访问分布的平均,对某个客户机来说,它访
问数据的概率分布与此分布存在一定的偏差。这就使得某个
嵌入式移动数据库是指支持移动计算环境的分布式数据
库m,它与一般数据库的区别在于:嵌入式移动数据库在逻辑
上不是独立的,它必须以无线的方式与固定的中心数据库服
务器进行联系,从中心服务器下载所需要的数据,并把本地所
作的修改上传给中心服务器,所以它本质上是依附于中心服
务器的,其数据只是中心数据库的一个子集。
目前,移动数据库服务器端一般采用广播技术 。广播技
术是服务器利用无线网络固有的广播能力将数据库中经常被
大部分用户访问的公共热点数据组织起来,经由MSS(移动支
客户访问数据的响应时间延时,为了解决这个问题,客户机端
一
般采取Cache来缓存服务器端广播的数据 ,这样,客户机
持结点)向无线网络单元内所有MC(移动客户机)广播。无线
网络特有的广播能力与普通网络中的广播有显著不同,它可
无线cellular单元
囟囱囟审 、、\
\、 2Mbp ̄
\ / …平
以支持大量MC同时接收,而且不管接收的客户数有多少,
MSS的广播代价并不改变,这就允许大规模的移动用户同时
访问被广播的热点数据。其次,使得MC向服务器发送访问
收稿日期:2005—11-27。
基金项目;湖南省自然科学基金项目(04JJ3008)。
作者简介:郭鹏(1978--),男,湖南湘潭人,硕士,研究方向为嵌入式系统、体系结构、移动计算: 彭蔓蔓(1964--),女,湖南长沙人,硕
士,副教授,研究方向为体系结构; 胡慧(1979--),女,湖南浏阳人,硕士,讲师,研究方向为模糊控制、神经网络。
・——
4427・——
维普资讯
端不用每次访问数据都等待服务器广播,可直接从Cache中
向量的映射单元、改进的能使用映射信息的ReplacementUnit。
获取 仅当Cache失效时。才从广播中获取。
作此改动,主要是因为列Cache中并不是直接把页映射到一
一
般情况下,在嵌入式环境中,客户机端Cache的空间十
组列,而是每一页先映射到一个颜色(Tint),接着,每一个颜色
分有限。如何更好地利用Cache有限的空问,提高Cache的命
再映射到一组列。例如,整个流数据结构也许被映射成红色,
中率 ,减小访问数据的响应时间,对降低嵌入式系统的功耗
而其它页映射成蓝色。如果红色仅映射到第1列,蓝色映射
和提高嵌入式系统的性能有着至关重要的作用。下面我们将
到2、3、4列,那么,要访问蓝色页中的数据就决不会从红色页
引入一种新的客户机端列Cache方案。并探讨在这种方案的
中存取。反之亦然 颜色的使用引入了一种间接的机制,有两
替换和预取策略中采取锁定方式进行循环淘汰置换PIX算法
个好处:让存储层次和Cache列数等底层信息对用户透明;使
的可行性。
重新映射更加容易。
1工作原理及实现 2列Cache的替换策略及数据预取策略
1.1移动数据库客户端的列Cache工作原理
2.1移动数据库客尸端的列Cache的替换策略
列Cache能够使用软件控制的方法来动态重构Cache分 通常Cache的大小是有限的,当空间已满且再需要增加
区 ,也就是说,以软件的方法把一般组相联Cache中每组的
新的数据时,就需要采用替换策略。在一般组相联Cache中,
同一路或几路当成是一列。与一般组相联Cache相比,不同 替换算法主要有3种:随机法、先进先出法、最近最少使用法。
之处仅在于失效替换时,严格限制了要缓存数据的存放位置。 但这几种替换算法都不适用于移动数据库,因为移动数据库
这样,使用与一般组相联Cache同样的硬件机制,列Cache能 数据多盘广播中不同数据的广播频率是不同的,客户机显然
够模拟很多不同硬件实现的Cache分区。如时间/空间分区 不能像传统Cache技术那样缓存自己最常访问的数据,而是
但是,静态的固定大小的时间/空间分区不能满足所有访问存 应该缓存那些本地访问概率较高,却在广播中出现频率较低
储模式的需要,造成了Cache资源的浪费。列Cache通过软件 的数据对象。因此,在多盘广播中,客户机引入了基于代价的
控制。可以灵活调整两个分区大小比例,有效解决了Cache资 缓存替换策略,即替换算法需要考虑缓存失效时,从数据广播
源浪费的问题。 中获得一个对象的代价(在传统的缓存技术中不必考虑这个
在嵌入式移动数据库中,根据广播磁盘的特点,客户机端
代价,因为从服务器获取所有不命中对象的代价都是相同的)。
可以引入列Cache的方案,即根据广播磁盘的个数动态构建
在多盘广播环境中,获得广播频率越高的磁盘中的数据项的
Cache的列数。例如。假设有两个广播磁盘,在4路组相联
代价越小,而获得广播频率越低的磁盘中的数据项的代价越
Cache中,我们可以通过软件控制把第1路构成第1列,剩下
大,这个代价本质上就是等待的时间。
的3路构成第2列;或者把前面两路构成第1列,剩下的两路
基于以上替换策略的思想。已经提出了一种PIX算法 】。
构成第2列。这种灵活的机制使Cache可以根据广播磁盘的
即将访问概率P与广播频率x的比值作为替换的衡量因子,
个数和每个广播磁盘的数据大小动态构建Cache列,大大提 选择P/X值最小的对象进行替换,但是比较所有缓存对象的
高了Cache的空间利用率。
P/X值代价过高,于是,近似的PIX算法——LIx,它维护了一
1.2移动数据库客尸端的列Cache的实现
组栈,每个广播磁盘都对应于一个栈,每个缓存对象都被放入
在一般组相联Cache中,主存块地址的低几位用于选择 它所在的广播磁盘所对应的栈中。每个栈中的缓存对象按照
一
组Cache行,然后,相联度查找要访问的数据,如果没有找
LRU算法排列,栈底的对象是最近最少使用的对象,若栈中某
到,则称为Cache失效。此Cache中存在两个控制单元 Hit
对象被命中。将其移到栈顶。当发生缓存不命中且缓存已满
Unit通过比较标识存储器每一Cache行的标识和主存块地址 时,LIX算法只需比较每个栈的栈底对象的LIX值,将其中LIX
的高几位标识位,判断Cache访问是否命中;Replacement Unit 值最小的对象替换出缓存
则是当需要替换时,决定哪个Cache行应该被替换
LIX替换算法的最大问题是每个栈中的LRU算法需要较
如图2所示,列Cache可以通过对一般组相联Cache作3
为复杂的电路实现和维护 ,为了尽可能减少芯片的面积,降
个小小的修改而加以实现:扩充TLB以支持Tints、颜色和位
低功耗,移动数据库客户机端的列Cache使用带锁的循环淘
汰PIX算法。即客户机端根据服务器广播磁盘的
个数以及每个磁盘的大小动态地把Cache分成相
应的几列,每个广播磁盘都对应于一列,每个缓存
对象都被放入它所在的广播磁盘所对应的列中。
每个列中的缓存对象以循环的方法加以淘汰,也就
囹盈 圈圈
是说,比较每列中要淘汰对象的PIX值,将其中PIX
; ; i ; ; i j ; j
值最小的对象替换出缓存。为了避免那些最近使
圈圈 圈圈 圈圈
用的和常使用的数据或代码项被一视同仁的淘汰
圈弼 圈盈 圈圈
出去,可先将这些项锁定(1ockdow n),不被循环淘
… …。… …
n
l………Co…lu …
汰;一旦这些项不常用了,可以进行解锁,仍参与
图2基本列Cache体系结构
原有循环淘汰。Cache的锁操作只需增加很少的
・——
4428・——
维普资讯
PIX=U 45 PlX=U+,5
图3带锁的循环淘汰PIX算法的缓存替换过程
服务器有两个广播磁盘,相应的,客户端的缓存也组织成
两列,每列的大小根据磁盘大小的不同而不同。列一中有对
象a…b C d,按先进先出的规则排列,d最先进列也晟先f1{列。
列_1.中有对象e、f,g…h i j,也是按先进先出的规则排列,j最先
进列也最先}}}列。假设这时缓存已满,现在客户机需要访问
缓存对象Z,客户机先从缓存中寻找,发现失效,于是要从广。播
中获得,但这时缓存已满,所以,必须替换缓存中的对象。首
先,从列一和列一中找出要替换的候选对象,根据FI
瓣轻
FO原则,
分别是d和J,但由于列一中的d对象被锁定,于是列一和列二
∞”蛐 加 m
中的候选替换对象是C和J,比较C和j的PIX值,确定较小PIX
值的对象C被替换出缓存。而新对象Z由于和列二的J 播频
率相同,于是被插入到列二的顶端。
2.2移动数据库客户机端的列Cache的数据预取策略
在广播环境中,当客户机端访问数据而出现Cache失效
时,必须等待广播数据的到达。显然,数据访问的延迟时间取
决于下次数据广播的到达时间。为了减小客户机端数据访问
的响应时间,必须在每次广播数据到达时,事先将那些潜在的
访问对象预取到Cache中。
预取缓存管理策略的一个典型算法是:PT算法。在PT算
法中,每个对象的P代表访问概率,t代表某一时刻到广播中
出现该对象所需等待的时间。我们将P与t的乘积pt作为衡
量预取价值的尺度,pt值越大的对象说明预取的价值越高。相
廊地,可以把上述替换算法中的P和x的比值作为衡量预取
价值的尺度,P/X值越大的对象说明预取的价值越高。
仍以上述替换策略中的图3的演示图为例,假设与列一
相同的广播频率的数据到达时,列一中潜在替换对象c的PIX
值为O.45,而到达数据中的m的PIX值最大,为O.8。于足,把
C替换成m。实际上,C和m的广播频率x值是相同的,比较
的足它们的P值,也就足数据的访问概率,所以,我们的替换
原则是尽量把具有较大数据访问概率P值的数据缓存到Cache
的相应列中。
3性能分析
我们用‘个综合的流应用程序来说明列Cache的有效性。
这个程序模拟网络路由查找算法,读数据,然后查表输出结
果。假设一个Cache行有8个字,查找表的大小有32K。图4
显示相应的失效率。一个列Cache把每个流数据限制到单一
列里,而查找表储存到余下的Cache中。这样,充分的提高了
-——
4429-——
维普资讯
基因库系统1基因库系统2
检测代理1
(2)随机产生初始种群X.=(x。。x2'…, );
(3)对种群进行以下操作,产生新一代种群X ,直至达到终
止条件:①计算种群)【i中个体适应度函数 ),j=l,2,3,…,n;②对
检测代理2
基因库系统3基因库系统
r__■搿
种群确中个体 按照选择算子进行选择产生新种群个体xj,计
j 检测代理3
算新旧个体适应度函数差值Af=f(x9一 {依照Boltam准则以
I
1 检测代理5
概率min{1,cxp(一Af/t ̄)}>random[O,1]接受新解,确定新种群;
检测代理4 『
③对选择后的个体按交叉概率P 进行多点交叉操作,按②中的
方法决定是否接受新个体,若接受,则令新个体为新种群的个
图2模型的框架结构
体,否则,令旧个体为新种群的个体;④对交叉后的个体按变异
被匹配成功则经过一定时间后自动死亡:③当系统的参数超
概率Pm进行变异操作,按②中的方法决定是否接受新个体;
过阈值时系统报警,通知管理员。
(4)若f≤m修改种群退火温度 ,令Tk=a*tk(k=-I,2,…, ),/-_
对于误报的消除本模型采取如下的措施:①对每一个检
i+1;转步骤(3)否则,转步骤(5);
测代理设置触发阈值T,每个检测元均有一 个匹配计数器C ,
(5)计算新种群中满足设计条件的最优特征子集xj。
C— f(I),t为时间,且fix)为t的减函数。C 的初始值为0,匹配
以上算法实现了基因库的生成。然后通过返回具有高适
应值的检测元来实现系统的进化。
成功一次则C C I十1,s=EC 当 ≥,.时,检测代理自我复制传
播,并向本基因系统返回一个副本,并且C Cl+l;②由于系统
4结束语
的阈值,4个基因库的选择,C =f(t)中的fix)均是可调的。因
该文分析讨论了生物免疫系统的原理,以及基于该原理
此,实现了IDS安全等级的调节。
的网络安全研究现状,提出了一种基于生物免疫原理的新型
3.4检测元的生命周期
入侵检测系统模型,并结合遗传算法和模拟退火算法对模型
首先检测元在各自的基因库中随机产生,变成未成熟的
系统的基因库生成算法进行了改进。可以推知,通过对基因
检测元,然后由各个类的自我对它进行匹配,如果匹配成功则
库的有效分类及生成算法的改进,本入侵检测模型的检测效
死亡,否则变成成熟的检测元。而在检测过程中,如果被匹配
率将会得到较大提高。
成功,则自我复制,并向网络中传播,同时返回一个副本;否则
若在一定时间内未被匹配成功,则死亡。图3为检测元生命
参考文献:
周期的图示说明。
[1】 Rebecca Gurley Bate.入侵检测【M】.北京:人民邮电出版社,
2001.
【2】 蒋建春,冯登国.网络入侵检测原理与技术[M】.北京:国防工业
出版社,2001.
[3】 韩东海,王超,李群.入侵检测系统及实例剖析[M】.北京:清华
匹
大学出版社,2002.
[4】 杨孔雨,王秀峰.入侵检测免疫模型中抗体基因库的生成和进
化[J】.计算机应用,2003,23(7):26 28.
图3检测元的生命周期
【5】 杨向荣,沈军毅,罗浩.人工免疫原理在网络入侵检测中的应用
[J】.计算机工程,2003,29(6):27,29.
3.5基因库的生成与进化
[6 康立山.6]非数值并行算法——模拟退火算法[M】.北京:科学出
结合GA的全局优化和模拟退火算法能实现避开局部晟
版社,1997.
优的特性,实现基因库的生成与进化。算法如下: [7】 陈彬,宏家荣,王亚东.最优特征子集选择问题[J】.计算机学报,
(1)参数设置 种群进化代数M,种群数目N.交叉概率P。,
1997,20(2):133-138.
变异概率Pm,温度冷却系数a初使退火温度T。,采用二进制编
[8】 丁勇,虞平.自动入侵响应系统的研究[J】’计算机科学,2003,
码,比例选择算子,多点交叉方式。
(1O):160.166.
(上接第4429页)
[5】 张晨曦,计算机体系结构[M】,北京:高等教育出版社.2002.
tions,1995.50-60.
[6】 Chiou D,Jain Devadas S,et a1.Application-speciifc memory
[8】 陈章龙.嵌入式处理器的Cache结构研究[J】.小型微型计算机
management for embedded systems using software-controlled
系统,2004,(7):1204.1206.
caches[C].Technical Report 427,MlTLaboratoryfo,Computer
[9】 祝庆,张倪.基于语义的移动数据库同步服务器的设计[J】’计
ScienceComputationStructuresGroup,1999.
算机工程与设计,2005,26(1)-212-215.
【7】 Acharya S,Franklin M,Zdonik S.Dissemination.based data de.
【lO】张步忠,吕强.一个基于数据库的Web Cache的设计与实现【J].
1iveyr using broadcast disks[C】.IEEE Personal Communica.
计算机工程与设计,2005。26(7):1911-1914.
_——
4436——
发布者:admin,转转请注明出处:http://www.yc00.com/news/1713392666a2240026.html
评论列表(0条)