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一致性)这个情景,如果感兴趣,还得仔细阅读原文。

时间: 2024-10-04 12:34:36

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

可软件定义的存储逻辑二——Energy适应性的分布式存储系统

这个论文[3]提出了一个灵活的.可扩展的分布式存储系统,给它取名字flexStore.这个分布式存储系统可以非常好的适应数据中心中不停变化的能源,给去重的虚拟机磁盘IO存取带来很好的性能.研究人员研究并提出了一种智能的控制来对付数据中心供电的限制,因为有可能存储阵列的节点密度增加了,也有可能绿色能源和传统能源混合一起给数据中心供电.在这个存储框架中最重要的一个部件就是处于框架当中的策略引擎(policy engine),他是一个软件层,给应用程序提供自定义性能需求的接口,当然也提供能源相关的策略

可软件定义的存储逻辑——Efficient and agile storage management in software defined environments

        note:写这个也许算是翻译,又或算是对这个论文[1]的理解,又或者只是我的看法.         这篇论文和IOFlow相比较,更加地注重软件定义存储的框架(我觉得是利用已有的框架来创建新的框架,然后使用已有的协议),而不是像IOFlow那样注重通信的协议.并且,这个框架还是软件定义环境的框架,而不仅仅是存储的框架,不过全文注重说了存储(更有挑战性).特别地,关于可软件定义的存储逻辑,从这里可以管中窥豹. SDE软件定义环境 数据中心的环境包括Compute.Network和S

软件定义再造存储

通过弹性存储,IBM让软件定义存储落地.软件定义存储具有像摇滚乐那样的震撼力,将对传统存储市场产生巨大冲击,并通过对存储的安全.速度.成本.交付等方面的优化,重塑存储. "摇滚吧,存储!"在9月4日召开的"为大数据时代再造存储摇滚盛典"上,IBM喊出了这样的口号.这也形象地反映出,在云计算时代,存储正在经历新的变革,而软件定义存储很可能成为一道分水岭,它给存储市场带来的震撼力如同摇滚音乐带给人们的震撼一样. 软件定义存储观逐渐形成 IBM软件定义存储观的形成有一个逐

(转载)Android数据存储三种方式总结

本文转载自:http://www.cnblogs.com/ITtangtang/p/3920916.html 本文介绍Android平台进行数据存储的三大方式,分别如下: 1 使用SharedPreferences存储数据 2 文件存储数据 3 SQLite数据库存储数据 其他: 4 使用ContentProvider存储数据 5 网络存储数据 下面详细讲解这五种方式的特点 第一种: 使用SharedPreferences存储数据     适用范围:保存少量的数据,且这些数据的格式非常简单:字符

从零开始学android<数据存储(4)Sqlite数据库存储.三十八.>

从前几章我们分别学习了属性文件存储输数据,内储存存储数据,和外部储存存储数据,今天我们来学习一下android 轻量级数据库Sqlite数据库的数据存储 首先必须了解SQLiteOpenHelper SQLiteDatabase类本身只是一个数据库的操作类,但是如果要想进行数据库的操作,还需要一个android.database.sqlite.SQLiteOpenHelper类帮助下才可以取得进行,但是,SQLiteOpenHelper类是一个抽象类,所以要使用的时候需要定义其子类,并且在子类中

Android开发之数据持久化存储三

一.目标 实现SD卡的文件存储,SD卡是否挂载的检查和SD卡剩余空间的查询 二.源程序代码 package com.example.qq_logindemo; import android.Manifest; import android.app.Activity; import android.content.pm.PackageManager; import android.os.Build; import android.os.Bundle; import android.os.Envir

从零开始学android<数据存储(3)External Storage外部存储.三十七.>

所谓的外部存储External Storage就是将数据文件保存在SD卡上. 1.但是在保存数据时需要先对SD卡的状态进行判断. 使用Environment.getExternalStorageState()可以SD卡的运行状态 分别有一下的状态 MEDIA_UNKNOWN, MEDIA_REMOVED, MEDIA_UNMOUNTED, MEDIA_CHECKING, MEDIA_NOFS, MEDIA_MOUNTED, MEDIA_MOUNTED_READ_ONLY, MEDIA_SHARE

从零开始学android<数据存储(2)Internal Storage内部存储.三十六.>

Call openFileOutput() with the name of the file and the operating mode. This returns a FileOutputStream.通过 openFileOutput()建立FileoutputStream对象 Write to the file with write().创建Write对象并进行数据读写操作 Close the stream with close().最后关闭链接 以上就是讲数据文件保存到内部储存的基本

android菜鸟学习笔记19----Android数据存储(三)XML文件的解析及序列化

Android内置了PULL解析器的XPP3实现,以及SAX解析器等,可以直接使用PULL或SAX解析XML,直接把JAVA中进行PULL或SAX解析的代码直接拿来用,遗忘的话,可以参考java拾遗1,2,3关于XML的解析: 如有如下XmlUtils类实现PULL方式解析XML到List和序列化List到XML: Student实体类代码: 1 package cn.csc.bean; 2 3 public class Student { 4 5 private String id; 6 7