当前位置: 首页 > news >正文

南宁定制网站制作电话怀柔做网站的公司

南宁定制网站制作电话,怀柔做网站的公司,装修电话,网站前端设计招聘BCW: Buffer-Controlled Writes to HDDs for SSD-HDD Hybrid Storage Server 原文地址 为了兼顾访问性能和硬件成本#xff0c;目前有不少的存储系统都采用了混合存储#xff08;Hybrid Storage#xff09;#xff0c;使用 SSD 来提供微秒级访问#xff0c;配合 HDD 来降…BCW: Buffer-Controlled Writes to HDDs for SSD-HDD Hybrid Storage Server 原文地址 为了兼顾访问性能和硬件成本目前有不少的存储系统都采用了混合存储Hybrid Storage使用 SSD 来提供微秒级访问配合 HDD 来降低存储成本。在实现细节上一般会使用 SSD 来服务用户的写操作cache然后通过后台操作批量将 SSD 存储的数据搬迁到 HDD 进行更长时间的存储。 阿里云的盘古存储系统采用了类似设计来实现混合存储在观察了生产环境中的使用情况后论文作者发现系统对 SSD/HDD 的利用上存在明显的不均衡现象SSD 经常被过度使用而 HDD 的利用率却相对较低尤其是 write-intensive workload。 下表中四种负载分别来自于A计算型任务B存储型任务C、D结构化存储。 在写负载持续增高的情况下以 SSD 为主的混合存储系统会面临如下问题 SSD 寿命持续的高负载会缩短 SSD 寿命从数据上来看SSD 的每日写入情况经常触及所设上限即 DWPD (Drive Writes Per Day)。SSD 性能在写入密集的情况下大量的写请求可能会超过 SSD 的处理能力导致请求在 SSD queue 中排队引起长尾延时除此之外请求的增加也会更频繁地触发 SSD 的 GC导致性能下降。 对于此问题一个直接的解法是引入更多的 SSD无论是加机器还是单机上增加 SSD这都能降低单个 SSD 承担的压力但会引入额外的硬件成本性价比很低。 是否能够在不增加硬件且不降低系统性能的情况下解决此问题呢 通过大量针对 HDD 的实验作者发现在进行连续的顺序写时HDD 的延时表现出了显著的周期性。在持续写入的时间线上延时大致能划分为 fast - slow - mid 三个阶段以 4K 大小的请求为例fast 阶段持续 60ms延时为 35us然后是一个瞬时的 slow 阶段延时为 12ms接着的 mid 阶段持续 40ms延时为 55us之后则是 mid/slow 交替直至某个时间点回到 fast10TB 西数 HDD 上并没有展现完整的周期但 8TB 西数 HDD 的测试上体现了这一点下图。 可以看到在 fast/mid 阶段HDD 的延时在 us 级这和 SSD 非常接近。引起这一现象的源头是 HDD 内部的 buffer 机制HDD 会在其内置的 DRAM 中给写请求划分一块 buffer当它将一个请求存入 buffer 后它会向上层返回成功。而当 buffer 达到一定阈值后HDD 会将 buffer 中的数据写入物理介质这个刷盘过程会阻塞后续的写入从而导致延时增大。除此之外如果 HDD 持续 idle它也会隐式地执行此操作来清空 buffer另外 sync 的调用也可以触发 buffer 的刷盘。 这个发现为前述问题提供了一个解决思路 如果我们能够预测 HDD 下一次写入的情况在它能够提供微秒级延时时将请求交由 HDD 进行处理。 为了更好地描述 HDD 的这一特性论文中对此进行了建模F、M、S 分别对应上述 fast/mid/slow 阶段当进入 M/S 阶段后需要经过 sync才能使时延回到 F。对于不同型号的 HDD模型参数表中的 L, W, F 会有差异但均可通过事先测试来获取具体可参见原文此处不再赘述。 Design Write-state Predictor 在模型的基础上文中根据当前的 buffer 大小以及写入状态F、M、S构建了对应的预测状态机进而设计了预测算法。 此算法中的 ADW 是个持续累积值需要由外部调用方下文中的 BCW 算法来进行清理除此之外算法逻辑比较清晰此处也不展开描述了。 值得一提的是作者对预测算法的准确性进行了验证以 128K 为单位连续写入 100GB 数据每写入 1GB 后就调用一次 sync 操作。结果显示算法对 F、M、S 三种状态的预测准确率能够达到 99.5%、98.1% 和 60.3%。可见对 F/M 的预测还是很准确的对 S 状态的错误预测是因为算法更侧重于保证性能毕竟从性能角度来看相比将 S 预测为 F/M把 F/M 预测为 S 会造成更严重的影响。 Buffer-Controlled Writes (BCW) 基于状态预测算法作者实现了写入控制算法BCW以尽可能保证所有的用户请求都在 HDD 处于微秒时延的状态F/M时被写入。 这个算法同样不能独立工作仍需要外部算法在 HDD 处于微秒时延时向写入队列转发请求算法中通过 flagHDD 来告知外部算法是否可以转发。 BCW 的一个主要设计在于其写入 padding 数据的逻辑 PS padding由于预测算法会在 F/M 状态下的 ADW 接近 Wf 或 Wm 时返回 S 状态BCW 根据此可以得知buffer 即将被填满所以它通过主动地构造 PS padding 数据较大64KB来触发 slow 写入直到某次写入的时延对应的状态不再为 SBCW 即认为当前 HDD buffer 以恢复到能够以微秒时延写入数据的状态它会重置 ADW。PF padding考虑到低负载的情况下HDD 可能不会收到任何写入请求可能 SSD 足够处理为了保证算法的稳定性BCW 会在非 S 状态时不断写入 PF padding较小4KB。算法中仅在预测状态为 M 的情况下进行此操作这是因为当 sync 或者 HDD 内部隐式 flush 被执行后buffer 会进入到稳定的 F 状态此时无需做任何的 padding。 Mixed IO scheduler (MIOS) 正如 BCW 中提到的它需要外部算法根据其设置的 flag 来决定此时是否能将请求转发给 HDD因此整个设计上需要一个调度器根据 HDD/SSD 的状态来进行综合调度决定每一个写入请求最终由谁处理。 如图所示本文设计的调度策略所参考的指标除了前述 HDD 的状态/flag 外还引入了 SSD 队列长度 l(t)。调度算法如下 算法的基本逻辑很容易理解 当 flag 被设置时HDD 一定处理 S 状态此时请求只能由 SSD 处理。当 HDD 处于 F/M 时如果 SSD 并不忙队列长度 l(t) 并非超过设置的阈值 L交由 SSD 处理对性能最好。 关于阈值 L 的选择文章给出的经验值为 1Evaluation 部分也给出了相应的验证来说明这一点。 在基本逻辑之上调度算法还被细化为 MIOS_E 和 MIOS_D两者的区别在于当 SSD 不忙且 HDD 处于 F 状态时前者会将请求转发给 HDD 以进一步地降低 SSD 的负载。 需要注意的是MIOS 算法需要拥有对 HDD 的完全控制所以当读请求到来时BCW 算法会被挂起来处理此请求此时不能再向该 HDD 写入数据。这也比较容易理解当读请求到达时HDD 的磁头可能就跑到了另外的地方无法再保证连续写的要求。因此对于 read-dominated workloadMIOS 并不适用。 Evaluation Baseline纯 SSD 写入。MIOS_EMIOS_D Production Workloads 论文使用了前述的 4 种 workload 对 MIOS 算法进行了详尽的实验结果如下。 时延对比无论是平均时延还是长尾时延MIOS 都拥有更好的效果。 SSD 队列长度分布也体现了长尾延时的降低。 不同请求大小下的平均时延对于大请求MIOS 的效果比 baseline 更差一方面是在写入大请求时SSD 本身比 HDD 拥有更佳的性能内部并行机制另一方面则是大请求相对较少被 SSD queue length 或 GC block 的概率也较低。 MIOS_E vs MIOS_D 因为 MIOS_E 允许在 SSD 不忙的情况下将请求转发给 HDD所以相比 MIOS_D它会转发更多的请求但也会导致时延上升。这个现象对于 workload A 特别明显从表 3 可知相比其他三个 workload 而言它对 SSD 的 workload 很低这也使得在 MIOS_D 下大部分请求仍旧由 SSD 进行处理能够获得更好的性能但在 MIOS_E 下请求被转发给 HDD导致了性能下降。 但这并不意味着 MIOS_E 毫无用武之地当 SSD 的写入性能本身就一般的情况下即使它的 queue length 并未表现出忙的特征但实际写入的延时可能依旧较高此时转发给 HDD 反而能获取更好的性能。作者尝试将 SSD 替换为 660p原先为 960EVO性能更佳后MIOS_E 表现非常好。 除了性能以外因为 MIOS_E 会收到更多的 HDD 请求从而算法中的 padding 数据也会增多所以它相比 MIOS_D 会产生更多的空间浪费。另外MIOS 算法将部分 SSD 负载搬迁到 HDD 上执行会有效提高 HDD 的利用率但仍需要确认HDD 仍有足够能力来承担数据搬迁SSD-HDD任务。实验对此进行了验证有兴趣的同学可以参考原文此处不再赘述。 Write Intensity 由于 MIOS 利用了 HDD 连续写的特性所以它非常适合 write-intensive workload作者对此进行了补充测试X 轴代表的是发送间隔越小数据量越大。 可以看到当写压力很大的情况下20-60usSSD 的性能会受到排队和 GC 的影响平均时延和长尾时延都要高于 MIOS。而当压力降低到可承受范围后SSD 将保证稳定的写入性能此时MIOS_D 退化为纯 SSD 写入因为 SSD 无忙特征但 MIOS_E 依旧会转发部分请求至 HDD所以相对之下会有更高的平均和长尾时延。 总结 总的来说MIOS 充分利用了 HDD 在连续写场景下的时延周期特性找到了一种在混合存储下保证微秒级写入和存储成本二者兼得的方法尤其对于 write-intensive workload未受到读请求打断的 MIOS 效果会非常好。 整体的设计还是非常容易理解的但发现这一特性并设计出能够稳定运行的算法生产环境必须相信作者们花费了不少功夫。 原文链接 本文为云栖社区原创内容未经允许不得转载。
http://www.pierceye.com/news/326026/

相关文章:

  • 小游戏网站怎么做建站徐州seo代理计费
  • 苏州网站建设数据网络淘宝网店怎么运营起来
  • 网站建设项目实战实训报告凡科建网站
  • 网站建设程序编制做网站优化的教程
  • 已有网站 需要整改 怎么做信息网官网
  • 中石建基础设施建设有限公司网站南阳网站建设的公司
  • 广东建设银行网站营销渠道策略
  • 廊坊开发区规划建设局网站网站域名续费一年多少钱
  • 网站建设需要哪些准备国外网站顶部菜单设计
  • 免费域名注册和免费建站深圳品牌沙发
  • php网站开发就业网站开发研究综述
  • 华升建设集团有限公司网站网站如何做那种诱导广告
  • 做资讯网站要什么手续科技设计公司网站模板下载
  • 西安互联网网站建设湘潭网站建设设计
  • 微网站开发方案模板前程无忧招聘网下载app官网
  • 网站推广方式大全如何写软文赚钱
  • 同城同镇网站建设做幼儿网站的目标
  • 上饶网站建设兼职辽宁沈阳做网站
  • 阳江企业网站好的外包公司
  • 深圳做分销商城网站我有域名跟空间能教我做网站吗
  • 网站子目录做推送用什么网站
  • 网站手机优化网站上传空间的ip地址
  • 做网站增加流量自助微信网站设计
  • 网站推广的6个方法是什么软件开发合同模板范本1
  • 营销网站手机站wordpress的主题目录
  • 达州建设企业网站重视网站商务通
  • 淘宝网站怎么做视频58做二手车网站应该怎么推广
  • 自动翻译网站软件cf刷枪网站怎么做的
  • 示范校建设验收网站网站对话窗口怎么做
  • phpcms 移动网站模板怎么做个人网页