首页 > 代码库 > SDCC:可软件定义的存储三——just-in-time caching in an enterprise storage system

SDCC:可软件定义的存储三——just-in-time caching in an enterprise storage system

        note:本文要说的是一篇论文(Software defined just-in-time caching in an enterprise storage system)的思想。

框架

        如下图所示,如果你懂SAN,DAS以及cache的机制,从这个框架就可以看出这个框架的思想(~~不解释啦)


        note:虽然SAN中的存储节点画出了storage node的tier结构,实际上这个论文完全不讲tier policy,只关心DAS的cache read...

SDCC layer

        协调flash和san,来达到很好的优化的目的。sdcc server通过给client做出caching决定。而client则负责管理局部的数据cache空间,细粒度的监控workload,然后将数据从SAN搬运到DAS,从而达到更短的读请求相应时间。


每个client的设计如下



SDCC protocol就是通信的协议,负责和server通信;

cache directory是一个维护cache目录的结构体;

watchlist维护一个待放入cache的信息结构体;

DAS Manager主要是负责管理Flash cache;


application 的hint:是一种将app的数据放置到目标位置的消息,是应用程序调用SDCC的API(注意框架图中的SDCC API layer,应用程序的hint API通过这个层次可以到达SDCC client)发出的,这个是和应用程序本身存取请求不一样的;


SDCC Server

?在SDCC集群的拓扑图中,sdcc server处于这么一个重要的位置,集群中cache的事情也都要这个sdcc server来做。
?sdcc server掌握了workload的存取特征,系统配置和hint消息。利用这些消息来做data的移动
?正因为sdcc server处于这么重要的位置上,有global view,从而可以做出更好的决定。server也不盲目的认为hint是很重要的,但是会很看重。


selective caching 

?SDCC client选择 what to promote:

1.Monitor workload

2.Advise from the server

3.Hints from SDCC-API

达到的三重目标:

1.增加hit命中率

2.最大化read带宽

3.最大化Flash 生命周期


测试结果

1.对于Brokerage Tansactiuonal(90% read)

?Brokeragetransactional workload:90% read ;10% write操作;To demonstate how SDCC improvetransactionnal rate


?OLTPtransactional workload;40%read;60%write;To demonstrate the response timeimprovement under constant throughput


p.s.本文讲的过于简单,但是希望至少是带入了SDCC(软件定义的cache一致性)这个情景,如果感兴趣,还得仔细阅读原文。

SDCC:可软件定义的存储三——just-in-time caching in an enterprise storage system