Log-Structured Memory for DRAM-Based Storage09091101班尚芳芳Slide 1Slide 2?全闪存?储存速度?存储系统的极限?RAMCloud ------内存云存储的内存分配机制Slide 2Slide 3文章逻辑思路:①RAMCloud 概述②Log Metadata③Log-Structured Storage:日志结构的储存④Two-level Cleaning--两种不同清除策略⑤Parallel Cleaning:并行清除⑥额外工作:Avoiding Cleaner Deadlock⑦RAMCloud内存云存储的内存分配机制--意义⑧RAMCloud的未来Slide 3Slide 4RAMCloud 概述:?RAMCloud是一个完全使用DRAM的存储系统,它的所有数据都保存到内存中。当然为了恢复故障,RAMCloud会将日志和数据持久化备份到普通硬盘中。?RAMCloud 适用场景:?应用服务器(主要实现生成网页和执行业务规则等应用逻辑)?存储服务器(为应用服务器提供长期共享存储)?两种数据中心一般支持许多应用;有的很小,只使用一台服务器的一部分能力;有的很大,要用到数千台专用应用和存储服务器。Slide 4Slide 5RAMCloud 概述:?RAMCloud内存云中保存的信息必须和硬盘一样持久,单个存储服务器的故障不能造成数据丢失和哪怕几秒钟的服务不可用。●RAMCloud将所有数据存放在DRAM中,性能可以达到比目前最高性能的硬盘存储系统还要高100~1000倍。●在访问延迟方面,RAMCloud方案中运行在应用服务器中的一个进程从同一数据中心的存储服务器中通过网络读取数百字节数据只需5~10μs,~10ms(具体取决于数据是在服务器内存缓存中,还是硬盘中)●一台多核存储服务器每秒可以服务至少100万次小读取请求。而硬盘系统中同样的机器每秒只能服务1000~10000次请求。Slide 5Slide 6Slide 6RAMCloud 概述:…workCoordinator1000 – 10,000 存储服务器1000 – 100,000 应用服务器MasterBackup…-value store32-256 GB DRAM5μs RTT forsmall RPCs系统易崩溃就采用多个备份任何时段所有数据皆放于DRAM里storage serverSlide 7Log Metadata●在基于日志的文件系统中,为了快速的访问日志数据,日志中使用了各种索引。●RAMCloud是使用了hash table来访问在memory中的数据。●硬盘中的日志在正常工作的环境下是永远用不到的。它唯一被用到的机会就是故障恢复。Slide 7Slide 8Log Metadata●日志分三种:●1). 元数据●包含了存储基本单元object的table id,key,version,value。在数据恢复时,将根据最新version的条目来重建hash table。●2). 日志摘要(log digest)●每一个新的日志段都会有一个日志摘要,这个摘要包含了所有属于这个段的日志。在数据恢复时,将根据段的最新的日志摘要来加载所有的元数据。●3). tombstone●这个日志是比较特殊的。它代表了被删除的object。日志一旦写入就不可修改,但若一个object被删除就在日志中添加一条tombstone的记录。记录包含table id,key和version。在平时的操作中,tombstone是不会用到。但是在数据恢复时,它能保证被删除的object不会被重建。Slide 8Slide 9Slide 9Log-Structured Storage:日志结构的储存哈希表{table id,object key}不变的日志8 MBSegmentsB17B86B22B3B72B66B49B3B16Log head:在这增加下个目标每一段复制到磁盘上的3个备份服务器上主服务器Slide 10Two-level Cleaning:●对于基于日志的内存分配,主要的瓶颈就在于log cleaner。碎片管理,或者说内存回收是非常昂贵的,这就需要巧妙的设计。特别是随着内存利用率的上升,回收的成本也越来越大。例如,对于一个内存利用率80%的情况,为了获取2B的可用空间,平均情况下需要移动8B的数据。如果是90%,那么移动9B的数据只能带来1B的空间。●见下图的上半部分。.
网络信息安全理论 来自淘豆网m.daumloan.com转载请标明出处.