网络信息安全理论.ppt
《网络信息安全理论.ppt》由会员分享,可在线阅读,更多相关《网络信息安全理论.ppt(25页珍藏版)》请在课桌文档上搜索。
1、Log-Structured Memory for DRAM-Based Storage,Slide 1,Slide 2,全闪存储存速度存储系统的极限RAMCloud-内存云存储的内存分配机制,Slide 2,Slide 3,文章逻辑思路:,RAMCloud 概述Log MetadataLog-Structured Storage:日志结构的储存Two-level Cleaning-两种不同清除策略Parallel Cleaning:并行清除额外工作:Avoiding Cleaner DeadlockRAMCloud内存云存储的内存分配机制-意义RAMCloud的未来,Slide 3,Slid
2、e 4,RAMCloud 概述:,RAMCloud是一个完全使用DRAM的存储系统,它的所有数据都保存到内存中。当然为了恢复故障,RAMCloud会将日志和数据持久化备份到普通硬盘中。RAMCloud 适用场景:应用服务器(主要实现生成网页和执行业务规则等应用逻辑)存储服务器(为应用服务器提供长期共享存储)两种数据中心一般支持许多应用;有的很小,只使用一台服务器的一部分能力;有的很大,要用到数千台专用应用和存储服务器。,Slide 4,Slide 5,RAMCloud 概述:,RAMCloud内存云中保存的信息必须和硬盘一样持久,单个存储服务器的故障不能造成数据丢失和哪怕几秒钟的服务不可用。R
3、AMCloud将所有数据存放在DRAM中,性能可以达到比目前最高性能的硬盘存储系统还要高1001000倍。在访问延迟方面,RAMCloud方案中运行在应用服务器中的一个进程从同一数据中心的存储服务器中通过网络读取数百字节数据只需510s,而目前实际系统一般要花费0.510ms(具体取决于数据是在服务器内存缓存中,还是硬盘中)一台多核存储服务器每秒可以服务至少100万次小读取请求。而硬盘系统中同样的机器每秒只能服务100010000次请求。,Slide 5,Slide 6,Slide 6,RAMCloud 概述:,DatacenterNetwork,Coordinator,1000 10,000
4、 存储服务器,1000 100,000 应用服务器,Key-value store32-256 GB DRAM,5s RTT forsmall RPCs,系统易崩溃就采用多个备份,任何时段所有数据皆放于DRAM里,storage server,Slide 7,Log Metadata,在基于日志的文件系统中,为了快速的访问日志数据,日志中使用了各种索引。RAMCloud是使用了hash table来访问在memory中的数据。硬盘中的日志在正常工作的环境下是永远用不到的。它唯一被用到的机会就是故障恢复。,Slide 7,Slide 8,Log Metadata,日志分三种:1).元数据包含了存
5、储基本单元object的table id,key,version,value。在数据恢复时,将根据最新version的条目来重建hash table。2).日志摘要(log digest)每一个新的日志段都会有一个日志摘要,这个摘要包含了所有属于这个段的日志。在数据恢复时,将根据段的最新的日志摘要来加载所有的元数据。3).tombstone这个日志是比较特殊的。它代表了被删除的object。日志一旦写入就不可修改,但若一个object被删除就在日志中添加一条tombstone的记录。记录包含table id,key和version。在平时的操作中,tombstone是不会用到。但是在数据恢复时
6、,它能保证被删除的object不会被重建。,Slide 8,Slide 9,Slide 9,Log-Structured Storage:日志结构的储存,哈希表,table id,object key,不变的日志,8 MBSegments,Log head:在这增加下个目标,每一段复制到磁盘上的3个备份服务器上,主服务器,Slide 10,Two-level Cleaning:,对于基于日志的内存分配,主要的瓶颈就在于log cleaner。碎片管理,或者说内存回收是非常昂贵的,这就需要巧妙的设计。特别是随着内存利用率的上升,回收的成本也越来越大。例如,对于一个内存利用率80%的情况,为了获取
7、2B的可用空间,平均情况下需要移动8B的数据。如果是90%,那么移动9B的数据只能带来1B的空间。见下图的上半部分。,U:fraction of live bytesin cleaned segments,0.5,0.99,0.9,Bytes copied by cleaner(U),Bytes copied/byte freed(U/(1-U),Bytes freed(1-U),Slide 10,Slide 11,Two-level Cleaning:,对于Memory来说,更关注的是空间的利用率,因为DRAM比较贵的。对于硬盘来说,带宽是昂贵的,可以说很多系统的瓶颈都是在硬盘的IO读写速度
8、上。因此RAMCloud对于memory和disk采取了两种不同的回收策略。,Disk,Memory,Capacity,Bandwidth,cheap,expensive,expensive,cheap,Conflicting Needs:,Slide 11,Slide 12,Two-level Cleaning-两种不同清除策略,因为两个阶段的清除,使得memory的cleaning可以不影响Backup,这个结果就是一般来说memory的利用率要高于disk。memory的利用率可以达到90%,disk的要低得多。当然因为disk的cleaning的频率更低,这也就可以理解了。第一种:se
9、gment compaction 仅仅是处理了in-memory的segment,并没有消耗网络或者disk的IO。实际上占用了更少的空间。第二种:combined cleaning不仅清理disk,也清理 memory。因为已经有segment compaction了,所以该方法效率更高。且因为这一阶段被延后进行了,可以合并更多的删除操作了。,Slide 12,Slide 13,Two-level Cleaning-两种不同清除策略,“seglet”如果没有segment compaction,那么所有的segment都有相同的大小,默认情况下是8MB。因为有了压缩,因此segment可以有
10、不同的大小。但是不能采用传统的heap allocator,因为会产生碎片。RAMCloud将segment分为64KB的seglet。每个segment分为不同的seglet,seglet的数量就决定了segment的大小。虽然认为seglet的引入=也会引入碎片。实际上,对于一个segment来说,只可能产生大约1/2个seglet大小的碎片,也就是32KB/8MB=1/64=1.5%。也是由于seglet的引入,log现在变得不连续了,因为log有可能跨越多个seglet,RAMCloud使用了额外的机制来处理这种情况。,Slide 13,Slide 14,Two-level Clean
11、ing-两种不同清除策略,“clean的触发机制”two-level的cleaning的引入,引入了一个新的问题:什么时候触发segment compaction,什么时候触发combined cleaning?这个选择将会影响到系统的性能,因为combined cleaning占用了系统珍贵的disk IO和network IO。这个policy 模块,称为balancer。一般情况下,在memory和disk的利用率不是很高的情况下,cleaner是不会工作的。因为cleaner的提早工作并不会有多高的效率。相反,如果cleaner的工作延后,那么可以处理更多的删除的object,可以回收
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 信息 安全 理论

链接地址:https://www.desk33.com/p-233739.html