摘要
针对现有面向闪存的缓冲区替换算法的不足,提出了一种基于生命值敏感的闪存数据库缓冲区替换算法LAB-LRU。该算法把缓冲区分为3个LRU链表来管理,为缓冲区中每个活跃页定义生命值,使高生命值的数据页在缓存中停留更久。生命值的定义充分结合了数据页的访问频度、新颖度(recency)和闪存的读写代价,并采用多线程技术和双阈值控制实现并行高效替换。采用符合Zipf分布的不同用例进行测试,实验结果表明:在缓存命中率、闪存读写次数和系统运行时间方面,本文提出的LAB-LRU算法与现有缓存算法相比性能得到了明显提高。
NAND flash memory is more and more widely applied in data storage systems. However, NAND flash memory has some inherent characteristics of asymmetric I/O latencies for read and write operations, erase-before-write and limited erase cycles, which are different from those of disk operations. So the existing traditional buffer algorithms for disk are not suitable for flash-based storage systems. Aiming to design an efficient buffer management policy for NAND flash memory, a life-aware buffer management algorithm named LAB-LRU is proposed, which manages the buffer by using three LRU lists. A life value is defined for each buffer page to enable active pages to stay longer in the buffer. The definition of the life value gives consideration of different access frequency, recency and the cost of flash read and write operations. Moreover, the multithreading technology is adopted to monitor the use of buffer size in parallel and evict dead pages in advance. A series of trace-driven simulations are carried out. The results show that the proposed LAB-LRU algorithm significantly outperforms the previous best-known algorithms in terms of the buffer hit ratio, the numbers of flash write and read operations and the overall runtime.
出处
《吉林大学学报(工学版)》
EI
CAS
CSCD
北大核心
2017年第2期632-638,共7页
Journal of Jilin University:Engineering and Technology Edition
基金
国家科技重大专项项目(2013ZX03001008-003)
关键词
计算机应用
闪存
数据库存储系统
缓冲区替换算法
生命值
computer application
flash
database storage system
buffer management algorithm
life value