快速理解FAST Cache I/O处理
已更新
快速理解FAST Cache I/O处理
转载请在文首保留原文出处:EMC中文支持论坛
介绍
是从FLARE 30版本开始引入的用于增强存储整体性能的软件,新一代VNX完全改变了软件架构层次,且新的FAST Cache更名为Multicore FAST Cache(MCx实现)。本文将宏观地描述采用了FAST Cache、Multicore FAST Cache的系统的I/O处理过程,帮助读者快速理解。
更多信息
FAST CACHE基本运作原理
对于运行FAST CACHE的VNX/CLARIION系统,HDD上的繁忙数据会以异步(Async)的方式被promote(提升)到FAST CACHE,这种promote是基于对同一个64KB数据块 (chunk)访问(读/写)的次数来决定的(3次)。刚创建FAST CACHE时里面没有任何数据,且memory map也是空的,存储必须访问HDD LUN来服务I/O请求,这种情况称为FAST CACHE MISS。随着I/O数量的增加,FAST CACHE开始promote数据块,并在memory map中标记那些被promote的数据。对于之后的incoming I/O,FAST CACHE策略引擎会查找Memory Map中对应的数据块,从而决定是否由FAST CACHE来服务I/O请求。如果数据位于FAST CACHE,那么就有可能由FAST CACHE服务,这被称为FAST CAHCE HIT。
对于运行Multicore FAST Cache的新一代VNX系统,最大的改变就是把Multicore FAST Cache放到了DRAM Cache的下面,使得所有incoming i/o首先由DRAM Cache服务,减少了由memory map checking所带来的延迟。另外,如果Multicore FAST Cache的剩余空间>20%的话,single i/o hit会立刻触发Multicore FAST cache copy;一旦Multicore FAST Cache的剩余空间<20%,Multicore FAST Cache会返回以前的3-hit promotion模式。
读/写操作
读操作(FAST Cache):App发送读I/O给存储系统,FAST CACHE检查memory map确定结果为FAST CACHE HIT or FAST CACHE MISS,若是MISS则走最原始的I/O流程;若是HIT,系统继续检查DRAM,如果数据在DRAM中,那么就直接读DRAM;倘若不在,就读FAST CACHE并把一份拷贝放入DRAM。
读操作(Multicore FAST Cache):读I/O首先遇见Multicore Cache,在read hit的情况下会立刻返回应主机;在read miss的情况下,系统检查Multicore FAST Cache memory map,如果Multicore FAST Cache hit,则从Multicore FAST Cache读数据,否则从磁盘读取,并将数据的一份拷贝放入multicore cache(DRAM Cache),最后返回给主机。
写操作(FAST Cache):App发送写I/O给存储系统,假设是FAST CACHE HIT的情况,且目标LUN没有禁用write cache,系统会将数据写入write cache并ACK主机,此部分数据不会立刻写入FAST CACHE,而是当DRAM要执行flush时,才会被写到FAST CACHE,这相比写到HDD LUN快很多,从而减少了由于dirty page的囤积而导致的force flushing;那如果目标LUN的write cache是禁用的呢?在FAST CACHE HIT的情况下,写I/O会被直接写入FAST CACHE,若是FAST CACHE MISS,则写入HDD LUN。
写操作(Multicore FAST Cache):写I/O首先遇见Multicore Cache(也就是DRAM Cache),随即立刻Ack主机。当Multicore Cache准备将数据复制到磁盘上时,它将cache page发送给Multicore FAST Cache由其检查memory map,如果cache page属于Multicore FAST Cache,数据就会被拷贝至Multicore FAST Cache,否则就拷贝到数据磁盘。可见,MCx实现能够更快的响应写I/O。
小贴士:可以看到,对于FLARE FAST Cache实现,即便是FAST CACHE HIT,系统也总是尽可能地使用DRAM,因为DRAM的性能要远高于Flash Drive。
参考
- VNX FAST CACHE - A Detailed Review》
- 配置FAST Cache最佳实践与限制
- 《VNX MCx - Multicore Everything》
应用于