嵌入式移动数据库客户端列Cache方案研究

嵌入式移动数据库客户端列Cache方案研究


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),不被循环淘 

… …。… …

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条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信