就高速数据处理而论,RAM通常用于存储正在使用的数据,它比从传统磁盘提取数据的速度要快数万倍,比NAND闪存的速度也快很多倍。
而麻省理工学院(MIT)研究人员构建了一个服务器网络证明——对于大数据应用,闪存和RAM一样快,而且便宜很多。
在这个大数据时代,海量数据集用于揭示千百万人的购买趋势或预测还有基于千万个数据点的金融市场趋势,单一电脑的RAM是无法负荷的。
例如,处理一个人的基因组的数据,需要40到100台标准计算机。而另一个可选项NAND闪存,它的价格大约是RAM的十分之一,消耗功率也是它的十分之一。上个月,在计算机体系结构国际会议(International Symposium on Computer Architecture)上,麻省理工学院研究人员展示了一个新的系统,证实闪存和传统RAM一样高效,而且还能降低功率和硬件成本。
“比如,我们需要购买一个系统来处理10TB大的数据集。在DRAM中处理它,假设服务器有100GB内存的DRAM,我们就需要一组大约100台电脑集群。” Arvind Mithal,麻省理工学院计算机科学与工程约翰逊讲座教授在邮件中回复说,“这样一个集群创建需要大约400000美元。”
每一台服务器连接到一个可模拟不同电路的现场可编程网关阵列(field-programmable gate array或FPGA),每一个FPGA依次连接到2个500GB的闪存芯片和2个其他距离最近的FPGA。
因为彼此相互连接,FPGA成为了一个快速网络,允许任何服务器从每一个闪存驱动器存取数据,而这些FPGA也能控制闪存驱动器。
Arvind还表示,同样在闪存中处理10TB数据集,只需要10台电脑——每台需要1TB闪存容量。即便包括基于FPGA加速器硬件成本,这个系统的总成本也不会超过大概70000美元。“如果我们考虑到基于闪存的系统中,每一台服务器上不需要同样多的DRAM这个事实,价格可能还会进一步降低。” Arvind称,“如果我们使用配置较少DRAM的低端服务器,该系统花费大约是40000美元。”
而维护一个基于闪存的系统费用显然更便宜,他继续说道,因为闪存比DRAM消耗更小的功率并且所需的服务器也相对较少。就算将闪存和FPGA加速器因素的额外功耗也算在内,麻省理工学院的服务器网络标准显示闪存存储设备也仅仅是增加了大约10%的功耗到整个系统。
实际上,即使没有他们的新网络结构,研究人员指出如果做分布式计算的服务器使用磁盘驱动器来获取数据只需要该时间的5%,和使用闪存时的性能相同。
例如,配置10TB RAM的40台服务器处理一个10.5TB的计算,也不比配置20TB闪存的20台服务器快。而闪存不但成本较少,也只损耗一小部分功率。
通过将服务器的一些计算能力移到闪存驱动器的控制芯片上,研究人员就能制作一个可与基于RAM服务器媲美的20台基于闪存的服务器网络。
他们在将数据传递回服务器之前,使用闪存驱动器对其进行预处理,增大了分布式计算的效率。
“这并非是要取代DRAM之类的东西。” Arvind表示,他和一组研究生和研究员在广达电脑公司完成了这项工作。该调查表明可能有许多应用能够取代RAM,而且使用一个基于闪存的电脑架构费用较低。
“每一个人都在实验闪存的不同方面。我们只是尝试从另一个角度着手。” Arvind如是说。