基于闪存的缓存系统设计与实现

来源 :华中科技大学 | 被引量 : 0次 | 上传用户:hexiaole632
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着信息科技的迅速发展,基于闪存的存储设备以其显著的高性能和低能耗等优势,正逐渐成为计算机存储系统中的一个重要组成部分。然而,由于其相对较高的价格和低容量,如何通过经济高效的方式,让闪存设备在高性能存储系统中充分发挥作用成为一项重要的系统研究问题。将固态硬盘中闪存转换层的功能集成到缓存系统中,由缓存系统直接控制闪存芯片,并对闪存空间进行管理。利用传统固态硬盘中的保留空间来缓存更多数据,当缓存的数据页热度下降时,将其移动到保留空间中并标记为可擦除状态,可擦除状态下的数据页同样能起到数据缓存的作用。在此基础上,提出了结合访问次数的改进LRU算法,用于对缓存中的热点数据进行筛选,缓存中的非热点数据将被标记为可擦除状态,成为垃圾回收的候选目标,但是在其真正被擦除之前,仍然能够被命中,且命中后将重新成为热点数据。当闪存的使用空间达到阈值时,垃圾回收操作将启动,选择无效页和可擦除页集中的数据块,迁移其中的有效页,淘汰可擦除页,并擦除该数据块,释放其空间。另外,结合缓存的需求和闪存特性,提出了针对性的静动数据分离方案,根据工作负载的特性和数据页的访问历史,将数据页划分为静态数据和动态数据,分别写入到不同的数据块中,使无效页和可擦除页的分布更加集中,提升垃圾回收的效率。实现上述系统并进行仿真测试。测试结果表明,使用Financial和TPCC的trace进行测试,与FlashCache进行对比,性能提升分别为9.6%和39%,同时,写闪存的次数分别减少了1.2%和4.6%。
其他文献
自上个世纪90年代以来,面向对象的软件开发技术成为软件开发的主流技术,使得基于面向对象的软件复用被视为解决软件危机的一条现实可行的途径。按照复用的不同级别,软件复用
近年来,虚拟化应用场景日益增多,多用户拥有独立逻辑空间、共享后台资源,随着CPU计算资源和网络带宽资源大幅提升,存储资源逐渐成为性能瓶颈。固态盘(SSD)具有高性能、低能耗
学位
面对海量数据,利用图计算或机器学习等具有迭代特征的复杂应用对其进行处理很常见。通过在迭代之间共享缓存数据,典型的分布式内存计算系统如Spark极大地提升了迭代程序处理
互联网的普及和电子商务的迅速发展造成了信息的过载,用户在大量的产品信息中难以找到需要的商品,由此,电子商务推荐系统应运而生。当前,电子商务推荐系统在实际运用中还不成
随着高性能并行系统的发展进步,并行计算的运用越来越受到广泛的重视,在并行计算性能提高需求增长的同时,I/O设备和CPU速度的增长率不匹配成为并行计算性能提高的主要瓶颈,所
随着J2EE技术大规模的应用,EJB技术受到广泛的质疑。EJB技术给J2EE应用开发带来了严重的复杂性和巨大的开销。降低J2EE的复杂性开始成为开发者的主要关注点。目前,在开源社区
随着信息时代的到来,各种电子文本数据急剧增加,如何对庞杂的数据进行有效的管理并快速的获取需要的信息,已成为一项亟待解决的重要课题。文本聚类和文本分类作为一个有效的
随着近年来数据规模的爆炸式增长,数据去重和数据压缩作为削减数据冗余的两种关键技术,受到了更多的关注。和数据去重技术相比,数据压缩技术能够消除更多的数据冗余。在检测
本论文针对如何优化海量数据系统性能的问题进行若干方面的研究,提出了基于多因素的缓存替换算法CacheValue以及在数据库查询优化方面提出了基于双半连接的查询优化算法。