RAMClouds 讨论

  • James Vastbinder
  • 张龙

2011 年 1 月 5 日

话题:架构云计算DevOps语言 & 开发AI

从 2008 年初开始,研究人员和技术专家就开始谈论通过 In Memory Data Grids(IMGD)使用 DRAM 来扩展高性能存储的可能。2008 年 6 月,Steven Robbins 认为这将成为一个热门话题。现在,这场讨论的进展如何呢?

在众多的支持者当中,来自斯坦福的 John Ousterhout 是最为知名的一个,他是“The Case for RAMClouds: Scalable High-Performance Storage Entirely in DRAM”一书的作者。众多支持者认为使用磁盘存储在线数据会产生很多问题,无法实现优雅地可伸缩性,而磁盘容量也会不断膨胀——访问延迟与带宽并非协调一致。

为了解决这个问题,基本想法就是将在线数据从磁盘迁移到 DRAM 上,从而在磁盘之上创建一种新式存储。目前,斯坦福是RAMCloud 项目的大本营,他们正基于 Ousterhout 最初的论文来构建开源实现并运行在 Linux/Unix 之上。

目前提出的集群包含了 40 个节点,构建在常用硬件之上,配有 24——32GB 的 RAM、CPU 以及磁盘,每个节点的费用是 $2000——$2500。其意图在于提供一种持久化和可用的解决方案,目标如下:

  • 每个服务器每秒能够承受 1M 个操作
  • 低延迟访问:5——10 微秒的 RPC
  • 所有数据都位于 RAM 中
  • 多租期
  • 自动化管理
  • 为数据中心存储

反对声

但对手却并不这么认为,Jeff Darcy 发出了自己的声音:

有这样一个简单的事实:使用可靠 OS 缓存来处理大多数请求的真正的数据存储系统肯定会打败只使用内存、将磁盘当作是事后处理的系统。前者表现很好,对于数据保护来说具有更棒的反应。它可以处理整个数据中心电源断电以及单个服务器故障的情况。我们可以凭借它实现完整的备份与兼容性,而这是真正的数据管理策略的重要组成部分。这并非意味着在任何时间、任何地点,某种分类都会优于另一种分类,但所有这些数据查询算法都已经在真正的存储系统中实现出来了。想要成为真正存储的是 IMDG,而不是其他方式。

随后,Murat Demirbas 在他最近发布的 The Case for RAMClouds 中提到

我认为这篇论文中并没有恰当地考虑到花费与尺寸的发展趋势。在从延迟与带宽的发展趋势中获益之前还有几个研究挑战需要我们面对。因此,我认为 RAMCloud 现在并非是最具效率的,以后也不太可能。

小结

过去 30 年间,磁盘延迟只得到了 2 倍的提升,从 20ms 减少到了 10ms。这是个非常棘手的难题,但 RAMCloud 项目仅仅关注于这一点,将可伸缩性与非常低的访问延迟组合到了一起。如果成功,那么开发者们可以凭借该项目充分使用 Internet 上的大量信息,同时该项目还会对数据库与存储领域的研究起到很大的帮助作用。

查看英文原文:Making the Case for RAMClouds

架构云计算DevOps语言 & 开发AI