在当今的时代下,固态硬盘已成为企业中的热门技术。但斯坦福大学的计算机科学团队认为有更好的解决方案。他们已经想出了可扩展且高性能的存储方法,其被称为RAMCloud。这种解决方案可存储动态随机存储器中的所有数据。同时还可以聚合整个数据中心的内存资源。
RAMCloud的可扩展性和性能方面表现使它成为高性能计算的关键技术。特别是数据密集型的应用程序,而此技术在计算密集型的应用程序则表现一般。
相对于RAMCloud 磁盘和闪存的速度都已显得力不从心
RAMCloud项目由斯坦福大学教授John Ousterhout发起。同时他也是Tcl脚本语言的发明者。他还是Electric Cloud公司的董事长,Electric Cloud公司成立于2002年,其主要业务是提供高性能软件构件工具。Ousterhout在高性能计算领域进行了深入的研究,并对分布式文件系统和高性能文件系统有所研究。简而言之,RAMCloud是在数据中心或集群的大量服务器中汇集在内存中所有应用程序数据的软件平台。RAMCloud可提供比基于磁盘存储低100-1000倍延迟和比以往高100-1000倍的吞吐量。
研究人员相信目前的所依赖的硬盘技术将不足以应对数据密集型应用,这个趋势正在蔓延到企业计算的各个方面。研究人员还在文章中宣布如果RAMCloud成功,它将会取代磁盘从而作为数据中心主要的存储技术。
RAMCloud的两个最吸引人的特性是能够扩展到数以千计的服务器并能够保持极低的延迟。
RAMCloud的延迟可低至5-10微秒。这比传统磁盘快1000倍,比闪存要快5倍左右。研究人员表示RAMCloud的低延迟特性对于对低延迟有苛刻要求的Web的应用来说都有些显得性能过剩。但还是应该鼓励这种技术的发展,这会带来巨大的性能优势。同时对于一些高性能计算(HPC)应用,RAMCloud的低延迟特性则显得如鱼得水。
但网络延迟对RAMCloud低延迟优势的影响也是不可回避的问题。虽然像InfiniBand、Myrinet和Arista等高性能以太网厂商可实现跨数据中心10微秒延迟数据传输。但今天大多数设备采用的TCP/IP以太网的延迟达到了300-500微秒。网络延迟方面的优化是RAMCloud性能最大化的关键因素。
至于可扩展方面,研究人员认为使用当下的商用服务器和存储技术RAMCloud的规模可高达500TB。在未来5-10年RAMCloud的成本可能会降到每GB 5美元,并且规模可达到1-10PB。
图表代表三种存储技术在不同大小数据集和不同访问频率的成本(斯坦福大学计算机科学系绘制)
但在当今的市场,RAMCloud存储成本为每GB 60美元左右。DRAM系统的相对于磁盘和固态存储来说还是略显昂贵的。DRAM存储系统比传统的磁盘的价格贵50-100倍,比闪存贵5-10倍。但对于高吞吐量I/O应用DRAM还是能够体现其价值的。研究人员表示如果你的代码执行速度够快,你就可以突破存储数据访问的约束。从这个角度看DRAM其实比比传统硬盘价格低10-100倍。
这项技术也不可避免的面临一些问题,包括精确的数据模型和API、如何优化远程调用延迟、数据持久型和可用性、集群管理、多租户的应用、以及支持原子更新等技术还在摸索中。然而,这些都是可以解决的问题。
随着数据中心的扩展建设,未来将会浮现出越来越多的数据密集型应用。这为RAMCloud的普及奠定了基础。现在还没有一个RAMCloud项目变成商业产品的时间表。不过Ousterhout在Electric Cloud的经验可帮助RAMCloud尽快在商业领域中应用。