【技术实现步骤摘要】
本专利技术涉及一种缓冲区置换方法,特别是关于。
技术介绍
典型的计算机系统包含两层存储器,分别是主存(缓冲区)和辅存(外部存储介质,如磁盘或者SSD)。缓冲区的存取速度远快于辅存,二者一般使用相同大小的数据页。当系统需要操作一个数据页时,缓冲区算法需要按照如下步骤为系统准备所需的数据页(1)检查请求页是否在当前缓冲区中。(2)若请求页在当前缓冲区中,则直接取得所需数据,结束。(3)否则按照某种策略选择一个置换页。(4)若置换页为只读页,则直接读入请求页;否则首先将置换页的内容写回外存,然后读入请求页。其中前两步都可通过0(1)代价完成,因此,处理一个请求页的代价由第(3)步的 CPU代价和第(4)步的外存操作代价组成。对于第(3)步操作,虽然一般情况下CPU操作代价相对于外存操作来说较小,实际当中,尤其是在出现频繁换页的情况下,如果第( 步的操作代价太高的话,将会影响到系统性能。对于第(4)步的外存IO操作,假设⑴缓冲区中无空闲空间放置新的请求页,(^丨数据页访问序列为巧,巧,…-,!^,其中发生页缺失的序列是!·' 1; r' 2,..., r' m(M彡N),(iii)访问巧(1彡i彡N)的IO代价为Q ,则处理整个数据页访问序列的外存IO操作代价如公式(1)所示。Crolal=YjIiCri(1)第(4)步操作的目标就是最小化访问η个数据页的IO总代价,当请求页r在缓冲区中时,可以直接得到,这时,访问外存的IO代价为Cr = 0,因此,公式⑴可以简化为如下的公式O)。Ctm1=Yjm^i(2)假设M次页缺失对应的M个置换页中,有M'个数据页在缓冲区 ...
【技术保护点】
1.基于代价的闪存数据库缓冲区置换方法,具体步骤为:1)将数据页归类为只读队列RQ和修改队列WQ;2)根据数据页的变量参数对缓冲区的数据页赋予权值;3)若CPU发出请求的数据页r被命中,即该数据页在内存缓冲区中,则判断数据页r是否在只读队列RQ中;若不在内存缓冲区中,进行步骤4)的操作;4)上述步骤3)中,若数据页r不在只读队列RQ中,设定请求页r的状态,将其计数器加1,并将其移动到修改队列WQ的头部;5)上述步骤3)中,若数据页r在只读队列RQ中,则判断CPU的请求是否是要修改数据页r;若是要修改r,则设定请求页r的状态,将其计数器加1,并将其移动到修改队列WQ的头部;若仅是读数据页r,则设定请求页r的状态,将其计数器加1,并将其移动到只读队列RQ的头部;6)若CPU发出请求的数据页r未被命中,即该数据页不在内存缓冲区中,则判断缓冲区是否已满;若缓冲区不满,从闪存存取请求页,并重复步骤5)的过程;7)上述步骤6)中,若缓冲区已满,则判断只读队列RQ和修改队列WQ是否是非空的;若都是非空的,则比较只读队列RQ和修改队列WQ队尾处两个数据页的权值,并将权值较小的一个数据页候选为置换页;否 ...
【技术特征摘要】
1.基于代价的闪存数据库缓冲区置换方法,具体步骤为1)将数据页归类为只读队列RQ和修改队列WQ;2)根据数据页的变量参数对缓冲区的数据页赋予权值;3)若CPU发出请求的数据页r被命中,即该数据页在内存缓冲区中,则判断数据页r是否在只读队列RQ中;若不在内存缓冲区中,进行步骤4)的操作;4)上述步骤;3)中,若数据页r不在只读队列RQ中,设定请求页r的状态,将其计数器加1,并将其移动到修改队列WQ的头部;5)上述步骤3)中,若数据页r在只读队列RQ中,则判断CPU的请求是否是要修改数据页r ;若是要修改r,则设定请求页r的状态,将其计数器加1,并将其移动到修改队列WQ的头部;若仅是读数据页r,则设定请求页r的状态,将其计数器加1,并将其移动到只读队列 RQ的头部;6)若CPU发出请求的数据页r未被命中,即该数据页不在内存缓冲区中,则判断缓冲区是否已满;若缓冲区不满,从闪存存取请求页,并重复步骤幻的过程;7)上述步骤6)中,若缓冲区已满,则判断只读队列RQ和修改队列WQ是否是非空的; 若都是非空的,则比较只读队列RQ和修改队列WQ队尾处两个数据页的权值,并将权值较小的一个数据页候选为置换页;否则,从非空的只读队列RQ或修改队列WQ中选择队尾处的数据页为置换页;8)若置换页是在修改队列WQ中选择的,还需要将置换页的内容写回闪存,然后才能从闪存存取请求页;否则,直接从闪存存取请求页;9)存取...