使数据中心更节能
大多数现代网站将数据存储在数据库中,由于数据库查询相对较慢,大多数网站还维护所谓的缓存服务器,该服务器列出常见查询的结果,以便更快地访问。一个主要的Web服务(如谷歌或脸谱网)的数据中心可能有多达1000台服务器专门用于缓存。
缓存服务器通常使用随机存取存储器(RAM),它速度快但价格昂贵,耗电量大。本周,在非常大的数据库的国际会议上,来自麻省理工学院的计算机科学与人工智能实验室的研究人员(CSAIL)提出一个新的数据中心,而是使用闪存的缓存系统,用于大多数智能手机内存类。SMT贴片加工
每千兆字节的内存,闪存耗电约5%为RAM和成本的十分之一倍多的能量。它也有大约100倍的存储密度,这意味着更多的数据可以塞进一个更小的空间。除了降低成本和减少功耗之外,闪存缓存系统还可以大大减少数据中心所需的缓存服务器的数量。
Flash的缺点是它比ram慢得多。“这是在怀疑的时候,”Arvind说,在计算机科学工程和会议论文的高级作者查尔斯和Jennifer Johnson教授。人们说,’真的吗?你能用闪存做这个吗?闪存中的访问时间是DRAM动态RAM的10000倍。
但相对于DRAM来说,速度较慢,闪存的速度远比人们对新感觉刺激的反应快得多。用户不会注意到需要处理0002秒的请求之间的差异——一个典型的因特网往返旅行时间——以及一个需要0004秒的时间,因为它涉及到一个flash查询。
保持步伐
更重要的是跟上数据中心的请求。研究者系统的成员,被称为bluecache,并利用普通计算机科学技术的“流水线”,一个基于闪存的缓存服务器返回第一个查询结果达到它之前,它就可以执行10000个查询。第一个查询可能需要200微秒来处理,但是对后续查询的响应将以02微秒的间隔出现。
即使使用流水线,然而,研究人员已经部署了著名的一些聪明的工程技巧使闪存缓存DRAM缓存竞争。在试验中,他们比较bluecache什么可以被称为一个基于闪存的缓存服务器的默认实现,这是一个简单的数据中心数据库服务器配置为缓存。(虽然速度比DRAM、Flash是比磁硬盘驱动器,它几乎已经取代了数据中心。)bluecache 4.2倍的默认实现。
在本文第一作者加入Arvind硕涛旭和他的同事麻省理工学院毕业的学生在电气工程和计算机科学相宇俊;明柳,谁是美国麻省理工学院毕业的学生在工作完成了,现在是微软的研究;Sungjin Lee,助理教授计算机科学与工程学院在大邱庆尚北道科技学院在韩国,从事这项工程在Arvind实验室的博士后;Jamey Hicks,一个自由软件架构师和麻省理工学院附属谁运行软件加速技术咨询
研究人员的第一个方法是添加一个小的DRAM每bluecache闪存缓存几兆万兆的闪光。DRAM存储一个表,该表将数据库查询与相应查询结果的闪存地址相关联。这并不使高速缓存查找更快,但它使缓存检测错过数据尚未导入缓存识别更有效。
那一点点DRAM不会损害系统的能量节省。事实上,因为所有的附加效率,bluecache消耗只有4%作为默认的实现大功率。
工程效率
通常,缓存系统只有三个操作:从缓存中读取一个值,向缓存写入一个新值,以及从缓存中删除一个值。徐不依赖于软件来执行这些操作,正如默认实现一样,他为每一个开发了专用硬件电路,提高了速度,降低了功耗。
一个bluecache服务器内,闪存连接到中央处理器的线称为“总线”,像任何数据连接,有一个最大容量。bluecache积累足够的查询,然后将它们发送到内存容量排气,确保系统始终使用的通信带宽尽可能有效。
所有这些优化,bluecache能够执行写操作,有效地作为一个DRAM为基础的系统。如果每个查询结果的检索至少是八字节,在读操作是有效的,以及。(因为闪存的回报至少八字节的任何请求,数据的效率下降很小的查询结果。)
bluecache,像大多数数据中心缓存系统,是一个所谓的键值存储,存储或千伏。在这种情况下,键是数据库查询,值是响应。
“基于Flash的KV存储体系结构由Arvind和他的团队解决了许多的限制,今天的企业系统利用Flash的全部潜能的能力的问题,”Vijay Balakrishnan说,在三星半导体存储器解决方案实验室”这类系统的生存能力超出了缓存的数据中心的性能和生态系统的项目主管,因为许多数据密集型应用程序使用一个基于千伏的软件栈,其中麻省理工学院的研究小组已经证明可以消除。通过将可编程芯片与Flash集成并重写软件堆栈,他们已经证明了一种完全可伸缩的、性能增强的存储技术,如本文所描述的那样,可以极大地改进现有体系结构。