磁盘缓存压缩解读.ppt

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * 目录 国内外研究现状 磁盘架构与优化方案 磁盘缓存压缩设计与实现 实验结果 未来展望 国内外研究现状 关于磁盘内部缓存 磁盘内部的研究工作比较少,过去的文献大多集中于磁盘缓存对系统影响的调查。 磁盘缓存的大小,读写缓存段的比例分配,缓存段的长度,读写请求的局部性,请求的频率以及访问模式都会大大影响系统的性能。 关于缓存压缩 目前关于缓存压缩的文献多集中于cpu cache或是memory的压缩,结果表示压缩对系统整体性能有不错的提升。 关于内存的压缩相关的工作较多,所用的到算法主要有LZO,WKDM等通用无损压缩算法。CPU缓存的压缩有一些比较好的算法,如FPC,C-PACK算法。 存储器趋势 如何平衡主存与磁盘的速度鸿沟呢? 缓存方案 平衡快总线与慢机械部件 保存已有数据-- Buffering 预取后续数据-- Read-ahead or Prefetching 合并写请求-- Write combing” and Write-behind. 我们的解决方案 Considerations: 压缩哪类数据? 何时压缩? 如何实现? 设计依据 “随机” 和 “已访问”很少被再次利用, 并且预取后续数据比较缓存现在数据更有价值, 因此预取的数据需要被压缩. 脏数据很有可能被再次改写. 为了降低设计复杂度,我们不压缩写请求数据. 只压缩预取数据. 磁盘缓存压缩设计 系统设计 修改磁盘缓存模块,添加压缩机制 所有通过磁盘缓存的数据,都必须经过压缩机制的管理。 Disksim? 磁盘是复杂的精密器件,内部时序复杂且操作基本上以微秒为时间单位。 大量研究进行了磁盘的软件模拟,但太多被证明是精度太差,没有太大的现实意义。因此我们一定要利用前人的成果。 Disksim非常精确地模拟了这些。只有深入理解Disksim,才能对磁盘架构做细致修改。 全局模块 高内聚低耦合 压缩模块:压缩率管理 缓存模块:缓存段布局 缓存段管理 我们将磁盘缓存分为两个区域,分别是读区域与写区域。 读区域专门存放读请求所缓存的数据,并且预取后续的数据。 对于写请求,只能修改写区域中的数据。 磁盘缓存数据管理 采用FPC算法,在每个压缩后的数据块前增加header以作头部元数据 Disksim缓存格局 FPC压缩算法 逻辑简单的模块匹配压缩算法,对于一个64字节的cache line,只需要3个cpu周期来进行压缩,5个cpu周期进行解压缩。 Prefix Pattern Encoded Data Size 000 Zero Run 3 bits (for runs up to 8 zeros) 001 4-bit sign-extended 4 bits 010 One byte sign-extended 8 bits 011 halfword sign-extended 16 bits 100 halfword padded with a zero halfword The nonzero halfword (16 bits) 101 Two halfwords, each a byte sign-extended The two bytes (16 bits) 110 word consisting of repeated bytes 8 bits 111 Uncompressed word Original Word (32 bits) 换算为时间将开销增加到DiskSim中。 缓存段实现 磁盘控制器模块 磁盘控制器模块 磁盘原有时序 压缩动作与磁盘读盘片的时间并行,不增加开销。 解压缩动作与总线传输时间并行,只增加部分开销。 通过时序并行以最小化开销 针对SCSI协议的关键位置修改。 * *

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档