手动搜集资料,不敢保证无误,如有错误,恳请指正。 1. 设备 最新的3D XPoint存储器比DRAM慢10倍,便宜2倍;比NAND FLASH快1000倍,贵5倍左右,性能比其他PCIe和NVMe的SSD快10倍左右。并且它是一种NVM。 下表摘自[2] Type Volatile? Writeable? Erase Size Max Erase Cycles Cost (per Byte) Speed SRAM Yes Yes Byte Unlimited Expensive Fast DRAM Yes Yes Byte Unlimited Moderate Moderate Masked ROM No No n/a n/a Inexpensive Fast PROM No Once, with a device programmer n/a n/a Moderate Fast EPROM No Yes, […]

时隔近3个月,我本科毕业后第一次回到了西安,见到了在本校读研的舍友们,不过主要还是来参加信息存储年会的。 会议有特邀报告、青年学者报告和优秀论文交流报告,分别是大神级的学者、大神级的青年学者和大神级的博士生进行报告,听了这些报告真的感觉到自己的差距有多么大,同时感觉不虚此行。 这是一篇我所听报告的部分内容的总结,语言从我个人理解的角度出发,信息可能不全或不准确,如有问题,欢迎讨论和指正。 阻变存储器性能优化方法的研究 冯丹教授讲的题目是“ 阻变存储器性能优化方法的研究 ”。首先RRAM(阻变式存储,Resistive Random Access Memory,ReRAM)是一种非易失性存储器(NVM),尺寸单元小,有发展潜力。冯丹教授这次的报告是比较偏硬件,但还是有很多启发。 背景: DRAM在技术上要降低能耗、提升容量越来越难,而且DRAM技术提高的速度比CPU慢,另外技术工艺达到40nm之后很难再提高。所以ReRAM代替DRAM是一种选择。 RRAM的存在的问题: 1. reset延迟和能耗代价均高于set;2. TLC的延迟大于SLC;3. 存在IR-drop的问题,离驱动电源越近,延迟越低。 几项工作: 1. 针对上述第一点问题,提出了可以将对角线上的set和reset并行,这样降低了总延迟时间。 2. 针对上述第二点问题,使用了一种“压缩率感知”的方法,利用MLC/TLC中中间几种状态慢于两边状态的特点,将中间的几个状态合并,根据压缩的工作负载的压缩率,来进行决策,重新编码存储(比如把原来MLC的4中状态中的第2、3两种合为一个状态,这样就变成了3中状态,减小了延迟和能耗)。3. 针对上边的第三点问题,用双端驱动代替单端驱动,这样处于接近电源驱动的区域就增多了,并且可以根据快慢在驱动层中区分硬件上的快慢区域,来合理使用。 半层次化的语义存储体系结构 华中科大华宇教授的报告,讲了一种” 半层次化的语义存储体系结构 “,希望将原来的存储结构(比如文件系统的目录结构)转为一种多标签的索引结构。 背景: 存储有5个趋势,分别是更大规模、智能化、一体化(计算和存储更近)、长期化和边缘化(雾计算,临近计算等)。 问题: 存储的层次化越来越明显,同时新兴的存储期间很多(PCM、SSD、DRAM、3D Xpoint……);NVM能缓解存储的压力,但是由于寿命等问题无法从根本上解决问题;对于文件系统来说,查找树不是太高就是太胖;locality的设计思想是用稀缺资源存储最热的数据,但目前的大趋势是locality正在减小;cache的适应能力弱,比如需要较强时间的预热,代价很高。 解决思路: 用语义存储带起当前的存储模式,例如:文件系统中使用扁平化的树结构,一个文件同时贴上(识别出)多种标签;有了这种模式,非精确dedulication中可以在关联数据间进行,提升效率;近似图像语义间的dedupe;data cube是对于高维查找提前做出计算的一种方法,如果基于语义,可以缩小计算范围。 数据中心驱动下KV系统的设计和实现 德州大学阿灵顿分校的Song Jiang教授主要讲了KV系统的缓存问题。 问题: 由于在分布式存储中,所有的访问都要经过metadata server(MDS),所以MDS是一个瓶颈,应用Key-Value(KV)系统就是取消了MDS的一种解决方案。KV系统是需要缓存的,怎么更高效的利用有限的缓存空间是一个问题。 思路: 可以使用更好的缓存数据替换算法,但是并没有效果太好的;可以提升内存容量,但是这会直接导致成本上升;可以利用压缩提升缓存利用率,但是解压和压缩也会导致很大的性能下降。 方法: 对实际访问trace数据分析发现,随着缓存空间的增长,缓存命中率上升到80%是很快的,但从80%上升到90%则需要更多的内存,基于这点,将cache分级,最热的数据不进行压缩,对并非太热的数据进行压缩,这就很好的平衡了压缩解压缩的延迟和缓存的利用率问题。 对于这种方法,还有一个解释,就是对cache命中,即使要进行解压缩操作,时间也远远小于访问存储服务器进行磁盘访问,这样,即使缓存利用率提升了5%,也可能带来很大的性能提升效果。Song教授解释的意思是,由于磁盘访问的速度特别慢,在命中率从90%提升到95%的情况下,更应该看到的是未命中率降低了一半(10%–>5%),而不是命中率提升了很少(90%->95%) 其他 清华的陆游游博士介绍了NVM+RDMA的分布式存储方案,有了RDMA,CPU传送所有数据的等待时间减小到传送存储地址的时间。 华科博士生左鹏飞提出了一种基于位置分享的解决哈希冲突的策略,用于NVM系统。 上海交大的博士生董明凯介绍了他发表在ATC 17上的文章Soft Updates Made Simple and […]

今天,老师给实验室发的邮件中有一条建议说,我们应该将工作数据任何时候都保存多于一份,来避免丢失: 在该页面还有一个同步软件,请一并下载,使用该软件每天将工作文件夹分别同步到U盘(或移动硬盘)和电脑硬盘中,保证任何时候都有至少两份,因为目前的设备特别是硬盘容易损坏,避免关键数据丢失 其实说到这个问题,我也有一很多相关的想法,找不到人去说,干脆写个博客吧,反正微博那么短,也不适合我叨叨。。。 多份好于一份 对于重要信息,放到电脑里就安全了吗?当然不是,设想最极端的情况,你的电脑被人偷走了。。。 好吧,那我放一份到移动硬盘里怎么样?再设想一种情况:你去某个地方需要带电脑和移动硬盘,你把移动硬盘和笔记本电脑放在了一个书包里,你的书包被人偷走了。。。 我的做法:把重要信息存到电脑一份、存到移动硬盘一份,再存到某个网盘一份(上传前最好加密,对于代码工程还可以开源到github)。 数据的历史 有些数据是慢慢变化的,比如毕业论文、代码文件等,它们都在不断改进、增删。有时候,我们想找回几分钟前删除的一段文字/代码,但是发现删除之后已经点了保存键,岂不是追悔莫及? 我的做法:为了留有余地,对于论文等文字创作,每隔完成一次重要的创作,都存一次副本;对于代码文件,没做一次可行的修改,就用git系统进行一次commit。甚至如果对于论文,也可以使用git进行版本控制,我还曾经想过用git保存我的minecraft游戏存档,一边我可以随时在“我的世界”里进行“时光穿梭”。。。 控制权应该在我手中 这点是还不能令我完全睡好觉的一个点。 社交网络 例如,我从10年左右,就注册了微博,然后现在微博两千多条了,可是新浪微博却无法导出我的所有微博(除非用手去复制粘贴或用爬虫强行去扒),类似的当然还有朋友圈或者qq空间,这些可都是没有导出功能的。 然而,和新浪微博相比,twitter就可以下载自己所发过的所有推文,仅此一点,微博在我心中就无法和twitter相比。 我的做法:对于只能在墙中生活的我,不找到一个好点的爬虫爬下我发过的大部分微博,我是完全无法睡个好觉的,谁知道微博哪天会倒闭(或是微博的数据库管理员哪天会突然删数据库跑路?) 聊天记录 最容易想到的,手机QQ是无法导出聊天记录的,电脑qq和微信虽然能,但是一定要再导进软件才能看,所以如果哪天腾讯倒闭了,可能聊天记录就再也回不来了,而这些记录里面可能有重要的信息。 我的想法:虽然暂时摆脱不了腾讯qq和微信的“魔爪”,但是我还是认为邮件是比较可靠的,它有开方的协议,而且方便随时下载保存本地。 引申 数据越来越重要,我们不希望重要数据的丢失,就像不希望丢钱一样。对于金钱来说,它是无法像数据一样进行复制的,放在手里可能被偷,放在股市可能赔死,放在银行还可能倒闭;但是数据可以有副本。也就是说数据的安全相对于财产的安全,更容易让我们睡好觉。想到这里,我不禁又想到了比特币。。。